--- WARNING CS0 and WE0 are screwed up, corected by swapping the asignments..!

Size: px
Start display at page:

Download "--- WARNING CS0 and WE0 are screwed up, corected by swapping the asignments..!"

Transcription

1 ---- TOPLEVEL NAME : toplevel.vhd DESCRIPTION : The Toplevel of the project NOTES : REVISION HISTORY : Date Programmer Description /3/1999 Mustafa Dagtekin Finalized WARNING CS0 and WE0 are screwed up, corected by swapping the asignments..! Toplevel of the FPGA modules library ieee use ieee.std_logic_1164.all use IEEE.STD_Logic_unsigned.all use IEEE.STD_Logic_arith.all use work.all Signal Declarations entity toplevel is port ( clock reset -- input signals for video mode registers pci_data_in : in std_logic_vector(19 downto 0 pci_vmr_select : in std_logic_vector(1 downto 0 -- inputs to address decoder pci_cs pci_write pci_write_backup pci_read pci_read_backup pci_wr la : in std_logic_vector(24 downto output signals from controller & address_decoder ff_enable : out std_logic_vector(18 downto 0 cs_mem : out std_logic_vector(3 downto 0 oe_mem : out std_logic_vector(3 downto 0 we_mem : out std_logic_vector(3 downto 0 --freeze ---TEST LINE -- output signals from sync_generator

2 HSync_Out HBlank VSync_Out VBlank blank sync_out --buffer_no --TEST LINE --output signals from delayed blank d_blank d_sync end toplevel -- output of address generator address : out std_logic_vector(19 downto 0) architecture rtl of toplevel is Component Declarations component sync_gen port ( clock reset_sync load_vmr HSon : in std_logic_vector (4 downto 0) HSoff : in std_logic_vector (7 downto 0) HBoff : in std_logic_vector (8 downto 0) LineLength : in std_logic_vector (10 downto 0 VBon : in std_logic_vector (9 downto 0) VSon : in std_logic_vector (9 downto 0) VSoff : in std_logic_vector (9 downto 0) FrameSize : in std_logic_vector (9 downto 0) HSync HBlank VSync VBlank blank sync buffer_no reset_address : out std_logic end component component controller port ( clock reset blank buffer_no pci_cs pci_write pci_read pci_wr

3 pci_on freeze_on la : in std_logic_vector (24 downto 22 reset_sync ff_enable : out std_logic_vector(18 downto 0 cs_mem : out std_logic_vector(3 downto 0 oe_mem : out std_logic_vector(3 downto 0 we_mem : out std_logic_vector(3 downto 0 load_vmr_out : out std_logic -- freeze : out std_logic ---test line!! end component component address_counter port ( clock reset_address disable_address address : out std_logic_vector(19 downto 0) end component component vmr port ( clock reset load_vmr pci_data_in : in std_logic_vector(19 downto 0 pci_vmr_select : in std_logic_vector(1 downto 0 HSon : out std_logic_vector (4 downto 0 HSoff : out std_logic_vector (7 downto 0 HBoff : out std_logic_vector (8 downto 0 LineLength : out std_logic_vector (10 downto 0 VBon : out std_logic_vector (9 downto 0 VSon : out std_logic_vector (9 downto 0 VSoff : out std_logic_vector (9 downto 0 FrameSize : out std_logic_vector (9 downto 0 pci_on freeze_on : out std_logic end component component delayed_blank port ( clock reset blank sync d_blank d_sync end component : out std_logic signal reset_sync signal buffer_no_sig signal reset_address signal blank_int signal sync_int signal VBlank_int signal VSync signal HSync signal load_vmr signal HSon : std_logic_vector (4 downto 0 signal HSoff : std_logic_vector (7 downto 0 signal HBoff : std_logic_vector (8 downto 0 signal LineLength : std_logic_vector (10 downto 0

4 signal VBon : std_logic_vector (9 downto 0 signal VSon : std_logic_vector (9 downto 0 signal VSoff : std_logic_vector (9 downto 0 signal FrameSize : std_logic_vector (9 downto 0 signal interlaced_bit signal pci_on signal freeze_on blank <= VBlank_int VBlank <= blank_int -- sync <= sync_int sync_out <= not sync_int VSync_Out <= not VSync HSync_Out <= not HSync -- address(0) <= interlaced_bit -- buffer_no <= buffer_no_sig Component Instantiations sync_i: sync_gen port map ( clock => clock, reset_sync => reset_sync, load_vmr => load_vmr, HSon => HSon, HSoff => HSoff, HBoff => HBoff, LineLength => LineLength, VBon => VBon, VSon => VSon, VSoff => VSoff, FrameSize => FrameSize, HSync => HSync, HBlank => HBlank, VSync => VSync, VBlank => VBlank_int, blank => blank_int, sync => sync_int, buffer_no => buffer_no_sig, reset_address => reset_address ctrl_i: controller port map ( clock => clock, reset => reset, blank => blank_int, buffer_no => buffer_no_sig, pci_cs => pci_cs, pci_write => pci_write, pci_read => pci_read, pci_wr => pci_wr, pci_on => pci_on, freeze_on => freeze_on, la => la, reset_sync => reset_sync, ff_enable => ff_enable, cs_mem => cs_mem, oe_mem => oe_mem, we_mem => we_mem, load_vmr_out => load_vmr -- freeze => freeze addr_i: address_counter port map ( clock => clock,

5 reset_address => reset_address, disable_address => blank_int, address => address(19 downto 0) vmr_i : vmr port map ( clock, reset, load_vmr, pci_data_in, pci_vmr_select, HSon, HSoff, HBoff, LineLength, VBon, VSon, VSoff, FrameSize, pci_on, freeze_on delayed_blank_i: delayed_blank port map ( clock, reset, blank_int, sync_int, d_blank, d_sync end rtl

6 ---- CONTROLLER NAME : controller.vhd DESCRIPTION : The controller and the address decoder NOTES : REVISION HISTORY : Date Programmer Description /3/1999 Mustafa Dagtekin Finalized -- library ieee use ieee.std_logic_1164.all use IEEE.STD_Logic_unsigned.all use IEEE.STD_Logic_arith.all use work.all Signal Declarations entity controller is! ---! --- port ( clock reset blank buffer_no pci_cs pci_write pci_read -- read/write signals seperate!! -- read/write signals seperate!! pci_wr pci_on freeze_on --to set the freeze frame mode! la : in std_logic_vector (24 downto 22 reset_sync ff_enable : out std_logic_vector(18 downto 0 cs_mem : out std_logic_vector(3 downto 0 oe_mem : out std_logic_vector(3 downto 0 we_mem : out std_logic_vector(3 downto 0 load_vmr_out : out std_logic -- freeze : out std_logic --TEST!!!! end controller architecture behaviour of controller is type states is (reset_state, mode2, blank_state, mode3, freeze_frame signal CurrentState, NextState : states --signal rw_mem : std_logic_vector(3 downto 0 signal merged : std_logic_vector(30 downto 0 signal cont_ffen: std_logic_vector(8 downto 0

7 signal cont_cs : std_logic_vector(3 downto 0 signal cont_oe : std_logic_vector(3 downto 0 signal cont_we_int : std_logic_vector(3 downto 0 signal cont_we : std_logic_vector(3 downto 0 signal ad_ffen : std_logic_vector(9 downto 0 signal ad_cs : std_logic_vector(3 downto 0 signal ad_oe : std_logic_vector(3 downto 0 signal ad_we : std_logic_vector(3 downto 0 signal ad_out : std_logic_vector(3 downto 0 signal load_vmr cont: process ( CurrentState, blank, buffer_no, freeze_on) case CurrentState is when reset_state => reset_sync <= 0 cont_ffen <= " " cont_cs <= "1111" cont_oe <= "1111" cont_we_int <= "1111" NextState <= blank_state when mode2 => reset_sync <= 1 cont_ffen <= " " --0,3,9,12,15 cont_cs <= "0000" cont_oe <= "0001" cont_we_int <= "1110" when mode3 => if (freeze_on = 1 ) then Nextstate <= freeze_frame elsif (blank= 1 ) then NextState <= blank_state NextState <= mode2 reset_sync <= 1 cont_ffen <= " " --2,5,8,12,14 cont_cs <= "0000" cont_oe <= "0010" cont_we_int <= "1101" if (freeze_on = 1 ) then Nextstate <= freeze_frame elsif (blank= 1 ) then NextState <= blank_state NextState <= mode3

8 when blank_state => reset_sync <= 1 cont_ffen <= " " cont_cs <= "1111" cont_oe <= "1111" cont_we_int <= "1111" if (blank= 1 ) then NextState <= blank_state elsif (freeze_on = 1 ) then Nextstate <= freeze_frame elsif (buffer_no = 1 ) then NextState <= mode3 NextState <= mode2 when freeze_frame => reset_sync <= 1 cont_ffen <= " " cont_cs <= "0010" cont_oe <= "0010" cont_we_int <= "1111" if (blank= 1 ) then NextState <= blank_state NextState <= freeze_frame when others => end case end process cont reset_sync <= 0 cont_ffen <= " " cont_cs <= "1111" cont_oe <= "1111" cont_we_int <= "1111" NextState <= reset_state st: process (clock,reset) if (reset= 0 ) then CurrentState <= reset_state if clock EVENT and clock= 1 then CurrentState <= NextState end process st -- cont_oe <= not rw_mem cont_we(3 downto 2) <= cont_we_int(3 downto 2 -- write enable! cont_we(1) <= cont_we_int(1) or clock cont_we(0) <= cont_we_int(0) or clock

9 addr: process (la) case la is -- video mode registers when "101" => ad_out <= "1111" load_vmr <= 1 -- lookup table when "001" => ad_out <= "0111" -- 13, 16! load_vmr <= 0 -- pointer memory when "010" => ad_out <= "1011" -- 10, 11! load_vmr <= 0 -- VR1 when "011" => ad_out <= "1101" --1,4 load_vmr <= 0 -- VR2 -- lw/r must be HIGH! when "100" => ad_out <= "1110" --8,17 load_vmr <= 0 end case when others => ad_out <= "1111" load_vmr <= 0 end process addr -- the write enable for chips are "active low" but PLX generates "active high" for writes.. -- pci_wr <= not pci_wr_in --freeze <= freeze_on -- TEST LINE!!!! --ad_cs <= ad_out -- there is an error in this order, the numbers -- are not in actual order.. ad_cs(3) <= ad_out(3) or pci_cs ad_cs(2) <= ad_out(2) or pci_cs ad_cs(0) <= ad_out(1) or pci_cs ad_cs(1) <= ad_out(0) or pci_cs --ad_we <= ad_ffen(7 downto 4 ad_we(3) <= ad_ffen(7) ad_we(2) <= ad_ffen(6)

10 ad_we(0) <= ad_ffen(5) ad_we(1) <= ad_ffen(4) --ad_oe <= not ad_ffen(7 downto 4 --ad_oe <= ad_out(3 downto 0) or (pci_wr_in & pci_wr_in & pci_wr_in & pci_wr_in ad_oe(3) ad_oe(2) ad_oe(0) ad_oe(1) <= ad_out(3) or pci_read <= ad_out(2) or pci_read <= ad_out(1) or pci_read <= ad_out(0) or pci_read ad_ffen(3 downto 0) <= ad_out ad_ffen(7) <= ad_out(3) or pci_write ad_ffen(6) <= ad_out(2) or pci_write ad_ffen(5) <= ad_out(1) or pci_write ad_ffen(4) <= ad_out(0) or pci_write --ad_ffen(9 downto 8) <= not ad_ffen(5 downto 4 ad_ffen(9) <=ad_out(1) or pci_read ad_ffen(8) <=ad_out(0) or pci_read with pci_cs select merged <= cont_ffen & " " & cont_cs & cont_oe & cont_we when 1, " " & ad_ffen & ad_cs & ad_oe & ad_we when 0, (others => 1 ) when others --with pci_on select -- merged <= cont_ffen & " " & cont_cs & cont_oe & cont_we when 0, -- " " & ad_ffen & ad_cs & ad_oe & ad_we when 1, -- (others => 1 ) when others end behaviour -- to load the video mode registers we need a combinational logic -- that checks PCI_CS and PCI_WR_IN load_vmr_out <= (not pci_cs) and (not pci_write) and load_vmr ff_enable <= merged (30 downto 12 cs_mem <= merged (11 downto 8 oe_mem <= merged (7 downto 4 we_mem <= merged (3 downto 0

11 ---- ADDRESS_COUNTER NAME : address_counter.vhd DESCRIPTION : The address counter NOTES : REVISION HISTORY : Date Programmer Description /3/1999 Mustafa Dagtekin Finalized -- library ieee use ieee.std_logic_1164.all use IEEE.STD_Logic_unsigned.all use IEEE.STD_Logic_arith.all use work.all entity address_counter is port ( clock reset_address disable_address address : out std_logic_vector(19 downto 0) end address_counter architecture behaviour of address_counter is signal address_int : std_logic_vector(19 downto 0 process(clock, reset_address) if reset_address= 0 then address_int <= " " if clock EVENT and clock= 1 then end process end behaviour if disable_address = 0 then address_int <= address_int + 1 address_int <= address_int address <= address_int

12 ---- VMR NAME : vmr.vhd DESCRIPTION : The video mode registers NOTES : REVISION HISTORY : Date Programmer Description /3/1999 Mustafa Dagtekin Finalized -- library ieee use ieee.std_logic_1164.all use IEEE.STD_Logic_unsigned.all use IEEE.STD_Logic_arith.all use work.all entity vmr is end vmr port ( clock reset load_vmr pci_data_in : in std_logic_vector(19 downto 0 pci_vmr_select : in std_logic_vector(1 downto 0 HSon : out std_logic_vector (4 downto 0 HSoff : out std_logic_vector (7 downto 0 HBoff : out std_logic_vector (8 downto 0 LineLength : out std_logic_vector (10 downto 0 VBon : out std_logic_vector (9 downto 0 VSon : out std_logic_vector (9 downto 0 VSoff : out std_logic_vector (9 downto 0 FrameSize : out std_logic_vector (9 downto 0 -- this register is set when pci takes over pci_on -- freeze frame mode support! freeze_on : out std_logic architecture rtl of vmr is signal video_mode_regs : std_logic_vector(72 downto 0 signal pci_on_reg signal freeze_on_reg process(clock,reset) if (reset= 0 ) then video_mode_regs <= (others => 0 pci_on_reg <= 0 freeze_on_reg <= 0 --video_mode_regs(4 downto 0) <= "00010" --video_mode_regs(12 downto 5) <= " " --video_mode_regs(21 downto 13) <= " "

13 --video_mode_regs(32 downto 22) <= " " --video_mode_regs(42 downto 33) <= " " --video_mode_regs(52 downto 43) <= " " --video_mode_regs(62 downto 53) <= " " --video_mode_regs(72 downto 63) <= " " if clock EVENT and clock= 1 then if (load_vmr= 1 ) then case (pci_vmr_select) is when "00" => video_mode_regs(19 downto 0) <= pci_data_in when "01" => video_mode_regs(39 downto 20) <= pci_data_in when "10" => video_mode_regs(59 downto 40) <= pci_data_in when "11" => video_mode_regs(72 downto 60) <= pci_data_in(12 downto 0 pci_on_reg <= pci_data_in(13 freeze_on_reg <= pci_data_in(14 when others => video_mode_regs <= video_mode_regs pci_on_reg <= pci_on_reg freeze_on_reg <= freeze_on_reg end case video_mode_regs <= video_mode_regs pci_on_reg <= pci_on_reg freeze_on_reg <= freeze_on_reg end process HSon <= video_mode_regs(4 downto 0 HSoff <= video_mode_regs(12 downto 5 HBoff <= video_mode_regs(21 downto 13 LineLength <= video_mode_regs(32 downto 22 VBon <= video_mode_regs(42 downto 33 VSon <= video_mode_regs(52 downto 43 VSoff <= video_mode_regs(62 downto 53 FrameSize <= video_mode_regs(72 downto 63 pci_on <= pci_on_reg freeze_on <= freeze_on_reg end rtl

14 ---- SYNC_GEN NAME : sync_gen.vhd DESCRIPTION : The sync generator NOTES : REVISION HISTORY : Date Programmer Description /3/1999 Mustafa Dagtekin Finalized -- library ieee use ieee.std_logic_1164.all use IEEE.STD_Logic_unsigned.all use IEEE.STD_Logic_arith.all library lpm use lpm.lpm_components.all entity sync_gen is end sync_gen port ( clock reset_sync load_vmr HSon : in std_logic_vector (4 downto 0 HSoff : in std_logic_vector (7 downto 0 HBoff : in std_logic_vector (8 downto 0 LineLength : in std_logic_vector (10 downto 0 VBon : in std_logic_vector (9 downto 0 VSon : in std_logic_vector (9 downto 0 VSoff : in std_logic_vector (9 downto 0 FrameSize : in std_logic_vector (9 downto 0 HSync HBlank VSync VBlank blank sync buffer_no -- line : out std_logic_vector(9 downto 0) -- pixel : out std_logic_vector(10 downto 0 reset_address : out std_logic architecture behaviour of sync_gen is signal line_counter : std_logic_vector (9 downto 0) signal pixel_counter : std_logic_vector (10 downto 0) signal HSync_sig signal HBlank_sig signal VSync_sig signal VBlank_sig signal buffer_no_sig signal reset_address_sig signal comp_framesize signal comp_framesize_reg signal field

15 process(clock) if((reset_sync or load_vmr) = 0 ) then reset_address_sig <= 0 buffer_no_sig <= 0 pixel_counter <=" " line_counter <=" " HBlank_sig <= 1 HSync_sig <= 0 VBlank_sig <= 0 VSync_sig <= 0 comp_framesize_reg <= 0 field <= 0 elsif clock EVENT and clock= 1 then if (pixel_counter = LineLength) then HBlank_sig <= 1 pixel_counter <= (others => 0 sig xor field n en if(comp_framesize_reg = 1 ) then Vblank_sig <= 0 line_counter <= (others => 0 field <= not field reset_address_sig <= field buffer_no_sig <= not (buffer_no_ line_counter <= line_counter + 1 reset_address_sig <= 1 if (line_counter = VBon) then VBlank_sig <= 1 elsif (line_counter = VSon) the VSync_sig <= 1 elsif (line_counter = VSoff) th VSync_sig <= 0 VBlank_sig <= VBlank_sig VSync_sig <= VSync_sig pixel_counter <= pixel_counter + 1 if (pixel_counter = "000000"&HSon) then HSync_sig <= 1 elsif (pixel_counter = "000"&Hsoff) then HSync_sig <= 0 elsif (pixel_counter = "00"&HBoff) then HBlank_sig <= 0 HBlank_sig <= HBlank_sig HSync_sig <= HSync_sig

16 comp_framesize_reg <= comp_framesize end process --process (line_counter) if (line_counter = FrameSize) then -- comp_framesize <= comp_framesize <= end process lpm_comp_i: lpm_compare generic map (lpm_width => 10, lpm_pipeline => 1, lpm_type => l_compare ) port map ( dataa => line_counter(9 downto 0), datab => FrameSize(9 downto 0), aeb => comp_framesize, clock => clock blank <= HBlank_sig or VBlank_sig sync <= HSync_sig or VSync_sig VBlank <= VBlank_sig VSync <= VSync_sig HBlank <= HBlank_sig HSync <= HSync_sig buffer_no <= buffer_no_sig reset_address <= reset_address_sig line <= line_counter pixel <= pixel_counter end behaviour

17 ---- DELAYED_BLANK NAME : delayed_blank.vhd DESCRIPTION : This module creates the synchronization signals the DAC module NOTES : REVISION HISTORY : Date Programmer Description /3/1999 Mustafa Dagtekin Finalized -- library ieee use ieee.std_logic_1164.all use IEEE.STD_Logic_unsigned.all use IEEE.STD_Logic_arith.all use work.all entity delayed_blank is port (clock reset blank sync d_blank d_sync : out std_logic end delayed_blank architecture rtl of delayed_blank is signal int1_blank signal int1_sync process (clock, reset) if reset= 0 then int1_blank <= 0 int1_sync <= 0 --int3_blank <= 0 --int4_blank <= 0 end rtl elsif clock EVENT and clock= 1 then end process int1_blank <= not blank d_blank <= int1_blank int1_sync <= not sync d_sync <= int1_sync

18

Sequential Logic - Module 5

Sequential Logic - Module 5 Sequential Logic Module 5 Jim Duckworth, WPI 1 Latches and Flip-Flops Implemented by using signals in IF statements that are not completely specified Necessary latches or registers are inferred by the

More information

The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 2005 Homework #6 Solution

The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 2005 Homework #6 Solution 5.3(a)(2), 5.6(c)(2), 5.2(2), 8.2(2), 8.8(2) The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 25 Homework #6 Solution 5.3 (a) For the following SM chart:

More information

Tri-State Bus Implementation

Tri-State Bus Implementation Tri-State Bus Implementation Danny Mok Altera HK FAE (dmok@altera.com) Sample Code library ieee; use ieee.std_logic_1164.all; library lpm; use lpm.lpm_components.all; entity tri_bus is port (a,b : in std_logic_vector(7

More information

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents VHDL Testbench Tutorial 1 Contents 1 VHDL Testbench 2 Test Bench Syntax 3 Testbench Example: VHDL Code for Up Down Binary Counter 4 VHDL Testbench code for up down binary counter 5 Testbench Waveform for

More information

[VARIABLE declaration] BEGIN. sequential statements

[VARIABLE declaration] BEGIN. sequential statements PROCESS statement (contains sequential statements) Simple signal assignment statement

More information

Using Library Modules in VHDL Designs

Using Library Modules in VHDL Designs Using Library Modules in VHDL Designs This tutorial explains how Altera s library modules can be included in VHDL-based designs, which are implemented by using the Quartus R II software. Contents: Example

More information

Using Library Modules in VHDL Designs

Using Library Modules in VHDL Designs Using Library Modules in VHDL Designs This tutorial explains how Altera s library modules can be included in VHDL-based designs, which are implemented by using the Quartus R II software. Contents: Example

More information

Using Library Modules in VHDL Designs. 1 Introduction. For Quartus II 12.1

Using Library Modules in VHDL Designs. 1 Introduction. For Quartus II 12.1 Using Library Modules in VHDL Designs For Quartus II 12.1 1 Introduction This tutorial explains how Altera s library modules can be included in VHDL-based designs, which are implemented by using the Quartus

More information

Lab 3. Advanced VHDL

Lab 3. Advanced VHDL Lab 3 Advanced VHDL Lab 3 Advanced VHDL This lab will demonstrate many advanced VHDL techniques and how they can be used to your advantage to create efficient VHDL code. Topics include operator balancing,

More information

Summary of FPGA & VHDL

Summary of FPGA & VHDL FYS4220/9220 Summary of FPGA & VHDL Lecture #6 Jan Kenneth Bekkeng, University of Oslo - Department of Physics 16.11.2011 Curriculum (VHDL & FPGA part) Curriculum (Syllabus) defined by: Lectures Lecture6:

More information

Example 15: Moving Sprites with Flash Background

Example 15: Moving Sprites with Flash Background Displaying an Image Read from Flash Memory 95 Listing 2.5 (cont.) vga_flash_n2_top.vhd clr

More information

ECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles

ECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles ECE 448 Lecture 4 Sequential-Circuit Building Blocks Mixing Description Styles George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 4, Regular Sequential Circuit Recommended

More information

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University ECE 545 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 5.1, VHDL Process Chapter 8, Sequential

More information

VHDL in 1h. Martin Schöberl

VHDL in 1h. Martin Schöberl VHDL in 1h Martin Schöberl VHDL /= C, Java, Think in hardware All constructs run concurrent Different from software programming Forget the simulation explanation VHDL is complex We use only a small subset

More information

The University of Alabama in Huntsville ECE Department CPE Final Exam Solution Spring 2004

The University of Alabama in Huntsville ECE Department CPE Final Exam Solution Spring 2004 The University of Alabama in Huntsville ECE Department CPE 526 01 Final Exam Solution Spring 2004 1. (15 points) An old Thunderbird car has three left and three right tail lights, which flash in unique

More information

Digital Design Laboratory Lecture 2

Digital Design Laboratory Lecture 2 ECE 280 / CSE 280 Digital Design Laboratory Lecture 2 Adder Design Basic building block is a full adder Chained together as a ripple carry adder Carry lookahead adder is an other option Propagate and generate

More information

3e library declarations library IEEE; use IEEE.std_logic_1164.all;

3e library declarations library IEEE; use IEEE.std_logic_1164.all; 3e8.54 XSvhd.4Please see the VHDL program below or in the accompanying.zip file (if published by your instructor). This program was kindly written and contributed by Xilinx application engineering, but

More information

Esempio FSM Description : library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity esempiofsm is port ( clk: in STD_LOGIC; p: in STD_LOGIC; reset:

More information

EEE8076. Reconfigurable Hardware Design (coursework) Module Outline. Dr A. Bystrov Dr. E.G. Chester. Autumn

EEE8076. Reconfigurable Hardware Design (coursework) Module Outline. Dr A. Bystrov Dr. E.G. Chester. Autumn EEE8076 Reconfigurable Hardware Design (coursework) Module Outline Dr A. Bystrov Dr. E.G. Chester Autumn 2010 1 2 3 4 5 6 7 8 9 10 11 12 Altera UP2 development board, Flex EPF10K70 FPGA www.altera.com/literature/univ/upds.pdf

More information

Chapter 8 VHDL Code Examples

Chapter 8 VHDL Code Examples APPENDIX I Chapter 8 VHDL Code Examples I.1 Introduction Two example VHDL code designs are presented in Chapter 8, the first for controlling the AD7524 digital-to-analogue converter and the second for

More information

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0 Using ModelSim to Simulate Logic Circuits in VHDL Designs For Quartus II 13.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We

More information

Constructing VHDL Models with CSA

Constructing VHDL Models with CSA Constructing VHDL Models with CSA List all components (e.g., gate) inclusive propagation delays. Identify input/output signals as input/output ports. All remaining signals are internal signals. Identify

More information

In our case Dr. Johnson is setting the best practices

In our case Dr. Johnson is setting the best practices VHDL Best Practices Best Practices??? Best practices are often defined by company, toolset or device In our case Dr. Johnson is setting the best practices These rules are for Class/Lab purposes. Industry

More information

Design Problem 4 Solutions

Design Problem 4 Solutions CSE 260 Digital Computers: Organization and Logical Design Design Problem 4 Solutions Jon Turner The block diagram appears below. The controller includes a state machine with three states (normal, movecursor,

More information

Introduction to VHDL #3

Introduction to VHDL #3 ECE 322 Digital Design with VHDL Introduction to VHDL #3 Lecture 7 & 8 VHDL Modeling Styles VHDL Modeling Styles Dataflow Concurrent statements Structural Components and interconnects Behavioral (sequential)

More information

COVER SHEET: Total: Regrade Info: 2 (6 points) 3 (8 points) 4 (10 points) 8 (12 points) 6 (6 points) 7 (6 points) 9 (30 points) 10 (4 points)

COVER SHEET: Total: Regrade Info: 2 (6 points) 3 (8 points) 4 (10 points) 8 (12 points) 6 (6 points) 7 (6 points) 9 (30 points) 10 (4 points) EEL 4712 Midterm 2 Spring 2010 VERSION 1 Name: UFID: Sign your name here if you would like for your test to be returned in class: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read

More information

Design Guidelines for Using DSP Blocks

Design Guidelines for Using DSP Blocks Design Guidelines for Using DSP Blocks in the Synplify Software April 2002, ver. 1.0 Application Note 193 Introduction Altera R Stratix TM devices have dedicated digital signal processing (DSP) blocks

More information

Writing VHDL for RTL Synthesis

Writing VHDL for RTL Synthesis Writing VHDL for RTL Synthesis Stephen A. Edwards, Columbia University December 21, 2009 The name VHDL is representative of the language itself: it is a two-level acronym that stands for VHSIC Hardware

More information

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University ECE 545 Lecture 8 Data Flow Description of Combinational-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 7, Combinational Circuit Design:

More information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory Problem Set Issued: March 2, 2007 Problem Set Due: March 14, 2007 Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 Introductory Digital Systems Laboratory

More information

Design a 4 bit-adder. Then design a 4-7 decoder to show the outputs. Output Sum(4 bits) Adder. Output carry(1 bit)

Design a 4 bit-adder. Then design a 4-7 decoder to show the outputs. Output Sum(4 bits) Adder. Output carry(1 bit) Csc 343 Lab 2 Sep 28. 07 Objective: Design a 4 bit-adder. Then design a 4-7 decoder to show the outputs. Structure: Input A (4 bits) Input B (4 bit) Adder Output Sum(4 bits) Output carry(1 bit) input cin

More information

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines Algorithmic State Machine (ASM) charts FINITE STATE MACHINES (FSMs) Classification: Moore Machine:

More information

Intel FPGA Integer Arithmetic IP Cores User Guide

Intel FPGA Integer Arithmetic IP Cores User Guide Intel FPGA Integer Arithmetic IP Cores User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Intel FPGA Integer

More information

Timing in synchronous systems

Timing in synchronous systems BO 1 esign of sequential logic Outline Timing in synchronous networks Synchronous processes in VHL VHL-code that introduces latches andf flip-flops Initialization of registers Mealy- and Moore machines

More information

CPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis. Register File: An Example. Register File: An Example (cont d) Aleksandar Milenkovic

CPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis. Register File: An Example. Register File: An Example (cont d) Aleksandar Milenkovic CPE 626 Lecture 6: VHDL Synthesis Aleksandar Milenkovic http://www.ece.uah.edu/~milenka http://www.ece.uah.edu/~milenka/cpe626-04f/ milenka@ece.uah.edu Assistant Professor Electrical and Computer Engineering

More information

Sequential Statement

Sequential Statement Sequential Statement Sequential Logic Output depends not only on current input values but also on previous input values. Are building blocks of; Counters Shift registers Memories Flip flops are basic sequential

More information

DESCRIPTION OF DIGITAL CIRCUITS USING VHDL

DESCRIPTION OF DIGITAL CIRCUITS USING VHDL DESCRIPTION OF DIGITAL CIRCUITS USING VHDL Combinatinal circuits Sequential circuits Design organization. Generic design Iterative operations Authors: Luis Entrena Arrontes, Celia López, Mario García,

More information

COE Design Process Tutorial

COE Design Process Tutorial COE 758 - Design Process Tutorial I. Introduction This tutorial describes a formal design process for the creation of digital systems. The aim of this design process is to provide a systematic approach

More information

Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009

Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009 2065-15 Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis 26 October - 20 November, 2009 FPGA Architectures & VHDL Introduction to Synthesis Nizar Abdallah ACTEL Corp.2061

More information

Concurrent & Sequential Stmts. (Review)

Concurrent & Sequential Stmts. (Review) VHDL Introduction, Part II Figures in this lecture are from: Rapid Prototyping of Digital Systems, Second Edition James O. Hamblen & Michael D. Furman, Kluwer Academic Publishers, 2001, ISBN 0-7923-7439-

More information

Document Version: 0.6 Document Date: 15 April 2011 Prepared by: Y. Ermoline for ATLAS Level-1Calorimeter Trigger

Document Version: 0.6 Document Date: 15 April 2011 Prepared by: Y. Ermoline for ATLAS Level-1Calorimeter Trigger ATLAS ATL-DA-EN-0004 EDMS Id: 1100579 ATLAS TDAQ Level-1 Calorimeter Trigger VHLD guidelines Document Version: 0.6 Document Date: 15 April 2011 Prepared by: Y. Ermoline for ATLAS Level-1Calorimeter Trigger

More information

310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006

310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 310/1780-10 ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 VHDL & FPGA - Session 2 Nizar ABDALLH ACTEL Corp. 2061 Stierlin Court

More information

The VHDL Hardware Description Language

The VHDL Hardware Description Language The VHDL Hardware Description Language p. 1/? The VHDL Hardware Description Language CSEE W4840 Prof. Stephen A. Edwards Columbia University The VHDL Hardware Description Language p. 2/? Why HDLs? 1970s:

More information

Chapter 6 Combinational-Circuit Building Blocks

Chapter 6 Combinational-Circuit Building Blocks Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer

More information

Quartus Counter Example. Last updated 9/6/18

Quartus Counter Example. Last updated 9/6/18 Quartus Counter Example Last updated 9/6/18 Create a logic design from start to a DE10 implementation This example uses best design practices This example is not about creating HDL The HDL code will be

More information

Getting Started with VHDL

Getting Started with VHDL Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component Entities can be primitive objects or complex objects Architectures are associated

More information

Test Bench. Top Level Model Test Bench MUT

Test Bench. Top Level Model Test Bench MUT A test bench is usually a simulation-only model used for design verification of some other model(s) to be synthesized. A test bench is usually easier to develop than a force file when verifying the proper

More information

ECE 545 Lecture 4. Simple Testbenches. George Mason University

ECE 545 Lecture 4. Simple Testbenches. George Mason University ECE 545 Lecture 4 Simple Testbenches George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 2.2.4, Testbenches 2 Testbenches ECE 448 FPGA and ASIC Design with VHDL 3 Testbench

More information

Design Problem 5 Solutions

Design Problem 5 Solutions CS/EE 260 Digital Computers: Organization and Logical Design Design Problem 5 Solutions Jon Turner Due 5/4/04 1. (100 points) In this problem, you will implement a simple shared memory multiprocessor system

More information

CprE 583 Reconfigurable Computing

CprE 583 Reconfigurable Computing Recap 4:1 Multiplexer CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #18 VHDL for Synthesis I LIBRARY ieee

More information

Altera s Avalon Communication Fabric

Altera s Avalon Communication Fabric Altera s Avalon Communication Fabric p. 1/1 Altera s Avalon Communication Fabric Prof. Stephen A. Edwards sedwards@cs.columbia.edu Columbia University Spring 2007 Altera s Avalon Communication Fabric p.

More information

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below:

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below: Experiment-3: Write VHDL programs for the following circuits, check the wave forms and the hardware generated a. multiplexer b. De-Multiplexer Objective: i. To learn the VHDL coding for Multiplexer and

More information

Hardware Description Language VHDL (1) Introduction

Hardware Description Language VHDL (1) Introduction Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for

More information

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

More information

EECE 353: Digital Systems Design Lecture 10: Datapath Circuits

EECE 353: Digital Systems Design Lecture 10: Datapath Circuits EECE 353: Digital Systems Design Lecture 10: Datapath Circuits Cristian Grecu grecuc@ece.ubc.ca Course web site: http://courses.ece.ubc.ca/353 Introduction to lecture 10 Large digital systems are more

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 This lab exercise will show you how to create, synthesize, and test a 3-bit ripple counter. A ripple counter is simply a circuit that outputs the

More information

VHDL for FPGA Design. by : Mohamed Samy

VHDL for FPGA Design. by : Mohamed Samy VHDL for FPGA Design by : Mohamed Samy VHDL Vhdl is Case insensitive myvar = myvar = MYVAR IF = if = if Comments start with -- Comments can exist anywhere in the line Semi colon indicates the end of statements

More information

CprE 583 Reconfigurable Computing

CprE 583 Reconfigurable Computing Recap Moore FSM Example CprE / ComS 583 Reconfigurable Computing Moore FSM that recognizes sequence 10 0 1 0 1 S0 / 0 S1 / 0 1 S2 / 1 Prof. Joseph Zambreno Department of Electrical and Computer Engineering

More information

Lecture 12 VHDL Synthesis

Lecture 12 VHDL Synthesis CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?

More information

Hardware Description Languages. Modeling Complex Systems

Hardware Description Languages. Modeling Complex Systems Hardware Description Languages Modeling Complex Systems 1 Outline (Raising the Abstraction Level) The Process Statement if-then, if-then-else, if-then-elsif, case, while, for Sensitivity list Signals vs.

More information

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks. Outline CPE/EE 422/522 Advanced Logic Design L05 Electrical and Computer Engineering University of Alabama in Huntsville What we know Combinational Networks Sequential Networks: Basic Building Blocks,

More information

-- Fill in values for each generic. -- Fill in values for each signal. SIGNAL load_start : std_ulogic := '1'; SIGNAL clock : std_ulogic := '0';

-- Fill in values for each generic. -- Fill in values for each signal. SIGNAL load_start : std_ulogic := '1'; SIGNAL clock : std_ulogic := '0'; -- Fill in values for each generic -- Fill in values for each signal SIGNAL load_start : std_ulogic := '1'; SIGNAL clock : std_ulogic := '0'; SIGNAL start : std_ulogic_vector(0 TO 15) := "0000000000000000";

More information

A bird s eye view on VHDL!

A bird s eye view on VHDL! Advanced Topics on Heterogeneous System Architectures A bird s eye view on VHDL Politecnico di Milano Conference Room, Bld 20 19 November, 2015 Antonio R. Miele Marco D. Santambrogio Politecnico di Milano

More information

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes)

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes) Last (family) name: Answer Key First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Midterm

More information

Review. LIBRARY list of library names; USE library.package.object; ENTITY entity_name IS generic declarations PORT ( signal_name(s): mode signal_type;

Review. LIBRARY list of library names; USE library.package.object; ENTITY entity_name IS generic declarations PORT ( signal_name(s): mode signal_type; LIBRARY list of library names; USE library.package.object; Review ENTITY entity_name IS generic declarations PORT ( signal_name(s): mode signal_type; signal_name(s) : mode signal_type); END ENTITY entity_name;

More information

Senior Project Design Review: Internal Hardware Design of a Microcontroller in VLSI

Senior Project Design Review: Internal Hardware Design of a Microcontroller in VLSI Senior Project Design Review: Internal Hardware Design of a Microcontroller in VLSI Designers: Shreya Prasad & Heather Smith Advisor: Dr. Vinod Prasad March 11th, 2003 Presentation Outline Project summary

More information

Control and Datapath 8

Control and Datapath 8 Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system

More information

CS303 LOGIC DESIGN FINAL EXAM

CS303 LOGIC DESIGN FINAL EXAM JANUARY 2017. CS303 LOGIC DESIGN FINAL EXAM STUDENT NAME & ID: DATE: Instructions: Examination time: 100 min. Write your name and student number in the space provided above. This examination is closed

More information

Digital System Construction

Digital System Construction Digital System Construction FYSIKUM Lecture 4: More VHDL, memory, PRNG Arithmetic Memories Pipelines and buffers Pseudorandom numbers IP core generation in Vivado Introduction to Lab 3 Digital Systemkonstruktion

More information

EEL 4712 Digital Design Test 1 Spring Semester 2008

EEL 4712 Digital Design Test 1 Spring Semester 2008 IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. Also, as always, the best answer gets the most points. COVER SHEET: Problem:

More information

The University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution March 2, 2006

The University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution March 2, 2006 The University of Alabama in Huntsville ECE Department CPE 526 01 Midterm Exam Solution March 2, 2006 1. (15 points) A barrel shifter is a shift register in which the data can be shifted either by one

More information

Example 58: Traffic Lights

Example 58: Traffic Lights 208 Chapter 8 Listing 8.7(cont.) doorlock2_top.vhd btn012

More information

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language

More information

APPLICATION NOTE. A CPLD VHDL Introduction. Introduction. Overview. Entity. XAPP 105 January12, 1998 (Version 1.0) 0 4* Application Note

APPLICATION NOTE. A CPLD VHDL Introduction. Introduction. Overview. Entity. XAPP 105 January12, 1998 (Version 1.0) 0 4* Application Note 0 APPLICATION NOTE A CPLD VHDL Introduction XAPP 105 January12, 1998 Version 1.0) 0 4* Application Note Summary This introduction covers the basics of VHDL as applied to Complex Programmable Logic Devices.

More information

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language) Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable

More information

ECE 545 Lecture 12. FPGA Resources. George Mason University

ECE 545 Lecture 12. FPGA Resources. George Mason University ECE 545 Lecture 2 FPGA Resources George Mason University Recommended reading 7 Series FPGAs Configurable Logic Block: User Guide Overview Functional Details 2 What is an FPGA? Configurable Logic Blocks

More information

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.

More information

Problem Set 5 Solutions

Problem Set 5 Solutions Problem Set 5 Solutions library ieee; use ieee.std_logic_1164.all; use work.std_arith.all; -- here is the declaration of entity entity la_rewarder is port (clk, go, SRAM_busy, SRAM_rdy: in std_logic; min:

More information

Modeling Complex Behavior

Modeling Complex Behavior Modeling Complex Behavior Sudhakar Yalamanchili, Georgia Institute of Technology, 2006 (1) Outline Abstraction and the Process Statement Concurrent processes and CSAs Process event behavior and signals

More information

Altera s Avalon Communication Fabric

Altera s Avalon Communication Fabric Altera s Avalon Communication Fabric Stephen A. Edwards Columbia University Spring 2012 Altera s Avalon Bus Something like PCI on a chip Described in Altera s Avalon Memory-Mapped Interface Specification

More information

ACS College of Engineering. Department of Biomedical Engineering. Logic Design Lab pre lab questions ( ) Cycle-1

ACS College of Engineering. Department of Biomedical Engineering. Logic Design Lab pre lab questions ( ) Cycle-1 ACS College of Engineering Department of Biomedical Engineering Logic Design Lab pre lab questions (2015-2016) Cycle-1 1. What is a combinational circuit? 2. What are the various methods of simplifying

More information

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

ECE 448 Lecture 13. FPGA Memories. George Mason University

ECE 448 Lecture 13. FPGA Memories. George Mason University ECE 448 Lecture 13 FPGA Memories George Mason University Recommended reading Spartan-6 FPGA Block RAM Resources: User Guide Google search: UG383 Spartan-6 FPGA Configurable Logic Block: User Guide Google

More information

CSC / EE Digital Systems Design. Summer Sample Project Proposal 01

CSC / EE Digital Systems Design. Summer Sample Project Proposal 01 THE CATHOLIC UNIVERSITY OF AMERICA SCHOOL OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE CSC / EE 519-01 Digital Systems Design Summer 2013 Sample Project Proposal 01 Thursday

More information

Design Guidelines for Using DSP Blocks

Design Guidelines for Using DSP Blocks Design Guidelines for Using DSP Blocks in the LeonardoSpectrum Software April 2002, ver. 1.0 Application Note 194 Introduction Altera R Stratix TM devices have dedicated digital signal processing (DSP)

More information

Single-Cycle CPU VITO KLAUDIO CSC343 FALL 2015 PROF. IZIDOR GERTNER

Single-Cycle CPU VITO KLAUDIO CSC343 FALL 2015 PROF. IZIDOR GERTNER Single-Cycle CPU CSC343 FALL 2015 PROF. IZIDOR GERTNER 1 Single-Cycle CPU Table of contents 1. Objective... pg. 2 2. Functionality... pg. 3 2.1 Part I (ADD/SUB)... pg. 7 2.2 Part II (ORI & BITWISE OPERATIONS)...

More information

VHDL simulation and synthesis

VHDL simulation and synthesis VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis

More information

Lattice VHDL Training

Lattice VHDL Training Lattice Part I February 2000 1 VHDL Basic Modeling Structure February 2000 2 VHDL Design Description VHDL language describes a digital system as a set of modular blocks. Each modular block is described

More information

8 Register, Multiplexer and

8 Register, Multiplexer and 8 Register, Multiplexer and Three-State Inference HDL Compiler can infer Registers (latches and flip flops) Multiplexers Three state gates This chapter discusses methods of inferring different types of

More information

13/06/56 8 ก ก. 08-Case Study

13/06/56 8 ก ก. 08-Case Study 8 ก ก ก 1 ก 2 1 3 VHDL DIVIDER200Hz use IEEE.std_logic_1164.all; entity DIVIDER200Hz is generic (fin: integer :=25000000; --Input frequency fout: integer :=200); --Output frequency end DIVIDER200Hz; architecture

More information

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6 DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines FINITE STATE MACHINES (FSMs) Classification: Moore Machine: Outputs depend only on the current state

More information

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014 CSE 260 Introduction to Digital Logic and Computer Design Jonathan Turner Exam 1 Your name 2/13/2014 1. (10 points) Draw a logic diagram that implements the expression A(B+C)(C +D)(B+D ) directly (do not

More information

DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL

DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL Arid Zone Journal of Engineering, Technology and Environment. August, 2013; Vol. 9, 17-26 DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL Dibal, P.Y. (Department of Computer Engineering,

More information

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. Behavioral Design Style: Registers & Counters.

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. Behavioral Design Style: Registers & Counters. ECE 55 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks Required reading P. Chu, RTL Hardware esign using VHL Chapter 5.1, VHL Process Chapter 8, Sequential Circuit esign: Principle

More information

FPGA.

FPGA. CMOS TTL Verilog VHDL mshora@yahoo.com 7400. NAND CMOS TTL 1 0 source sink datasheet bounce bounce debunce RS Latch debounce Typical Characteristics NO NC Semiconductor Material Wavelength Colour V F @

More information

VHDL: A Crash Course

VHDL: A Crash Course VHDL: A Crash Course Dr. Manuel Jiménez With contributions by: Irvin Ortiz Flores Electrical and Computer Engineering Department University of Puerto Rico - Mayaguez Outline Background Program Structure

More information

EL 310 Hardware Description Languages Midterm

EL 310 Hardware Description Languages Midterm EL 3 Hardware Description Languages Midterm 2 3 4 5 Total Name: ID : Notes: ) Please answer the questions in the provided space after each question. 2) Duration is minutes 3) Closed books and closed notes.

More information

CDA 4253 FGPA System Design Xilinx FPGA Memories. Hao Zheng Comp Sci & Eng USF

CDA 4253 FGPA System Design Xilinx FPGA Memories. Hao Zheng Comp Sci & Eng USF CDA 4253 FGPA System Design Xilinx FPGA Memories Hao Zheng Comp Sci & Eng USF Xilinx 7-Series FPGA Architecture On-Chip block RAM On-Chip block RAM Distributed RAM by Logic Fabric Distributed RAM by Logic

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary

More information

Digital Systems Design

Digital Systems Design Digital Systems Design Review of Combinatorial Circuit Building Blocks: VHDL for Combinational Circuits Dr. D. J. Jackson Lecture 2-1 Introduction to VHDL Designer writes a logic circuit description in

More information