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

Legal Disclaimer

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

Legal Disclaimer

@TYH :- 4G LTE Long Term Evolution Tutorial, CloudComputing
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



architecture rtl of test is 

  signal sig_write_data : std_logic;


  Process (clk, rst)


         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;




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



architecture rtl of test is

signal sig_write_data : std_logic;

signal counter : std_logic_vector(3 downto 0);


  Process (clk, rst)


         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
Return to Verilog Tutorial
Shim Events, Trans Logic Values Signals
LTE - Long Term Evolution topics from here