CPE 626 Advanced VLSI Design Lecture 7: VHDL Synthesis

Size: px
Start display at page:

Download "CPE 626 Advanced VLSI Design Lecture 7: VHDL Synthesis"

Transcription

1 CPE 626 Lecture 7 VHDL Synthes Aleksar Milenkovic http// http// milenka@ece.uah.edu Asstant Pressor Electrical Computer Engineering Dept. University Alabama in Huntsville Design Flow Overview A. Milenkovic 2

2 Schematic Capture RTL code Carefully Select Design Hierarchy Architectural Wizards (Clocking, RocketIO) Core Generator A. Milenkovic 3 Core Generator Design tool that delivers parameterized cores optimized for Xilinx FPGAs E.g., adders, multipliers, filters, FIFOs, memories Core Generator outputs *.EDN file > EDIF (Electronic Data Interchange Format) netlt file; it includes information required to implement the module in a Xilinx FPGA *.VHO > VHDL template file; used as a model for instantiating a module in a VHDL design *.VHD > VHDL wrapper file; provides support for functional simulation A. Milenkovic 4

3 Functional Simulation Very the syntax functionality Separate simulation for each module > easier to debug When each module behaves as expected, create a test bench for entire design A. Milenkovic 5 Coding for Synthes A. Milenkovic 6

4 Avoid Ports Declared as Buffers Entity alu port( A in STD_LOGIC_VECTOR(3 B in STD_LOGIC_VECTOR(3 CLK in STD_LOGIC; C out STD_LOGIC_VECTOR(3 0) ); alu; architecture BEHAVIORAL alu -- dummy C_INT STD_LOGIC_VECTOR(3 C C_INT; process (CLK event CLK 1 ) C_INT < UNSIGNED(A) + UNSIGNED(B) + UNSIGNED(C_INT); process; BEHAVIORAL; Entity alu port( A in STD_LOGIC_VECTOR(3 B in STD_LOGIC_VECTOR(3 CLK in STD_LOGIC; C buffer STD_LOGIC_VECTOR(3 0) ); alu; architecture BEHAVIORAL alu process (CLK event CLK 1 ) C UNSIGNED(A) + UNSIGNED(B) UNSIGNED(C); process; BEHAVIORAL; A. Milenkovic 7 Signals vs. Variables for Synthes -- XOR_VAR.VHD Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity xor_var port ( A, B, C in STD_LOGIC; X, Y out STD_LOGIC ); xor_var; architecture VAR_ARCH xor_var VARprocess (A,B,C) variable D STD_LOGIC; D A; X C xor D; D B; Y C xor D; process; VAR_ARCH; A. Milenkovic 8

5 Signals vs. Variables for Synthes -- XOR_SIG.VHD Library IEEE; use IEEE.std_logic_1164.all; entity xor_sig port ( A, B, C in STD_LOGIC; X, Y out STD_LOGIC ); xor_sig; architecture SIG_ARCH xor_sig D STD_LOGIC; SIGprocess (A,B,C) D A; -- ignored!! X C xor D; D B; -- overrides!! Y C xor D; process; SIG_ARCH; A. Milenkovic 9 Guidelines for synthes VHDL/Verilog are not originally planned as languages for synthes Many HDL simulation constructs are not supported in synthes Omit wait for XX statements Omit delay statements after XX; Omit initial values Order grouping arithmetic statement can influence synthes A. Milenkovic 10

6 If Statement vs. Case Statement If statement generally produces priorityencoded logic can contain a set dferent expressions Case statement generally creates balanced logic evaluated against a common controlling expression In general, use the Case statement for complex decoding use the If statement for speed critical paths A. Milenkovic 11 MUX 4-1 Synthes -- IF_EX.VHD library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity _ex port ( SEL in STD_LOGIC_VECTOR(1 A,B,C,D in STD_LOGIC; MUX_OUT out STD_LOGIC); _ex; architecture BEHAV _ex IF_PRO process (SEL,A,B,C,D) (SEL 00 ) MUX_OUT A; els (SEL 01 ) MUX_OUT B; els (SEL 10 ) MUX_OUT C; els (SEL 11 ) MUX_OUT D; else MUX_OUT '0'; process; --END IF_PRO BEHAV; -- CASE_EX.VHD library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity case_ex port ( SEL in STD_LOGIC_VECTOR(1 A,B,C,D in STD_LOGIC; MUX_OUT out STD_LOGIC); case_ex; architecture BEHAV case_ex CASE_PRO process (SEL,A,B,C,D) case SEL when 00 > MUX_OUT A; when 01 > MUX_OUT B; when 10 > MUX_OUT C; when 11 > MUX_OUT D; when others > MUX_OUT '0'; case; process; --End CASE_PRO BEHAV; A. Milenkovic 12

7 MUX 4-1 Implementation A. Milenkovic 13 Resource Sharing An optimization that uses a single functional block (adder, multiplier, shter, ) to implement several HDL operators Pros less gates, simpler routing Cons adds extra logic levels > increase delay (avoid sharing on the critical path) A. Milenkovic 14

8 Resource Sharing VHDL Example -- RES_SHARING.VHD library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; use IEEE.std_logic_arith.all; entity res_sharing port ( A1,B1,C1,D1 in STD_LOGIC_VECTOR (7 COND_1 in STD_LOGIC; Z1 out STD_LOGIC_VECTOR (7 0)); res_sharing; architecture BEHAV res_sharing P1 process (A1,B1,C1,D1,COND_1) (COND_1 1 ) Z1 A1 + B1; else Z1 C1 + D1; process; -- P1 BEHAV; A. Milenkovic 15 Implementation W/WO Resource Sharing Enabled Dabled A. Milenkovic 16

9 Regters Asynchronous Preset/Set -- FF_EXAMPLE.VHD -- Example Implementing Regters library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity ff_example port ( RESET, SET, CLOCK, ENABLE in STD_LOGIC; D_IN in STD_LOGIC_VECTOR (7 A_Q_OUT out STD_LOGIC_VECTOR (7 B_Q_OUT out STD_LOGIC_VECTOR (7 C_Q_OUT out STD_LOGIC_VECTOR (7 D_Q_OUT out STD_LOGIC_VECTOR (7 E_Q_OUT out STD_LOGIC_VECTOR (7 0)); ff_example; architecture BEHAV ff_example -- D flip-flop FF process (CLOCK) (CLOCK event CLOCK 1 ) A_Q_OUT D_IN; process; -- End FF -- Flip-flop with asynchronous reset FF_ASYNC_RESET process (RESET, CLOCK) (RESET 1 ) B_Q_OUT ; els (CLOCK'event CLOCK B_Q_OUT D_IN; -- Flip-flop with asynchronous set FF_ASYNC_SET process (SET, CLOCK) (SET C_Q_OUT ; els (CLOCK'event CLOCK C_Q_OUT D_IN; process; -- End FF_ASYNC_SET A. Milenkovic 17 Regters Asynchronous Preset/Set -- Flip-flop with asynchronous reset -- clock enable FF_CLOCK_ENABLE process (ENABLE, RESET, CLOCK) (RESET 1 ) D_Q_OUT ; els (CLOCK'event CLOCK (ENABLE D_Q_OUT D_IN; process; -- End FF_CLOCK_ENABLE Flip-flop Flip-flop with with asynchronous asynchronous reset reset asynchronous asynchronous set set clock clock enable enable FF_ASR_CLOCK_ENABLE FF_ASR_CLOCK_ENABLE process process (ENABLE, (ENABLE, RESET, RESET, SET, SET, CLOCK) CLOCK) (RESET (RESET E_Q_OUT E_Q_OUT " "; " "; els els (SET (SET E_Q_OUT E_Q_OUT " "; " "; els els (CLOCK'event (CLOCK'event CLOCK CLOCK (ENABLE (ENABLE E_Q_OUT E_Q_OUT D_IN; D_IN; process; process; End End FF_ASR_CLOCK_ENABLE FF_ASR_CLOCK_ENABLE BEHAV; BEHAV; A. Milenkovic 18

10 Use Clock_Enable instead gated Clock -- Better implementation to use clock enable rather than gated clock library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity gate_clock port (IN1,IN2,DATA,CLK,LOAD in STD_LOGIC; OUT1 out STD_LOGIC); gate_clock; architecture BEHAVIORAL gate_clock GATECLK STD_LOGIC; GATECLK (IN1 IN2 CLK); GATE_PR process (GATECLK,DATA,LOAD) (GATECLK event GATECLK 1 ) (LOAD 1 ) OUT1 DATA; process; -- End GATE_PR BEHAVIORAL; Th implementation introduces Glitches Clock delays Clock skew A. Milenkovic 19 Use Clock Enable Instead Gated Clocks -- CLOCK_ENABLE.VHD library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity clock_enable port (IN1,IN2,DATA,CLOCK,LOAD in STD_LOGIC; DOUT out STD_LOGIC); clock_enable; architecture BEHAV clock_enable ENABLE STD_LOGIC; ENABLE IN1 IN2 LOAD; EN_PR process (ENABLE,DATA,CLOCK) (CLOCK event CLOCK 1 ) (ENABLE 1 ) DOUT DATA; process; -- End EN_PR BEHAV; A. Milenkovic 20

11 HDL Coding Techniques for Common Building Blocks Multiplication in FPGAs http// A. Milenkovic 22

12 Multiplier library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity mult port( ); mult; A in std_logic_vector(17 B in std_logic_vector(17 RES out std_logic_vector(35 0) architecture archi mult RES A * B; archi; Device utilization summary Selected Device 3s50tq144-5 Number Slices 19 out 768 2% Number 4 input LUTs 36 out % Number bonded IOBs 72 out 97 74% Number MULT18X18s 3 out 4 75% Delay ns (Levels Logic 25) A. Milenkovic 23 Inferring Pipelined Multiplier library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity multpipe generic( A_port_size integer 18; B_port_size integer 18 ); port( clk in std_logic; A in unsigned (A_port_size-1 B in unsigned (B_port_size-1 MULT out unsigned ( (A_port_size+B_port_size-1) 0)); multpipe; A. Milenkovic 24

13 Inferring Pipelined Multiplier (cont d) architecture architecture Behavioral Behavioral multpipe multpipe a_in, a_in, b_in b_in unsigned unsigned (A_port_size-1 (A_port_size-1 mult_res mult_res unsigned unsigned ( ( (A_port_size+B_port_size-1) (A_port_size+B_port_size-1) pipe_1, pipe_1, pipe_2, pipe_2, pipe_3 pipe_3 unsigned unsigned ((A_port_size+B_port_size-1) ((A_port_size+B_port_size-1) mult_res mult_res a_in a_in * * b_in; b_in; process process (clk) (clk) (clk'event (clk'event clk clk a_in a_in A; A; b_in b_in B; B; pipe_1 pipe_1 mult_res; mult_res; pipe_2 pipe_2 pipe_1; pipe_1; pipe_3 pipe_3 pipe_2; pipe_2; MULT MULT pipe_3; pipe_3; process; process; Behavioral; Behavioral; > Four pipeline stages A. Milenkovic 25 Pipelined Multiplier RTL Schematic Device utilization summary Selected Device 3s50tq144-5 Number Slices 60 out 768 7% Number Slice Flip Flops 72 out % Number 4 input LUTs 72 out % Number bonded IOBs 72 out 97 74% Number MULT18X18s 3 out 4 75% Number GCLKs 1 out 8 12% Delay 9.824ns (Levels Logic 23) A. Milenkovic 26

14 Inferring PM Alternative Description #1 architecture beh beh mult mult a_in, a_in, b_in b_in unsigned unsigned (A_port_size-1 mult_res mult_res unsigned unsigned ((A_port_size+B_port_size-1) pipe_2, pipe_2, pipe_3 pipe_3 unsigned unsigned ((A_port_size+B_port_size-1) process process (clk) (clk) (clk event (clk event clk 1 ) a_in a_in A; A; b_in b_in B; B; mult_res a_in a_in * b_in; b_in; pipe_2 pipe_2 mult_res; mult_res; pipe_3 pipe_3 pipe_2; pipe_2; MULT MULT pipe_3; pipe_3; process; process; beh; A. Milenkovic 27 Inferring PM Alternative Description #2 architecture beh beh mult mult a_in, a_in, b_in b_in unsigned unsigned (A_port_size-1 mult_res mult_res unsigned unsigned ((A_port_size+B_port_size-1) type type pipe_reg_type array array (2 (2 0) 0) unsigned unsigned ((A_port_size+B_port_size-1) pipe_regs pipe_regs pipe_reg_type; mult_res mult_res a_in a_in * b_in; b_in; process process (clk) (clk) (clk event (clk event clk 1 ) a_in a_in A; A; b_in b_in B; B; pipe_regs pipe_regs mult_res mult_res & pipe_regs(2 1); 1); MULT MULT pipe_regs( process; process; beh; A. Milenkovic 28

15 RAMs/ROMs XST fers an automatic RAM recognition Keep you HDL code technology indepent XST can infer dtributed or Block RAM Parameters Synchronous write, Write enable, RAM enable, Asynchronous or synchronous read, Reset the data output latches, Data output reset, Single, dual or multiple-port read, Single-port write A. Milenkovic 29 Dual-port Block RAM -- --Only XST XST supports supports RAM RAM inference inference -- --Infers Dual Dual Port Port Block Block Ram Ram entity entitydpblockram dpblockram port port (clk (clk in in std_logic; std_logic; we we in in std_logic; std_logic; a in in std_logic_vector(4 dpra dpra in in std_logic_vector(4 di di in in std_logic_vector(3 spo spo out out std_logic_vector(3 dpo dpo out out std_logic_vector(3 0)); dpblockram; A. Milenkovic 30

16 Dual-port Block RAM architecture architecture syn syn dpblockram dpblockram type type ram_type ram_type array array (31 (31 0) 0) std_logic_vector std_logic_vector (3 (3 RAM RAM ram_type; ram_type; read_a read_a std_logic_vector(4 std_logic_vector(4 read_dpra read_dpra std_logic_vector(4 std_logic_vector(4 process process (clk) (clk) (clk'event (clk'event clk clk (we (we RAM(conv_integer(a)) RAM(conv_integer(a)) di; di; read_a read_a a; a; read_dpra read_dpra dpra; dpra; process; process; spo spo RAM(conv_integer(read_a)); RAM(conv_integer(read_a)); dpo dpo RAM(conv_integer(read_dpra)); RAM(conv_integer(read_dpra)); syn; syn; A. Milenkovic 31 Dual-port Dtributed RAM entity entitydpdtram dpdtram port port (clk (clk in in std_logic; std_logic; we we in in std_logic; std_logic; a in in std_logic_vector(4 dpra dpra in in std_logic_vector(4 di di in in std_logic_vector(3 spo spo out out std_logic_vector(3 dpo dpo out out std_logic_vector(3 0)); dpdtram; dpdtram; A. Milenkovic 32

17 Dual-port Dtributed RAM architecture architecture syn syn dpdtram dpdtram type type ram_type ram_type array array (31 (31 0) 0) std_logic_vector std_logic_vector (3 (3 RAM RAM ram_type; ram_type; process process (clk) (clk) (clk'event (clk'event clk clk (we (we RAM(conv_integer(a)) RAM(conv_integer(a)) di; di; process; process; spo spo RAM(conv_integer(a)); RAM(conv_integer(a)); dpo dpo RAM(conv_integer(dpra)); RAM(conv_integer(dpra)); syn; syn; A. Milenkovic 33 Dual-port RAM with Enable on Each Port Write VHDL description. A. Milenkovic 34

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

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification

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

ECE 699: Lecture 9. Programmable Logic Memories

ECE 699: Lecture 9. Programmable Logic Memories ECE 699: Lecture 9 Programmable Logic Memories Recommended reading XST User Guide for Virtex-6, Spartan-6, and 7 Series Devices Chapter 7, HDL Coding Techniques Sections: RAM HDL Coding Techniques ROM

More information

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2 VHDL: Modeling RAM and Register Files Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2 Memory Synthesis Approaches: Random logic using flip-flops or latches Register files in datapaths RAM standard components

More information

ECE 545: Lecture 11. Programmable Logic Memories

ECE 545: Lecture 11. Programmable Logic Memories ECE 545: Lecture 11 Programmable Logic Memories Recommended reading Vivado Design Suite User Guide: Synthesis Chapter 4 RAM HDL Coding Techniques Initializing RAM Contents 7 Series FPGAs Memory Resources:

More information

ECE 545: Lecture 11. Programmable Logic Memories. Recommended reading. Memory Types. Memory Types. Memory Types specific to Xilinx FPGAs

ECE 545: Lecture 11. Programmable Logic Memories. Recommended reading. Memory Types. Memory Types. Memory Types specific to Xilinx FPGAs ECE 545: Lecture 11 Programmable Logic Memories Recommended reading Vivado Design Suite User Guide: Synthesis Chapter 4 RAM HDL Coding Techniques Initializing RAM Contents 7 Series FPGAs Resources: User

More information

Lecture 11 Memories in Xilinx FPGAs

Lecture 11 Memories in Xilinx FPGAs Lecture 11 Memories in Xilinx FPGAs ECE 448 FPGA and ASIC Design with VHDL Recommended reading XAPP463 Using Block RAM in Spartan-3 Generation FPGAs Google search: XAPP463 XAPP464 Using Look-Up Tables

More information

ECE 545 Lecture 17 RAM. George Mason University

ECE 545 Lecture 17 RAM. George Mason University ECE 545 Lecture 17 RAM George Mason University Recommended reading XST User Guide for Virtex-6, Spartan-6, and 7 Series Devices Chapter 7, HDL Coding Techniques [ UG687 (v 14.5) March 20, 2013 ] Sections:

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 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

HDL Coding Style Xilinx, Inc. All Rights Reserved

HDL Coding Style Xilinx, Inc. All Rights Reserved HDL Coding Style Objective After completing this module, you will be able to: Select a proper coding style to create efficient FPGA designs Specify Xilinx resources that need to be instantiated for various

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

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

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

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

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

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

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

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL for Synthesis. Course Description. Course Duration. Goals VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes

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

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

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

VHDL And Synthesis Review

VHDL And Synthesis Review VHDL And Synthesis Review VHDL In Detail Things that we will look at: Port and Types Arithmetic Operators Design styles for Synthesis VHDL Ports Four Different Types of Ports in: signal values are read-only

More information

[VARIABLE declaration] BEGIN. sequential statements

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

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

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

More information

Outline CPE 626. Advanced VLSI Design. Lecture 4: VHDL Recapitulation (Part 2) Signals. Variables. Constants. Variables vs.

Outline CPE 626. Advanced VLSI Design. Lecture 4: VHDL Recapitulation (Part 2) Signals. Variables. Constants. Variables vs. CPE 626 Lecture 4: VHDL Recapitulation (Part 2) Aleksandar Milenkovic http://www.ece.uah.edu/~milenka http://www.ece.uah.edu/~milenka/cpe626-04f/ milenka@ece.uah.edu Assistant Professor Electrical and

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

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013 MARIE CURIE IAPP: FAST TRACKER FOR HADRON COLLIDER EXPERIMENTS 1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013 Introduction to VHDL Calliope-Louisa Sotiropoulou PhD Candidate/Researcher Aristotle University

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 Xilinx FPGAs Chapter 7 Spartan 3E Architecture Source: Spartan-3E FPGA Family Datasheet CLB Configurable Logic Blocks Each CLB contains four slices Each slice

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

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

Latch Based Design (1A) Young Won Lim 2/18/15

Latch Based Design (1A) Young Won Lim 2/18/15 Latch Based Design (1A) Copyright (c) 2015 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any

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

EITF35: Introduction to Structured VLSI Design

EITF35: Introduction to Structured VLSI Design EITF35: Introduction to Structured VLSI Design Part 1.2.2: VHDL-1 Liang Liu liang.liu@eit.lth.se 1 Outline VHDL Background Basic VHDL Component An example FSM Design with VHDL Simulation & TestBench 2

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

Digital Design with SystemVerilog

Digital Design with SystemVerilog Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?

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

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

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 6, 2006 Classes November 6 and 8 are in 429 Dana! Lecture 15: Homework 5: Datapath How to write a testbench for synchronous

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

SEQUENTIAL STATEMENTS

SEQUENTIAL STATEMENTS SEQUENTIAL STATEMENTS Sequential Statements Allow to describe the behavior of a circuit as a sequence of related events Can be used to model, simulate and synthesize: Combinational logic circuits Sequential

More information

ECE 545 Lecture 12. FPGA Embedded Resources 12/8/11. Resources. Recommended reading. Use of Embedded FPGA Resources in SHA-3 Candidates

ECE 545 Lecture 12. FPGA Embedded Resources 12/8/11. Resources. Recommended reading. Use of Embedded FPGA Resources in SHA-3 Candidates ECE 545 Lecture 12 FPGA Embedded Resources Resources FPGA Embedded Resources web page available from the course web page George Mason University 2 Recommended reading XAPP463 Using Block RAM in Spartan-3

More information

VHDL HIERARCHICAL MODELING

VHDL HIERARCHICAL MODELING To incorporate hierarchy in VHDL we must add component declarations and component instantiations to the model. In addition, we need to declare internal signals to interconnect the components. We can also

More information

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 8, 2006 Midterm Average: 70 Lecture 16: Midterm Solutions Homework 6: Calculator Handshaking HW 6: Due Wednesday, November

More information

ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices

ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices School of Engineering, University of Guelph Winter 2017 1 Objectives: The purpose of this lab is : Learn basic bus design techniques.

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

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

COVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points)

COVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points) EEL 4712 Midterm 2 Spring 2011 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

ELE432. ADVANCED DIGITAL DESIGN HACETTEPE UNIVERSITY ROUTING and FPGA MEMORY. In part from ECE 448 FPGA and ASIC Design with VHDL

ELE432. ADVANCED DIGITAL DESIGN HACETTEPE UNIVERSITY ROUTING and FPGA MEMORY. In part from ECE 448 FPGA and ASIC Design with VHDL ELE432 ADVANCED DIGITAL DESIGN HACETTEPE UNIVERSITY ROUTING and FPGA MEMORY In part from ECE 448 FPGA and ASIC Design with VHDL Organization of the Week Routing in FPGA Memory Design in FPGA Xilinx Programmable

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

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

FPGA for Software Engineers

FPGA for Software Engineers FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course

More information

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

VHDL for Modeling - Module 10

VHDL for Modeling - Module 10 VHDL for Modeling Module 10 Jim Duckworth, WPI 1 Overview General examples AND model Flip-flop model SRAM Model Generics DDR SDRAM Model Constraints Metastability Block Statements Just for reference Jim

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

ELCT 501: Digital System Design

ELCT 501: Digital System Design ELCT 501: Digital System Lecture 4: CAD tools (Continued) Dr. Mohamed Abd El Ghany, Basic VHDL Concept Via an Example Problem: write VHDL code for 1-bit adder 4-bit adder 2 1-bit adder Inputs: A (1 bit)

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

Asynchronous FIFO Design

Asynchronous FIFO Design Asynchronous FIFO Design 2.1 Introduction: An Asynchronous FIFO Design refers to a FIFO Design where in the data values are written to the FIFO memory from one clock domain and the data values are read

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

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

VHDL 2 Combinational Logic Circuits. Reference: Roth/John Text: Chapter 2

VHDL 2 Combinational Logic Circuits. Reference: Roth/John Text: Chapter 2 VHDL 2 Combinational Logic Circuits Reference: Roth/John Text: Chapter 2 Combinational logic -- Behavior can be specified as concurrent signal assignments -- These model concurrent operation of hardware

More information

VHDL for Logic Synthesis

VHDL for Logic Synthesis VHDL for Logic Synthesis Overview Design Flow for Hardware Design VHDL coding for synthesis General guidelines for hardware designers This lecture includes the content from: Nitin Yogi, Modelling for Synthesis

More information

Hardware Design with VHDL Design Example: BRAM ECE 443

Hardware Design with VHDL Design Example: BRAM ECE 443 BRAM There are two sources of memory available on most FPGA boards. Internal (on-chip memory) External SRAMs and DRAMs. Internal memory is either distributed (from the LUTs) or block (dedicated on-chip

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

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

Contents. Chapter 9 Datapaths Page 1 of 28

Contents. Chapter 9 Datapaths Page 1 of 28 Chapter 9 Datapaths Page of 2 Contents Contents... 9 Datapaths... 2 9. General Datapath... 3 9.2 Using a General Datapath... 5 9.3 Timing Issues... 7 9.4 A More Complex General Datapath... 9 9.5 VHDL for

More information

HDL. Hardware Description Languages extensively used for:

HDL. Hardware Description Languages extensively used for: HDL Hardware Description Languages extensively used for: Describing (digital) hardware (formal documentation) Simulating it Verifying it Synthesizing it (first step of modern design flow) 2 main options:

More information

Advanced Synthesis Techniques

Advanced Synthesis Techniques Advanced Synthesis Techniques Reminder From Last Year Use UltraFast Design Methodology for Vivado www.xilinx.com/ultrafast Recommendations for Rapid Closure HDL: use HDL Language Templates & DRC Constraints:

More information

Xilinx ASMBL Architecture

Xilinx ASMBL Architecture FPGA Structure Xilinx ASMBL Architecture Design Flow Synthesis: HDL to FPGA primitives Translate: FPGA Primitives to FPGA Slice components Map: Packing of Slice components into Slices, placement of Slices

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

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

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory CS211 Digital Systems/Lab Introduction to VHDL Hyotaek Shim, Computer Architecture Laboratory Programmable Logic Device (PLD) 2/32 An electronic component used to build reconfigurable digital circuits

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

קורס VHDL for High Performance. VHDL

קורס VHDL for High Performance. VHDL קורס VHDL for High Performance תיאור הקורס קורסזהמספקאתכלהידע התיאורטיוהמעשילכתיבתקודHDL. VHDL לסינתזה בעזרת שפת הסטנדרט הקורסמעמיקמאודומלמדאת הדרךהיעילהלכתיבתקודVHDL בכדילקבלאתמימושתכןהלוגי המדויק. הקורסמשלב

More information

Design Problem 4 Solution

Design Problem 4 Solution CSE 260 Digital Computers: Organization and Logical Design Design Problem 4 Solution Jon Turner Due 4/13/06 1. (125 points). In this problem, you will design a packet FIFO, which is a circuit that temporarily

More information

FPGA Lecture for LUPO and GTO Vol , 31 August (revised 2013, 19 November) H. Baba

FPGA Lecture for LUPO and GTO Vol , 31 August (revised 2013, 19 November) H. Baba FPGA Lecture for LUPO and GTO Vol. 1 2010, 31 August (revised 2013, 19 November) H. Baba Contents Basic feature of FPGA Basic usage for LUPO New project Read and Write Basic behavioral VHDL simulation

More information

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital

More information

LeonardoSpectrum & Quartus II Design Methodology

LeonardoSpectrum & Quartus II Design Methodology LeonardoSpectrum & Quartus II Design Methodology September 2002, ver. 1.2 Application Note 225 Introduction As programmable logic device (PLD) designs become more complex and require increased performance,

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

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

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

Design Problem 3 Solutions

Design Problem 3 Solutions CSE 260 Digital Computers: Organization and Logical Design Jon Turner Design Problem 3 Solutions In this problem, you are to design, simulate and implement a sequential pattern spotter, using VHDL. This

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

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

MCMASTER UNIVERSITY EMBEDDED SYSTEMS

MCMASTER UNIVERSITY EMBEDDED SYSTEMS MCMASTER UNIVERSITY EMBEDDED SYSTEMS Computer Engineering 4DS4 Lecture Revision of Digital Systems Amin Vali January 26 Course material belongs to DrNNicolici Field programmable gate arrays (FPGAs) x x

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

Problem Set 10 Solutions

Problem Set 10 Solutions CSE 260 Digital Computers: Organization and Logical Design Problem Set 10 Solutions Jon Turner thru 6.20 1. The diagram below shows a memory array containing 32 words of 2 bits each. Label each memory

More information

VHDL: RTL Synthesis Basics. 1 of 59

VHDL: RTL Synthesis Basics. 1 of 59 VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.

More information

!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"

!#$%&&'(')*+%,%-.#'/'.001$$ !"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"!!"#$%&'#()#*+"+#,-."/0110#230#4."50",+"+#)6# 6+-+#(.6+-0#)4475.8)60#0/#.65-0#230#9+**+"+# 2.48).-0#(.6+-0#! 2+"*5."5*:#,."/0110#;)**0! *),".6*:#-.99-0*0"5."+#2+660,.40"5)#;)*)2)#

More information

Outline CPE 626. Advanced VLSI Design. Lecture 3: VHDL Recapitulation. Intro to VHDL. Intro to VHDL. Entity-Architecture Pair

Outline CPE 626. Advanced VLSI Design. Lecture 3: VHDL Recapitulation. Intro to VHDL. Intro to VHDL. Entity-Architecture Pair Outline CPE 626 Lecture 3: VHDL Recapitulation 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

More information

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1 DIGITAL LOGIC WITH VHDL (Fall 23) Unit DESIGN FLOW DATA TYPES LOGIC GATES WITH VHDL TESTBENCH GENERATION DESIGN FLOW Design Entry: We specify the logic circuit using a Hardware Description Language (e.g.,

More information

TSEA44 - Design for FPGAs

TSEA44 - Design for FPGAs 2015-11-24 Now for something else... Adapting designs to FPGAs Why? Clock frequency Area Power Target FPGA architecture: Xilinx FPGAs with 4 input LUTs (such as Virtex-II) Determining the maximum frequency

More information

EEL 4712 Digital Design Test 1 Spring Semester 2007

EEL 4712 Digital Design Test 1 Spring Semester 2007 IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. COVER SHEET: Problem: Points: 1 (15 pts) 2 (20 pts) Total 3 (15 pts) 4 (18 pts)

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

COVER SHEET: Total: Regrade Info: Problem#: Points. 7 (14 points) 6 (7 points) 9 (6 points) 10 (21 points) 11 (4 points)

COVER SHEET: Total: Regrade Info: Problem#: Points. 7 (14 points) 6 (7 points) 9 (6 points) 10 (21 points) 11 (4 points) EEL 4712 Midterm 3 Spring 2013 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

VHDL for Complex Designs

VHDL for Complex Designs ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 VHDL for Complex Designs This lecture covers VHDL features that are useful when designing complex logic circuits. After

More information

VHDL Examples Mohamed Zaky

VHDL Examples Mohamed Zaky VHDL Examples By Mohamed Zaky (mz_rasmy@yahoo.co.uk) 1 Half Adder The Half Adder simply adds 2 input bits, to produce a sum & carry output. Here we want to add A + B to produce Sum (S) and carry (C). A

More information

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1 Lecture 1: VHDL Quick Start Digital Systems Design Fall 10, Dec 17 Lecture 1 1 Objective Quick introduction to VHDL basic language concepts basic design methodology Use The Student s Guide to VHDL or The

More information