Digital Design Using VHDL: Using Xilinx'S Tool For Synthesis and Modelsim For Verification Part (Iv)
Digital Design Using VHDL: Using Xilinx'S Tool For Synthesis and Modelsim For Verification Part (Iv)
Using Xilinxs Tool for Synthesis and ModelSim for Verification Part (IV) Ahmed Abu-Hajar, Ph.D. abuhajar@digitavid.net Digitavid, Inc San Jose, CA
Delay Moding
VHDL support delay modeling for signals only but not variables. Two types of delay modeling are supported in VHDL: Inertia Delay: The new assigned value will take place, if the signal value is persistence for the specified delay time Transport Delay: The assigned values will take place after the delay. Time Delay Modeling is used for simulation Only to MIMIC or simulate actual circuits. Example
Sequential Circuits
Sequential Circuits: The output has a feedback path to the input. The output of the present cycle or time is the input of the next time. The output occurs in sequence. Sequential primitives: Latches, Flipflops, Registers, Counters, RAMS
Combinational
Sequential
Sequential Circuit
Architecture Behavioral of my_reg is begin data_out <= B"0000_0000" after 10ns when res = '1' else data_in after 20ns when (load ='1' and rising_edge(clk)); End Behavioral;
D Latch
Logic
D Latch
In VHDL states assignment may be of enumeration type for minimum number of latches, but it can be an array of bits for other type of assignments. There are several VHDL coding styles to support FSM Most popular and robust for synthesis is the Two Process FSM One process is used to design the combinational logic circuit, and the other one to code the next state assignment (Latches).
Input PS Combinational Process Output (Mealy Machine) NS
NS Clock
1 State0 0 1/0 0
0
0 0 State1 0 1
State2 0
when state3 => valid_i<='1'; if(input = '0') then N_state <= state1; else N_state <= state2; end if; when others => valid_i<= '0'; N_state <= state0; end case; end if; end process comb_process; end Behavioral;
Register
Gate
Transistor
Register
Gate
Transistor
Specification System
b
Sub-system
32
Register
Add 64
Gate
Mult
Transistor
Register
Gate
Transistor