Home.Verilog.Digital Design.Digital Basics.Python.RF Basics.
Previous.
Next.
Custom Search

Legal Disclaimer

Chip Designing for ASIC/ FPGA Design engineers and Students
FULLCHIPDESIGN
Digital-logic Design...  Dream for many students… start learning front-end…

Legal Disclaimer

@TYH :- 4G LTE Long Term Evolution Tutorial, CloudComputing
PICS
Verilog Tutorial.
Get Noticed:- Submit your own content to be published on fullchipdesign.com

Send it to fullchip@gmail.com

Digital Basics Tutorial.

Shim logic in digital circuits.

library IEEE;

    use IEEE.std_logic_1164.all;

    use IEEE.std_logic_arith.all;

    use IEEE.std_logic_unsigned.all;

entity test is 

    port ( 

        clk : in  STD_LOGIC;

        rst  : in  STD_LOGIC;

        wrdata_in  : in  STD_LOGIC;

        wrdata_out : out  STD_LOGIC

           ); 

end; 

architecture rtl of test is 

  signal sig_write_data : std_logic;

  begin

  Process (clk, rst)

     begin

         if (rst = '0') then 

            sig_write_data <= '0'; 

         elsif (clk'event and clk = '1') then

            sig_write_data <= wrdata_in;    

         end if;

  end process ; 

  wrdata_out <= sig_write_data;

end; 

 

 

VHDL Program to implement a shim to register data.  This registering of logic data improves timing in digital circuits.  Improvement in timing is due to termination of the timing path at the D input of the flop. In  the program below the timing path on the wrdata_in is terminated at D input flop sig_write_data.  

Program to implement synchronous counter in VHDL

library IEEE;

    use IEEE.std_logic_1164.all;

    use IEEE.std_logic_arith.all;

    use IEEE.std_logic_unsigned.all;

entity test is

    port (

        clk : in  STD_LOGIC;

        rst  : in  STD_LOGIC

            );

end;

architecture rtl of test is

signal sig_write_data : std_logic;

signal counter : std_logic_vector(3 downto 0);

begin

  Process (clk, rst)

      begin

         if (rst = '0') then

            counter <= "1111";

         elsif (clk'event and clk = '1') then

            counter <= counter + 1;           

         end if;

   end process ;

The above piece of logic is used frequently on FPGA’s to improve timing on a design when its split across multiple fpga’s.   
Synchronous counter is implemented in vhdl example below.
Interview Questions. Main, FPGA, Digital Fundamentals
PICS
Return to Verilog Tutorial
Shim Events, Trans Logic Values Signals
LTE - Long Term Evolution topics from here