VHDL Quick Start. Edward Gatt
|
|
- Luke Murphy
- 6 years ago
- Views:
Transcription
1 VHDL Quick Start Edward Gatt
2 Modeling Digital Systems VHDL is for writing models of a system Reasons for modeling requirements specification design needs to meet specifications which maybe incomplete or ambiguous and formal model is necessary to communicate requirements formal modeling useful to communicate understanding of the function to the user. designer cannot predict all uses of the system. therefore presents model to user to check it against set of inputs also useful in documentation Edward Gatt VHDL 2
3 Modeling Digital Systems Reasons for modeling testing using simulation and formal verification - systems can be designed from subsystems each with its own model of behaviour. compare outputs/inputs froom circuit to simulation if they coincide the design is fine otherwise need re-designing process can be reiterated until we arrive at the bottom level in the design hierarchy and the manufactured product can be verified to meet specifications synthesis modeling allows automatic synthesis of circuits function is translated to circuitry saving human costs Edward Gatt VHDL 3
4 Modeling Digital Systems Goal most reliable design process, with minimum cost and time allows optimisation normally speed vs gate count compromise avoid design errors! Edward Gatt VHDL 4
5 Domains and Levels of Modeling Structural Functional high level of abstraction low level of abstraction Geometric Y-chart due to Gajski & Kahn Edward Gatt VHDL 5
6 Domains and Levels of Modeling Structural Functional Algorithm (behavioral) Register-Transfer Language Boolean Equation Differential Equation Geometric Y-chart due to Gajski & Kahn Edward Gatt VHDL 6
7 Domains and Levels of Modeling Behavioural Model - Function of the entire system may be described by an algorithm similar to programming eg. loop for each data input loop read the value on the input scale the value using a scale factor end loop wait for 10 ms; end loop; Edward Gatt VHDL 7
8 Domains and Levels of Modeling Register-Transfer Level (RTL) Storage of data is represented using register variables and transformations are represented by arithmetic and logical operations eg. MAR PC, memory_read 1 PC PC + 1 wait until ready = 1 IR memory_data memory_read 0 Boolean Algebra Truth Tables Differential Equations Transistor Behaviour Edward Gatt VHDL 8
9 Domains and Levels of Modeling Structural Processor-Memory Switch Functional Register-Transfer Gate Transistor Geometric Y-chart due to Gajski & Kahn Edward Gatt VHDL 9
10 Domains and Levels of Modeling Processor Memory Switch (PMS) Describing a system as interconnections of Processing Elements Memory Components Input/Output Devices Processor Interconnection Switch Memory Input/Outputs PMS Model for a Controller Edward Gatt VHDL 10
11 Domains and Levels of Modeling Register Transfer Level Register-Transfer- Level for Controller System can then be translated to gates and transistor implementation Edward Gatt VHDL 11
12 Domains and Levels of Modeling Structural Functional Polygons Sticks Standard Cells Floor Plan Geometric Y-chart due to Gajski & Kahn Edward Gatt VHDL 12
13 Domains and Levels of Modeling Floor Planning Reset VSS_Osc ADC [0..3] CAN OSC VDD_Osc NC Capa NC VDD PortA PortB VSS NC PortC NC Edward Gatt VHDL 13
14 Domains and Levels of Modeling Geometric Level of Abstraction Standard Library Cells are used to implement the Registers and Data Transformation Units and must be placed in the areas allocated in the Chip Floor Plan Stick Diagrams Use of Stick Diagrams to Implement Gate Layout Floorplanning Edward Gatt VHDL 14
15 Domains and Levels of Modeling Geometric Level of Abstraction Polygons for Layout Masks Edward Gatt VHDL 15
16 Digital Circuit Design Circuit Design Schematic Entry HDL State Diagrams VHDL Verilog 16
17 VHDL VHDL or VHSIC Hardware Description Language is commonly used as a design-entry language for field-programmable gate arrays and applicationspecific integrated circuits in electronic design automation of digital circuits. VHDL is a fairly general-purpose language, although it requires a simulator on which to run the code. It can read and write files on the host computer, so a VHDL program can be written that generates another VHDL program to be incorporated in the design being developed. Because of this general-purpose nature, it is possible to use VHDL to write a test bench that verifies the functionality of the design using files on the host computer to define stimuli, interacts with the user, and compares results with those expected. The key advantage of VHDL when used for systems design is that it allows the behaviour of the required system to be described (modeled) and verified (simulated) before synthesis tools translate the design into real hardware (gates and wires). 17
18 VHDL VHDL allows the description of a concurrent system (many parts, each with its own sub-behaviour, working together at the same time). When a VHDL model is translated into the "gates and wires" that are mapped onto a programmable logic device such as a CPLD or FPGA, then it is the actual hardware being configured, rather than the VHDL code being "executed" as if on some form of a processor chip. To start coding in VHDL, one needs a simulation tool. While very few open source VHDL simulators exist today, most commercial vendors offer free, but often limited, versions of their software. Furthermore, it is highly recommended to use a synthesis tool even when you do not plan to test your code on real hardware. The reason for this is that you can often see the graphical representation (i.e. gates) of your code after synthesis. Seeing what kind of hardware correspond to your code is a very important step in learning any HDL and becoming a good designer. 18
19 Design Flow Design Entry Functional Simulation Library Elements Vendor Synthesis Schematic {Basic Gates; Flip Flop; Complex Gates} Place and Route {Parasitic Cap Extraction} Post Layout Simulation {Check Timing Constraints} 19
20 VHDL Architectures VHDL architectures are divided into two main categories: structural: with full circuit details {netlist form} functional: description of the functionality of the circuit no need of circuit details 20
21 Constructs in VHDL There are three main constructs in VHDL: Component Declaration Component Instantiation Component Configuration 21
22 Component Declaration Define Component name and input/output ports A B component component_name port ( A,B: In BIT; Y: Out BIT); end component component_name Y More versatile types Can have different values other than {1,0} VHDL logic types: e.g u,w,x,z u unresolved BIT {1,0} z tri-state BIT_VECTOR x don t care STD_LOGIC STD_LOGIC_VECTOR 22
23 Component Instantiation Instance = occurrence component port names A1 B1 signal names signal names have to be declared before hand A B Y Y1 These statements represent the use of a component. They specify: A unique name for each instance of the component How the ports of the component are to be connected to the rest of the signals. 23
24 Component Instantiation component port names A1 B1 signal names A B Y Y1 instance_name: component_name port map (A => A1, B => B1, Y=> Y1); component ports wire/signal names 24
25 Component Configuration Maps component instantiations to pre-compiled VHDL library design units. Component Configurations are named to allow multiple configurations to exist for a single design, allowing design alternatives and modifications to be explored in parallel. ALL refers to all instances configuration config_name of entity_name is for component_label: component_name use entity library_name.entity_name(architecture_name); end for end config_name Low Level vs High level Description 25
26 Example 1: Half Adder Structural VHDL Description Entity Name: Halfadder Architecture Name: Structural 26
27 Example 1: Half Adder Structural VHDL Description entity Halfadder is port (A1,B1: In BIT; Sum,Carry: Out BIT); end Halfadder; architecture structural of Halfadder is component Xor2 port (A,B: IN Bit; Y: OUT Bit); end component; component Nand2 port (A,B: IN Bit; Y: OUT Bit); end component; component declaration in this section the components to be used are declared signal icarry: BIT; 27
28 Example 1: Half Adder Structural VHDL Description begin Gate1: Xor2 port map (A => A1,B => B1,Y => sum); Gate2: Nand2 port map (A => A1,B => B1,Y => icarry); Gate3: Nand2 port map (A => icarry,b => icarry,y => carry); end structural; component instantiation in this section the different components are connected together via the port map 28
29 Example 1: Half Adder Structural VHDL Description configuration Halfadderconfig of Halfadder is for structural entity name for Gate1:Xor2 use entity work.xorgate2(simple); end for; refers to all instances for ALL:Nand2 use entity work.xorgate2(simple); end for; library name architecture name end for; Assume that Xor2 and Nand2 are pre-compiled in library called work. Component Name Entity Name Architecture Name Xor2 XorGate2 simple Nand2 NandGate2 simple component configuration end Halfadderconfig; 29
30 Testing VHDL description using a test bench TB: Testbench HA: Halfadder A DriveA1 A1 Sum Monitorsum B DriveB1 B1 Carry Monitorcarry Entity Name: HalfadderTop Architecture Name: Structural 30
31 Testing VHDL description using a test bench entity HalfadderTop is -- no i/o ports end HalfadderTop; architecture structural of HalfadderTop is component Halfadder is (A1, B1: In BIT; Sum, Carry: Out BIT); end component; component Testbench is (A, B: Out BIT); end component; component declaration Structural VHDL is used for VHDL testing signal declaration signal DriveA1, DriveB1, MonitorSum, MonitorCarry: Bit; continues 31
32 Testing VHDL description using a test bench continues begin HA: Halfadder Requires configuration file & pre-compiled testbench entity port map (A1=>DriveA1,B1=>DriveB1, sum=>monitorsum, Carry=>MonitorCarry); TB: Testbench component instantiation port map (A=>DriveA1,B=>DriveB1); TB: Testbench HA: Halfadder end structural; A B DriveA1 DriveB1 A1 Sum B1 Carry Monitorsum Monitorcarry 32
33 VHDL Functional Description Functional descriptions can be made using: Concurrent VHDL statements Sequential VHDL statements Concurrent VHDL statements: no implied sequence/timing i.e. statements are executed in parallel. Sequential VHDL statements: statements are executed one after the other as in a normal programming language {order is important}. Sequential VHDL statements are identified since they have to be in a process block. 33
34 The Process Block process_label: process (sensitivity list) begin Sequential statements; end process process_label; optional Process A Process B The sensitivity list is a list of signals which will trigger (start) the process. If no sensitivity list exists, then the process will continue to loop indefinitely: in this case the execution is typically controlled by wait statements forming part of the sequential statements in the process block. A process will therefore typically have a sensitivity list or wait statements, but it cannot have both. There can be more than one process running concurrently. However the statements in each process block would be executed sequentially. Changes in the value of any one of the signals in the sensitivity list will cause the process to be executed. The process will continue serial execution until the last statement has been executed. The process then suspends execution until another change occurs in one of the signals referenced in the sensitivity list. 34
35 Example 2: Half Adder Functional VHDL Description library IEEE; use IEEE.std_logic_1164.all; entity Halfadder is port (A1, B1: in std_logic; sum, carry: out std_logic); end Halfadder; Concurrent VHDL Description architecture functional of Halfadder is begin sum <= A1 xor B1; carry <= A1 and B1; end functional; Alternatively: sum <= A1+B1; where sum is a 2-bit vector sum: out std_logic_vector(1 downto 0); 35
36 Example 3: Half Adder Functional VHDL Description library IEEE; use IEEE.std_logic_1164.all; entity Halfadder is port (A1, B1: in std_logic; sum, carry: out std_logic); end Halfadder; Sequential VHDL Description architecture functional of Halfadder is Adder: process (A1,B1) begin sum <= A1 xor B1; carry <= A1 and B1; combinational logic end process Adder; end functional; 36
37 Example 4: Latched Half Adder Functional VHDL Description library IEEE; use IEEE.std_logic_1164.all; entity Halfadder is port (A1, B1: in std_logic; sum, carry: out std_logic); end Halfadder; Sequential VHDL Description architecture functional of Halfadder is Latch_Adder: process (Clk) begin If (Clk = 1 ) then sum <= A1 xor B1; carry <= A1 and B1; end if; sequential logic end process Latch_Adder; end functional; 37
38 VHDL Basic Statements 38
39 Wait Statements Execution of a process suspends when a wait statement is encountered. Execution restarts when the condition of the wait statement is met. Syntax: process block : sequential statements : wait condition : sequential statements end process wrap 39
40 Type of Wait Statements (1) wait wait forever: usually used within a test bench (2) wait on <signal list> Waits for an event on any one of the signals (same purpose as sensitivity list) (3) wait until <condition> Waits until condition becomes true e.g. wait until A = 1 ; (4) wait for <time> e.g. wait for 10ns; {typically this is not supported by synthesis tool} 40
41 Example for Wait Statements Adder: process begin sum <= A xor B; carry <= A and B; wait on A,B; If in the wait statement we remove B, we would require memory to store value of B since a change in it will keep the adder idle -> it becomes a sequential logic circuit. end process Adder; 41
42 If statement If condition then sequential statements elsif condition then sequential statements optional else sequential statements end if; 42
43 Case statement Allows selection of sequential statements to be executed, based on the value of a selection expression. Choice of a case statement must be unique. If not all possible values of the selector expression are listed, an others choice must be included. Example: type select is array (3 downto 0) of BIT; -- defining a new type signal operationselect: select; case operationselect is when 0000 => sequential statements; when 0001 => sequential statements; when others => sequential statements; end case; The NULL statement signifies no operation. It is useful to explicitly show that no action is required for a particular choice in a case statement. e.g. : : when 0101 => NULL; 43
44 Loop Statement Syntax: while condition loop sequential statements; end loop; Boolean condition is checked each time before the loop is executed. If condition is true, loop is executed. If condition is false, execution continues with the next statement after the end loop. 44
45 Generic Loop A loop label is used in this case: Syntax: loop_label: loop sequential statements; end loop; Infinite loop used in conjunction with a wait statement or exit statement exit and next statements can be used to control the flow of a generic loop. Syntax: next loop_label when condition; exit loop_label when condition; The exit statement also terminates the current Iteration and additionally also exists the loop. The next statement terminates the execution of the current loop iteration and starts a subsequent iteration. 45
46 For Loop Specifies a fixed number of iterations of the loop. Loop index does not have to be explicitly declared. Loop index only exists within the loop and disappears as soon as the loop is terminated. Example: for I in 1 to 10 loop factorial = factorial*i; end loop; Index type of enumerated type: Step is always 1 for numeric values Example: type RGB is (Red,Green,Blue); signal rgb_signal: RGB; for RGB_Index in RGB loop -- sequential statements end loop; 46
47 Nested Loops outerloop: For X in 1 to 100 loop innerloop: For Y in 1 to 100 loop : : : exit outerloop when (Y=1 and X=99); : : end loop; end loop; 47
48 Assert Statement Used to verify a condition and report if the condition is violated. The assertion statement will also specify the severity of the condition violation: note, warning, error, failure. Syntax: assert condition report report expression severity severity_level; Example: assert (x < 32) report ( x out of limit ); severity error; This is printed if condition is not true 48
49 Conditional Assignment with selector select signal_name <= value when choice_1; <= value when choice_2; : : <= value when choice_n; <= value when others; The conditional assignment is very similar to a multiplexer implementation. choice_1 choice_2 choice_3 : : choice_n selector signal_name 49
50 Expressions and Operators Highest precedence of evaluation Miscellaneous: abs not Multiplying: * / mod Signing: + Adding: + & {concatenation of 1D arrays} Relational Operators: = /= < <= > >= Logical Operators: and or nand nor xor Lowest precedence of evaluation 50
51 Signals and Variables Signals: used for communication between concurrently executed VHDL blocks will physically map into a wire (or bus). Variables: only valid with sequential code (higher level of abstraction) are local to an individual process or function. Signal Attributes: If s is a signal: s event : returns true if s changed (either or ) current time s last_event: returns the time elapsed since the previous transition on s. 51
52 Code Examples - 1 Edward Gatt VHDL 52
53 Code Examples - 2 Edward Gatt VHDL 53
54 Code Examples -3 Edward Gatt VHDL 54
55 Code Example - 4 Edward Gatt VHDL 55
56 VHDL Process - Timing Edward Gatt VHDL 56
57 Code Example - 5 Edward Gatt VHDL 57
58 Code Example - 6 Edward Gatt VHDL 58
59 Code Example - 7 Edward Gatt VHDL 59
60 Code Example - 8 Edward Gatt VHDL 60
61 Test Bench Code transport delay used to model delays introduced by wiring delays input by a specified time Edward Gatt VHDL 61
62 Timings for Testbench Edward Gatt VHDL 62
63 Code Example - 9 Edward Gatt VHDL 63
64 Code Example 9 (cont/d) Edward Gatt VHDL 64
65 Code Example - 10 Edward Gatt VHDL 65
66 Code Example - 11 Edward Gatt VHDL 66
67 Code Example - 12 library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_misc.all; use IEEE.std_logic_unsigned.all; entity ALU is port ( Accumulator_in: in STD_LOGIC_VECTOR (7 downto 0); Data_in : in STD_LOGIC_VECTOR (7 downto 0); Opcode_in : in STD_LOGIC_VECTOR (3 downto 0); Result_out : out STD_LOGIC_VECTOR (7 downto 0) ); end ALU; architecture ALU_arch of ALU is begin Main: process(accumulator_in,opcode_in, Data_in) begin case Opcode_in is when "0000" => Result_out <= Data_in; -- result = Data_in when "0001"=> Result_out <= Accumulator_in; -- result = accumulator_in when "0010"=> Result_out <= " "; -- result = accumulator_in + Data_in when "0011"=> Result_out <= " "; -- result = accumulator_in - Data_in when "0100"=> Result_out <= Accumulator_in and Data_in; -- result = accumulator_in and Data_in Edward Gatt VHDL 67
68 Code Example - 12 (cont/d) when "0101"=> Result_out <= Accumulator_in or Data_in; -- result = accumulator_in or Data_in when "0110"=> Result_out <= Accumulator_in xor Data_in; -- result = accumulator_in xor Data_in when "0111"=> Result_out <= not(accumulator_in); -- result = not(accumulator_in) when "1000"=> Result_out <= not(accumulator_in); -- result = not(data_in); when "1001"=> Result_out <= " "; -- result = 0 when "1010"=> Result_out <= " "; -- result = 8 LSBs of ( accumulator_in * Data_in) when "1011"=> Result_out <= " "; -- result = 8 MSBs of ( accumulator_in * Data_in) when "1100"=> Result_out <= accumulator_in nand Data_in; -- result = accumulator_in nand Data_in when "1101"=> Result_out <= accumulator_in nor Data_in; -- result = accumulator_in nor Data_in when "1110"=> Result_out <= accumulator_in xnor Data_in; --result=accumulator_in xnor Data_in when "1111"=> Result_out <= " "; --result=accumulator_in+1 when others => Result_out <="XXXXXXXX"; end case; end process Main; end ALU_arc Edward Gatt VHDL 68
69 Test Bench for ALU library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_misc.all; use IEEE.std_logic_unsigned.all; entity alu_tb is port ( Accumulator_out: out std_logic_vector (8 downto 1); Data_out : out std_logic_vector (8 downto 1); Opcode_out : out std_logic_vector (4 downto 1) ); end alu_tb; architecture alu_tb_arch of alu_tb is begin operation_1: PROCESS begin wait for 0ns; Opcode_out <= "0000"; wait for 10 ns; Opcode_out <= "0001"; wait for 10 ns; Opcode_out <= "0010"; wait for 10 ns; Opcode_out <= "0011"; wait for 10 ns; Opcode_out <= "0100"; Edward Gatt VHDL 69
70 Test Bench for ALU (cont/d) wait for 10 ns; Opcode_out <= "0101"; wait for 10 ns; Opcode_out <= "0110"; wait for 10 ns; Opcode_out <= "0111"; wait for 10 ns; Opcode_out <= "1000"; wait for 10 ns; Opcode_out <= "1001"; wait for 10 ns; Opcode_out <= "1010"; wait for 10 ns; Opcode_out <= "1011"; wait for 10 ns; Opcode_out <= "1100"; wait for 10 ns; Opcode_out <= "1101"; wait for 10 ns; Opcode_out <= "1110"; wait for 10 ns; Opcode_out <= "1111"; wait; end PROCESS operation_1; operation_2: PROCESS begin wait for 0ns; Data_out <= " "; wait; end PROCESS operation_2; operation_3: PROCESS begin wait for 0ns; Accumulator_out <= " "; wait; end PROCESS operation_3; end alu_tb_arch; Edward Gatt VHDL 70
71 Top Level for ALU library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_misc.all; use IEEE.std_logic_unsigned.all; entity alu_tl is port ( Result : out std_logic_vector (8 downto 1) ); end alu_tl; architecture alu_tl_arch of alu_tl is component alu port ( Accumulator_in: in std_logic_vector (8 downto 1); Data_in: in std_logic_vector (8 downto 1); Opcode_in: in std_logic_vector (4 downto 1); Result_out: out std_logic_vector (8 downto 1) ); end component ; component alu_tb is port ( Accumulator_out: out std_logic_vector (8 downto 1); Data_out: out std_logic_vector (8 downto 1); Opcode_out: out std_logic_vector (4 downto 1) ); end component; Edward Gatt VHDL 71
72 Top Level for ALU (cont/d) signal Accumulator : std_logic_vector(8 downto 1); signal Data : std_logic_vector(8 downto 1); signal Opcode : std_logic_vector(4 downto 1); begin alu_1 : alu port map ( Accumulator_in => Accumulator, Data_in => Data, Opcode_in => Opcode, Result_out => Result ); tb_1 : alu_tb port map ( Accumulator_out => Accumulator, Data_out => Data, Opcode_out => Opcode ); end alu_tl_arch; Edward Gatt VHDL 72
73 Field Programmable Gate Arrays FPGAs are ICs that contain an array of identical blocks with programmable interconnections User can program the functions realised by each logic block and the connections between the blocks FPGAs offer easier design iterations Easier to correct mistakes that creep into the design Prototyping cost is reduced Edward Gatt VHDL 73
74 Disadvantages: FPGAs FPGAs are less dense than traditional gate arrays A lot of resources is spent to achieve programmability Programmable points have resistances and capacitances FPGAs are slower than traditional gate arrays Edward Gatt VHDL 74
75 Organisation of FPGAs The interior of FPGAs typically contain three elements that are programmable: Programmable logic blocks Programmable input/output blocks Programmable routing resources Edward Gatt VHDL 75
76 Organisation of FPGAs Edward Gatt VHDL 76
77 Organisation of FPGAs Arrays of programmable logic blocks are distributed within the FPGA Logic blocks are surrounded by (I/O) interface blocks I/O blocks are on the periphery on the chip They connect the logic signals to the FPGA pins Space between logic blocks are used to route connections between the logic blocks Edward Gatt VHDL 77
78 Programmable Logic Blocks Programmable Logic Blocks are created by using multiplexers, look-up tables, AND-OR or NAND-NAND arrays Programming means changing the input or control signals to the multiplexers, changing look-up table contents or selecting/not selecting particular gates in AND-OR gate blocks For a programmable interconnect, programming means making or breaking specific connections This is required to interconnect various blocks in the chip and to connect specific I/O pins to specific logic blocks Edward Gatt VHDL 78
79 Programmable I/O blocks Programmable I/O blocks denote blocks which can be programmed to be input, output or bidirectional lines They can also be programmed to adjust the properties of their buffers such as inverting/noninverting, tristate, passive pull-ups or even adjust the slew rate Edward Gatt VHDL 79
80 FPGA Programming Technologies Several techniques have been used to achieve the programmable interconnections between FPGAs Static RAM programming technology EPROM/EEPROM/flash programming technology Antifuse programming technology Edward Gatt VHDL 80
81 SDRAM Programming Technology The SDRAM programming technology involves creating reconfigurability by bits stored in SRAM cells The logic blocks, I/O blocks and interconnect can be programmed by using configuration bits stored in SRAM Reconfigurable logic blocks can be easily implemented as look-up tables Problem is that system is volatile Edward Gatt VHDL 81
82 SRAM Programming Technology 16 SRAM cells can implement any 4 variable function Programmable interconnect can also be achieved by SRAM The key idea is to use pass transistors to create switches and then control them using SRAM content SDRAM requires 6 transistors therefore number of transistors to provide a connection is high Write Controlled by Data Pass Transistor Edward Gatt VHDL 82
83 EPROM/EEPROM Programming Technology EPROM cells used to control programmable connections A transistor with 2 gates is used floating gate and control gate Transistor turned off by injecting charge on the floating gate using a high voltage between the control gate and drain of the transistor Charge increases the threshold voltage of the transistor and it switches off Charge can be removed by exposing the floating gate to ultraviolet light Edward Gatt VHDL 83
84 EPROM EPROM technology slower than SRAM EPROM switches have high ON resistance and high static power consumption EEPROM technology is similar to EPROM but removal of gate charge can be done electrically Edward Gatt VHDL 84
85 Antifuse Programming Technology Antifuse programming element changes from open to closed when a high voltage is applied They are often built using dielectric layers between N+ diffusion and polysilicon layers or by amorphous silicon between metal layers Antifuses are normally OFF and put ON when programmed Process is irreversible and not reprogrammable but consumes little area Edward Gatt VHDL 85
86 Programmable Logic Block Arrays LUT-based FPGAs use four-variable look-up tables plus a flip-flop as the basic element and then connect several of them in various topologies Edward Gatt VHDL 86
87 Programmable Logic Block Arrays Some FPGAs use multiplexers as the basic block Any combinational logic can be implemented using multiplexers alone e.g. a 4-to-1 multiplexer can generate any twoinput function If inverted inputs can be provided, the same multiplexer can generate any three-input function Edward Gatt VHDL 87
88 Programmable Interconnects Interconnects in Symmetric Arrray FPGAs General Purpose Interconnect: Switch Matrices provide interconnections between routing wires connected to the switch matrix Edward Gatt VHDL 88
89 Programmable Interconnects Interconnects in Symmetric Arrray FPGAs Direct Interconnects: Many FPGAs provide special connections between adjacent logic blocks. These interconnects are fast as they do not go through the routing matrix Edward Gatt VHDL 89
90 Programmable Interconnects Interconnects in Symmetric Arrray FPGAs Global Lines: For purposes like high fan-out and low-skew clock distribution, most FPGAs provide routing lines that span the entire width of the device/height of the device Interconnects in Row-Based FPGAs: In devices that are row based, there are rows of logic blocks and there are channels of switches to enable connections between logic blocks Edward Gatt VHDL 90
91 Programmable I/O Blocks The I/O pads are connected to programmable input/output blocks, which facilitate connecting the signals from FPGA logic blocks to the external world in desired forms and formats I/O blocks on modern FPGAs allow use of the pin as input and/or output, in direct (combinational) or latched forms, in tristate true or inverted forms and with a variety of I/O standards Edward Gatt VHDL 91
Guidelines for Laboratory Sessions:
University of Malta Faculty of Engineering Department of Electronic Systems Engineering Hardware Description Languages ELE 3103 Lecturer: Dr. Ivan Grech igrech@eng.um.edu.mt Laboratory Tutors: Dr. Edward
More informationHardware 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 informationC-Based Hardware Design
LECTURE 6 In this lecture we will introduce: The VHDL Language and its benefits. The VHDL entity Concurrent and Sequential constructs Structural design. Hierarchy Packages Various architectures Examples
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationLecture 3 Introduction to VHDL
CPE 487: Digital System Design Spring 2018 Lecture 3 Introduction to VHDL Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Managing Design
More informationEECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements
EECE-4740/5740 Advanced VHDL and FPGA Design Lecture 3 Concurrent and sequential statements Cristinel Ababei Marquette University Department of Electrical and Computer Engineering Overview Components hierarchy
More informationReview of Digital Design with VHDL
Review of Digital Design with VHDL Digital World Digital world is a world of 0 and 1 Each binary digit is called a bit Eight consecutive bits are called a byte Hexadecimal (base 16) representation for
More informationAbi 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 informationLecture 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 informationIE1204 Digital Design L7: Combinational circuits, Introduction to VHDL
IE24 Digital Design L7: Combinational circuits, Introduction to VHDL Elena Dubrova KTH / ICT / ES dubrova@kth.se This lecture BV 38-339, 6-65, 28-29,34-365 IE24 Digital Design, HT 24 2 The multiplexer
More informationECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory
ECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory Instructor John Chandy Office: ITEB 437 Office Hours: W10-12 Tel: (860) 486-5047 Email: john.chandy@uconn chandy@uconn.edu Class home page: HuskyCT
More informationPROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES
PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES. psa. rom. fpga THE WAY THE MODULES ARE PROGRAMMED NETWORKS OF PROGRAMMABLE MODULES EXAMPLES OF USES Programmable
More informationFPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.
FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different
More informationVerilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design
Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is
More informationVHDL 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 informationIntroduction to VHDL #1
ECE 3220 Digital Design with VHDL Introduction to VHDL #1 Lecture 3 Introduction to VHDL The two Hardware Description Languages that are most often used in industry are: n VHDL n Verilog you will learn
More informationCSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\
CSCI 250 - Lab 3 VHDL Syntax Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ Objectives 1. Learn VHDL Valid Names 2. Learn the presentation of Assignment and Comments 3. Learn Modes, Types, Array,
More informationTwo 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 informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationLecture 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 informationVHDL. 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!"#$%&&"'(')"*+"%,%-".#"'/"'.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 informationUNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library :
UNIT I Introduction to VHDL VHDL stands for very high-speed integrated circuit hardware description language. Which is one of the programming languages used to model a digital system by dataflow, behavioral
More informationField 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 informationSummary 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 informationWhat Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993)
What Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993) Only possible to synthesize logic from a subset of VHDL Subset varies according to
More informationECE U530 Digital Hardware Synthesis. Course Accounts and Tools
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 13, 2006 Lecture 3: Basic VHDL constructs Signals, Variables, Constants VHDL Simulator and Test benches Types Reading: Ashenden
More informationECE 459/559 Secure & Trustworthy Computer Hardware Design
ECE 459/559 Secure & Trustworthy Computer Hardware Design VLSI Design Basics Garrett S. Rose Spring 2016 Recap Brief overview of VHDL Behavioral VHDL Structural VHDL Simple examples with VHDL Some VHDL
More informationCMSC 611: Advanced Computer Architecture
CMSC 611: Advanced Computer Architecture Design Languages Practically everything adapted from slides by Peter J. Ashenden, VHDL Quick Start Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr
More informationENGIN 241 Digital Systems with Lab
ENGIN 241 Digital Systems with Lab (4) Dr. Honggang Zhang Engineering Department University of Massachusetts Boston 1 Introduction Hardware description language (HDL): Specifies logic function only Computer-aided
More informationEEL 4783: Hardware/Software Co-design with FPGAs
EEL 4783: Hardware/Software Co-design with FPGAs Lecture 9: Short Introduction to VHDL* Prof. Mingjie Lin * Beased on notes of Turfts lecture 1 What does HDL stand for? HDL is short for Hardware Description
More informationDigital 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 informationFPGA Programming Technology
FPGA Programming Technology Static RAM: This Xilinx SRAM configuration cell is constructed from two cross-coupled inverters and uses a standard CMOS process. The configuration cell drives the gates of
More informationOutline. 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 informationDesign Progression With VHDL Helps Accelerate The Digital System Designs
Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June
More informationEvolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic
ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:
More informationQ.1. Attempt any TEN of the following: (a) Define the term Noise Margins. Ans: [Define: 2 M]
Subject Code: 17659 Model Answer Page 1 of 24 Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model
More informationECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University
ECE 545 Lecture 5 Data Flow Modeling in VHDL George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 4, Concurrent Signal Assignment Statements of VHDL 2 Types of VHDL Description
More informationAdvanced 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 informationEITF35: 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 informationFPGA 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 informationOUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)
September 3, 2018 GETTING STARTED WITH VHDL 2 Top-down design VHDL history Main elements of VHDL Entities and architectures Signals and processes Data types Configurations Simulator basics The testbench
More informationThis Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)
Last Lecture The basic component of a digital circuit is the MOS transistor Transistor have instrinsic resistance and capacitance, so voltage values in the circuit take some time to change ( delay ) There
More information310/ 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 informationHardware Synthesis. References
Hardware Synthesis MidiaReshadi CE Department Science and research branch of Islamic Azad University Email: ce.srbiau@gmail.com 1 References 2 1 Chapter 1 Digital Design Using VHDL and PLDs 3 Some Definitions
More informationFPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011
FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level
More informationReference Sheet for C112 Hardware
Reference Sheet for C112 Hardware 1 Boolean Algebra, Gates and Circuits Autumn 2016 Basic Operators Precedence : (strongest),, + (weakest). AND A B R 0 0 0 0 1 0 1 0 0 1 1 1 OR + A B R 0 0 0 0 1 1 1 0
More informationVery Large Scale Integration (VLSI)
Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA
More informationCS211 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 informationPart 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits
M1 Informatique / MOSIG Introduction to Modeling and erification of Digital Systems Part 4: HDL for sequential circuits Laurence PIERRE http://users-tima.imag.fr/amfors/lpierre/m1arc 2017/2018 81 Sequential
More informationDigital Design Methodology (Revisited) Design Methodology: Big Picture
Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology
More informationDigital Design Methodology
Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification
More informationLecture 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 informationVHDL 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 informationChapter 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 informationTutorial on VHDL and Verilog Applications
Second LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCEI 2004) Challenges and Opportunities for Engineering Education, Research and Development 2-4 June
More informationContents. Appendix D VHDL Summary Page 1 of 23
Appendix D VHDL Summary Page 1 of 23 Contents Appendix D VHDL Summary...2 D.1 Basic Language Elements...2 D.1.1 Comments...2 D.1.2 Identifiers...2 D.1.3 Data Objects...2 D.1.4 Data Types...2 D.1.5 Data
More informationEE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL
EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 4 Introduction to VHDL Read before class: Chapter 2 from textbook (first part) Outline VHDL Overview VHDL Characteristics and Concepts
More informationMemory and Programmable Logic
Memory and Programmable Logic Memory units allow us to store and/or retrieve information Essentially look-up tables Good for storing data, not for function implementation Programmable logic device (PLD),
More informationVHDL 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 informationSynthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden
Synthesis from VHDL Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden March 23, 2006 Kris Kuchcinski (LTH) Synthesis from VHDL March
More informationWhat is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements
What is Verilog HDL? Lecture 1: Verilog HDL Introduction Verilog Hardware Description Language(HDL)? A high-level computer language can model, represent and simulate digital design Hardware concurrency
More informationChapter 2 Basic Logic Circuits and VHDL Description
Chapter 2 Basic Logic Circuits and VHDL Description We cannot solve our problems with the same thinking we used when we created them. ----- Albert Einstein Like a C or C++ programmer don t apply the logic.
More informationLattice 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 information3 Designing Digital Systems with Algorithmic State Machine Charts
3 Designing with Algorithmic State Machine Charts An ASM chart is a method of describing the sequential operations of a digital system which has to implement an algorithm. An algorithm is a well defined
More informationMAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Winter 15 EXAMINATIONS
Winter 15 EXAMINATIONS Subject Code: 17659 Important Instructions to examiners: Model Answer 1) The answers should be examined by key words and not as word-to-word as given in the answer scheme. 2) The
More informationDesign Methodologies and Tools. Full-Custom Design
Design Methodologies and Tools Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores)
More informationCprE 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 informationEmbedded Systems CS - ES
Embedded Systems - 1 - REVIEW Hardware/System description languages VDHL VHDL-AMS SystemC TLM - 2 - VHDL REVIEW Main goal was modeling of digital circuits Modelling at various levels of abstraction Technology-independent
More informationLecture 15: System Modeling and Verilog
Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading
More informationIntroduction to Verilog design. Design flow (from the book) Hierarchical Design. Lecture 2
Introduction to Verilog design Lecture 2 ECE 156A 1 Design flow (from the book) ECE 156A 2 Hierarchical Design Chip Modules Cells Primitives A chip contain many modules A module may contain other modules
More informationIT T35 Digital system desigm y - ii /s - iii
UNIT - V Introduction to Verilog Hardware Description Language Introduction HDL for combinational circuits Sequential circuits Registers and counters HDL description for binary multiplier. 5.1 INTRODUCTION
More informationstructure syntax different levels of abstraction
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationHere is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationSequential VHDL. Katarzyna Radecka. DSD COEN 313
Sequential VHDL Katarzyna Radecka DSD COEN 313 kasiar@ece.concordia.ca Overview Process Sensitivity List Wait Statements If Statements Case Statements Loop Statements Three Styles of VHDL Behavioral Structural
More informationDepartment of Technical Education DIPLOMA COURSE IN ELECTRONICS AND COMMUNICATION ENGINEERING. Fifth Semester. Subject: VHDL Programming
Department of Technical Education DIPLOMA COURSE IN ELECTRONICS AND COMMUNICATION ENGINEERING Fifth Semester Subject: VHDL Programming Contact Hours/Week : 04 Contact Hours/Semester : 64 CONTENTS No. Of
More informationSpiral 2-8. Cell Layout
2-8.1 Spiral 2-8 Cell Layout 2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric
More informationGetting 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 informationECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level
More informationDigital Design with FPGAs. By Neeraj Kulkarni
Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic
More informationIntroduction to Verilog design. Design flow (from the book)
Introduction to Verilog design Lecture 2 ECE 156A 1 Design flow (from the book) ECE 156A 2 1 Hierarchical Design Chip Modules Cells Primitives A chip contain many modules A module may contain other modules
More informationLecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN
Lecture 9 VHDL, part IV Hierarchical and parameterized design Section 1 HIERARCHICAL DESIGN 2 1 Dealing with Large Digital System Design 1. Apply hierarchy to the design At the highest level use larger
More informationBasic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices
3 Digital Systems Implementation Programmable Logic Devices Basic FPGA Architectures Why Programmable Logic Devices (PLDs)? Low cost, low risk way of implementing digital circuits as application specific
More informationVHDL. Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit
VHDL VHDL Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit VHDL Alternative (Student Generated) Definition Very Hard Digital Logic language VHDL Design
More informationToday. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses
Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single
More informationSynthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1
Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out
More informationCombinational Logic COMB. LOGIC BLOCK. A Combinational Logic Block is one where the outputs depend only on the current inputs
Combinational Logic A Combinational Logic Block is one where the outputs depend only on the current inputs COMB. LOGIC BLOCK A combinational logic block can be implemented using simple gates or lookup
More informationSt.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad
St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad-500 014 Subject: Digital Design Using Verilog Hdl Class : ECE-II Group A (Short Answer Questions) UNIT-I 1 Define verilog HDL? 2 List levels of
More informationVHDL Part 2. What is on the agenda? Basic VHDL Constructs. Examples. Data types Objects Packages and libraries Attributes Predefined operators
VHDL Part 2 Some of the slides are taken from http://www.ece.uah.edu/~milenka/cpe428-02s/ What is on the agenda? Basic VHDL Constructs Data types Objects Packages and libraries Attributes Predefined operators
More informationReview. 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 informationSynthesizable Verilog
Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL
More informationINSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING
INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad - 00 0 ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK Course Name : DIGITAL DESIGN USING VERILOG HDL Course Code : A00 Class : II - B.
More informationControl 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 informationSynthesis of Combinational and Sequential Circuits with Verilog
Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two
More informationECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level
More informationContents. Appendix D Verilog Summary Page 1 of 16
Appix D Verilog Summary Page 1 of 16 Contents Appix D Verilog Summary... 2 D.1 Basic Language Elements... 2 D.1.1 Keywords... 2 D.1.2 Comments... 2 D.1.3 Identifiers... 2 D.1.4 Numbers and Strings... 3
More informationInthis lecture we will cover the following material:
Lecture #8 Inthis lecture we will cover the following material: The standard package, The std_logic_1164 Concordia Objects & data Types (Signals, Variables, Constants, Literals, Character) Types and Subtypes
More informationCS310 Embedded Computer Systems. Maeng
1 INTRODUCTION (PART II) Maeng Three key embedded system technologies 2 Technology A manner of accomplishing a task, especially using technical processes, methods, or knowledge Three key technologies for
More informationEEL 4783: HDL in Digital System Design
EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for
More informationComputer-Aided Digital System Design VHDL
بس م اهلل الر حم ن الر حی م Iran University of Science and Technology Department of Computer Engineering Computer-Aided Digital System Design VHDL Ramin Rajaei ramin_rajaei@ee.sharif.edu Modeling Styles
More information