Hardware description languages (HDL) VHDL - continuation

Size: px
Start display at page:

Download "Hardware description languages (HDL) VHDL - continuation"

Transcription

1 Hardware description languages (HDL) VHDL - continuation

2 Synthesizable code in VHDL VHDL is frequently used for elctronic design simulation and its synthesis. Syntess is the process in which the VHDL source is compiled and mapped into FPGA or ASIC technologies. FPGA manufacturers offer cheap or free synthesis tools. ASIC synthesis tools are usually very expensive. Not all VHDL structures are synthesizable (although they can be simulated). For example: constructions which have explicit time, wait for 10 ns VHDL subset synthesizable = IEEE

3 Free packages for simulation and design which use both languages: VHDL/Verilog: ISE can call ModelSim

4 Objects, data types and operators Objecs used for data representation and storage Basic types (used for design description for synthesis or used to create sunctional tests wave tests): signals, variables and constants Each declared object has a specific data type (such as bit or integer) with an unique set of possible values. For example: a bit object can have only two possible values, 0 and 1 Note: VHDL symbol <= - represents assigning operator (assigns the value from the right side for the variable from the left side)

5 IEEE 1164 Standard Logic Standard Logic Data Types The package std_logic_1164 is compiled in a library called ieee, and includes the following data types: Type Std_ulogic represents a single wire which can have different logic values std_ulogic is an enumeration type similar with bit type from 1076 standard. It is an unresolved data type. This type of signal can have only one driver type.

6 Std_ulogic_vector type Represents a wire collection or a bus having an arbitrary size. type std_ulogic_vector is array ( natural range <> ) of std_ulogic; Std_ulogic_vector represents a std_ulogic area, and is analog with the bit_vector standard type. Tipul Std_logic Is a resolved data type based on std_ulogic (it is a subtype), with the follwing declaration: subtype std_logic is resolved std_ulogic; In the multiple drivers case, the nine std_logic values are resolved with values as following: ("std_logic" allows the existence of multiple drivers for a simple signal) Tipul Std_logic_vector type std_logic_vector is array ( natural range <>) of std_logic;

7

8

9

10 Standard operators: The values, signals and variables of a certain type can be combined in expressions for operators use:

11 Conditional instructions (control ) describe the combinational functions, and indicate priorities in operations, or specify other high-level behaviors. If-Then-Else if first_condition then statements elsif second_condition then statements else statements end if; if outer_condition then statements else if inner_condition then statements end if; end if; procedure Mux(signal A, B, S: in std_logic; signal O: out std_logic) is There can be used more levels of if-then-else declaration. The specified condition in a if-then-else construction must evaluate a Boolean type. begin if S then -- Error: S is not Boolean! O <= B; else O <= A; end if; end Mux; if S = '1' then CORECT! O <= B; else O <= A; end if; end Mux;

12 Case Statements Can be used as an alternative construction to if then- else. case control_expression is when test_expression1 => statements when test_expression2 => statements when others => statements end case; Test expressions must be mutually exclusive and there cannot be two true test expressions at the same time. The difference from if then-else consists in the fact that the lattes implies a priority of the conditions, while for the case instruction this is not true.

13 FOR loops For loop allows the specification of a fixed number of iterations in design description. Example: 8-bit parity generator using a for loop. For loop includes an automatic declaration for the index. library ieee; use ieee.std_logic_1164.all; entity parity10 is port(d: in std_logic_vector(0 to 9); ODD: out std_logic); constant WIDTH: integer := 10; end parity10; architecture behavior of parity10 is begin process(d) variable otmp: Boolean; begin otmp := false; for i in 0 to D'length - 1 loop if D(i) = '1' then otmp := not otmp; end if; end loop; if otmp then ODD <= '1'; else ODD <= '0'; end if; end process; end behavior;

14 Functions and procedures HDL functions and procedures are called subprograms, and represent a direct analogy with the functions and procedures defined in high level programming languages. The procedure subprogram which has an argument list consisting of inputs and outputs and does not return any value. Function subprogram which has only inputs in the list of arguments and returns a value. Subprograms can be defined locally (in an architecture) or in a package. Declarations from subprogram are sequential (as in the process). Can be called from another area of an architecture or a process. Can also be called from another subprogram. Avoid writing recursive functions and procedures, which can not be synthesized. package my_package is package was compiled in a library function my_global_function(...) return bit; end my_package; package body my_package is function my_global_function(...) return bit is begin... end my_global_function; end my_package;... use work.my_package.my_global_function; entity my_design is begin... end my_design; my_global_function() has been declared in my_package It is obtained a global subprogram.

15 Local subprograms Are declared locally, in an arhitecture. architecture my_architecture of my_design is begin my_process: process(...) function my_local_function(...) return bit is begin... end my_local_function; begin... end process my_process; end my_architecture;

16 Functions A subprogram with zero or more input arguments and which returns a single output value. function maxval (arg1, arg2: integer) return integer is variable result: integer; begin if arg1 > arg2 then result := arg1; else result := arg2; end if; return result; end maxval; function rising_edge (signal s: std_logic) return boolean is begin return (s'event and (To_X01(s) = '1') and (To_X01(s'last_value) = '0')); end;

17 Procedures Do not return values, the arguments include both inputs and outputs. Are used to modularize a complex description of a design. Are used in another area from an architecture or a process. Ex: JK flip-flop cu reset asincron: procedure jkff (signal Rst, Clk: in std_logic; signal J, K: in std_logic; signal Q,Qbar: inout std_logic) is begin if Rst = 1 then Q <= '0'; elsif Clk = 1 and Clk event then if J = '1' and K = '1' then Q <= Qbar; elsif J = '1' and K = '0' then Q <= '1'; elsif J = '0' and K = '1' then Q <= '0'; end if; end if; Qbar <= not Q; end jkff; Variables declared in a procedure are not stored between different executions of the procedure. In processes, the variables keep their values between executions.

18 Test Benches VHDL used in the simulation process There are applied sequences of stimuli at the input of the circuit which must be tested (the Unit Under Test, or UUT). Test waveforms represent the values of the signals at different moments in time.

19

20 Using Project Navigator For Simulation and Modeling (generating Testbench and Modelsim call) To a VHDL module (or another description) can have associated a testbench :

21 There can be prescribed some timing information

22 In the blue zone can be programmed the test signals In the yellow zone the desired output can be specified Typing save and verifying that is actually generated a VHDL file Which is a description of the testbench (waveforms+associated module)

23 It is emphasized this bench (wotkbench) there can be more And are automatically opened the associated simulation tools

24 Can be observed that a VHDL module corresponds to a bench This will be transmitted and analysed by Modelsim which has more sophisticated tools for viewing waveforms etc.

25 A minimal observation can be directly observed in Project Navigator By activating Generate Expected Simulation Results

26 Simulations can be associated with different stages in the design process (behavioral, translate). But the one with the most accurate information is post place and route Window opened by Modelsim Here can be clearly observed the effects when takng into account certain propagation times specific to placing and routing made in place and route plus the temporal information specific to the device used in the project (FPGS/CPLD).

27 "Bench2" is actually a hierarchy of VHDL modules that contain embedded timing information that "Project Navigator" tool provides. In this case VHDL is used assimulation language

28 VHDL code examples Describing a comparator using IEEE 1164 standard logic comment declarare library IEEE library is loaded. Use - specifies what is available from ieee library for the design (declared by entity and arhitecture). The general form inclues 3 fields, seperates by point. std_logic and std_logic_vector, are standard data types from IEEE 1164 standard and in the associated IEEE library. Describes the functionality of the comparator

29 Example: counter with asynchronous reset, parallel loading and configurable dimension. (using 'unsigned' type and generics. )

30 4-bit synchronous up counter. active high, synchronous reset. Active high enable.

31 Verilog is a harware description language similar from the in syntax point of view to the C programming language.

32 Modules described in Verilog module toggle(q, clk, reset); <functionality of module> endmodule reset clk toggle q Each module can be defined on four levels of abstraction: Behavioral or on the algorithmic level Dataflow level Gate level Switch level Verilog allows the introduction of different abstraction levels in the same module.

33 Basic concepts Comments by introducing // or /* - */ for a block or more lines Number specification. <size> <base format><number> Number of bits Examples: 4 b habc 16 d h13x 6 d3 12 b1111_0000_1010 d or D for decimal h or H for hexadecimal b or B for binary o or O for octal X or x: don t care Z or z: high impedence _ : used for clarity Number which depends on the base

34 Nets represent connections between elements. Are declared using the keyword wire. wire a; wire b, c; wire d=1 b0; Registers represent the data storage elements. They have the same value until a new value is entered. In Verilog, un register is more a variable which can store a value. Does not require a clock as hardware registers do. reg reset; initial begin reset = 1 b1; #100 reset=1 b0; end

35 A net or a register can be declared as a vector. Declaration examples: wire a; wire [7:0] bus; wire [31:0] busa, busb, busc; reg clock; reg [0:40] virt_address; It is possible to address bits or parts of the vector busa[7] bus[2:0] virt_addr[0:2] For counting is used integer. Example: integer counter initial counter = 1;

36 Real real delta; initial begin delta = 4e10; delta = 2.13; end integer i; initial i = delta; Arrays. Can define real, integer or register tables. integer count[0:7]; reg [4:0] port_id[0:7]; integer matrix[4:0][0:255];

37 Memory. Used for modeling RAM and ROMs. Are modeled using tables on unidimensional registers. Examples. reg mem1bit[0:1023]; reg [7:0] membyte[0:1023]; membyte[511]; Parameters. Defining constants which cannot be used as variables. parameter port_id=5; Arrays can be stored in registers. The width of the register variable must be sufficiently high to store the whole array. reg [8*19:1] string_value; initial string_value = Hello Verilog World ;

38 Modules and ports module fulladd4(sum, c_out, a, b, c_in); output [3:0] sum; output c_out; input [3:0] a, b; input c_in; endmodule Declaration of ports (input, output, inout) are implicitly declared wire. if the output stores the value, they have to be declared reg module DFF(q, d, clk, reset); output reg q; input d, clk, reset; endmodule

39 Declaring modules (ANSI C Style) module fulladd4(output reg[3:0] sum, output reg c_out, input [3:0] a, b, input c_in); endmodule

40 module Top; reg [3:0] A, B; reg C_IN; wire [3:0] SUM; wire C_OUT; // one way Modules instantiation fulladd4 FA1(SUM, C_OUT, A, B, CIN); // another possible way fulladd4 FA2(.c_out(C_OUT),.sum(SUM),.b(B),.c_in(C_IN),.a(A)); endmodule external, the inputs can be reg or wire; internal must be wire External must be wire module fulladd4(sum, c_out, a, b, c_in); output [3:0] sum; output c_out; input [3:0] a, b; input c_in; endmodule

41 Gate level modeling (structural). wire Z, Z1, OUT, OUT1, OUT2, IN1, IN2; and a1(out1, IN1, IN2); nand na1(out2, IN1, IN2); xor x1(out, OUT1, OUT2); not (Z, OUT); buf final (Z1, Z);. All instantiations are executed concurrently as in hardware. The name of the instantiation is not required

42 Instantiation tables for gates wire [7:0] OUT, IN1, IN2; // array of gates instantiations nand n_gate [7:0] (OUT, IN1, IN2); // which is equivalent to the following nand n_gate0 (OUT[0], IN1[0], IN2[0]); nand n_gate1 (OUT[1], IN1[1], IN2[1]); nand n_gate2 (OUT[2], IN1[2], IN2[2]); nand n_gate3 (OUT[3], IN1[3], IN2[3]); nand n_gate4 (OUT[4], IN1[4], IN2[4]); nand n_gate5 (OUT[5], IN1[5], IN2[5]); nand n_gate6 (OUT[6], IN1[6], IN2[6]); nand n_gate7 (OUT[7], IN1[7], IN2[7]);

43 Dataflow Modeling The module is defined in order to specify data communication between hardware registers and how data is processed in design Continuous assignment the main construction in data communication modeling assign out = i1 & i2; assign addr[15:0] = addr1[15:0] ^ addr2[15:0]; assign {c_out, sum[3:0]}=a[3:0]+b[3:0]+c_in; Continuous assignment is always active and the assignment expression is evaluated when the variable on the right-hand side is modified. Left-hand side must be a scalar or a vector. The right-hand side must be either a register, wire, integer or real.

44 Types of operators The operators are similar to the ones in C. Arithmetic: *, /, +, -, % and ** Logical:!, && and Relational: >, <, >= and <= Equality: ==,!=, === and!== Bitwise: ~, &,, ^ and ^~ Reduction: &, ~&,, ~, ^ and ^~ Shift: <<, >>, >>> and <<< Concatenation: { } } Replication: {{}}}} Conditional:?:

45 Example: module mux4(out, i0, i1, i2, i3, s1, s0); output out; input i0, i1, i2, i3; output s1, s0; assign out = (~s1 & ~s0 & i0) (~s1 & s0 & i1) (s1 & ~s0 & i2) (s1 & s0 & i3); // OR THIS WAY assign out = s1? (s0? i3:i2) : (s0? i1:i0); endmodule

46 Behavioral modeling The design is expressed at an algorithmic level (is not required anymore an analysis which includes gates and data communication). At this level the design is similar with C programming. The algorithm is implemented between 2 declarations: always and initial. Each always and initial represents a different activity. Note that they run in parallel. There can be more initial and always declarations but they can not be interlaid... reg a, b, c; initial a=1 b0;.. always begin b = a ^ 1 b1; c = a + b; end..

47 initial initial the block starts at time 0, and is executed only once If there are more initial blocks, each one starts to be executed at time 0, each block finishes independently. Multiple behavioral declaration are grouped using begin and end. reg x, y, m; initial m=1 b0; initial begin x=1 b0; y=1 b1; end

48 always always starts at time 0 and executes the instructions continuously in the always block (as in loops). It models a block in which the activity of the digital circuit repeats continuously. integer count; count=0; always begin count=count+1; end

49 Events An event modifies the values of the register or the net. Is used to start the execution in a block is used to specify the control of a certain event The declarations can be executed when modifying the values of the signals, or on the positive or negative transitions of the signals (posedge) (negedge). input clock; integer count; count=0; begin count=count+1; end input clock; integer count; count=0; begin count=count+1; end input clock1, clock 2; integer count; count=0; or clock2) begin count=count+1; end

50 Procedural assignments modifies the values of the variables for reg, integer, or real. The values are not modified until another assignment is used There are 2 types of procedural assignments: blocking si nonblocking. Blocking statements, use the operator=, are executed in the same order in which they are specified in the sequential block reg x, y; initial begin x=1 b1; y=1 b0; end Nonblocking statements, use the operator <=, are executed without blocking the declarations in a sequential block. reg x, y; initial begin x<=1 b1; y<=1 b0; end

51 clock) begin a = b; b = a; end clock) begin a <= b; b <= a; end Nonblocking removes the passing conditions. On the rising edge of the clock, are read the values from the righthand side, the expressions are evaluated and assigned to the left-hand side.

52 Similar to C Appear every time in always and initial blocks. if(x) begin y= 1 b1; z= 1 b0; end. expression if (count < 10) count = count+1; else count = 0;.. if(alu_control == 0) y = x + z; else if (alu_control == 1) y = x z; else if (alu_control == 2) y = x * z; else y = x;. reg [1:0] alu_control;.. case (alu_control) 2 d0 : y = x + z; 2 d1 : y = x z; 2 d2 : y = x * z; default: y=x; endcase

53 integer count; integer y=1; integer x=2; initial for (count = 0; count < 128; count = count + 1) begin x <= x + y; y <= x; end initial count = 0; while (count < 128) begin.. count = count +1; end initial count = 0; repeat(128) begin.. count = count +1; end Must contain a number or a signal value, is evaluated once at the beginning

54 module mux4x1(out, i0, i1, i2, i3, s1, s0); output out; input i0, i1, i2, i3; input s1, s0; reg out; or s0 or i0 or i1 or i2 or i3) begin case({s1, s0}) 2 d0: out = i0; 2 d1: out = i1; 2 d2: out = i2; 2 d3: out = i3; endcase endmodule

55 Example: 1 sec blinking LED module sec (input CLOCK_50, output reg [8:0] LEDG); integer count=0; initial LEDG[0]=1'b0; CLOCK_50) begin count=count+1; if(count == 50_000_000) begin count=0; if(ledg[0]) LEDG[0]=1'b0; else LEDG[0]=1'b1; end end endmodule

56 VHDL-AMS

57 Is derived from VHDL ((IEEE standard ). Includes mix-signal extensions (AMS) to define analogic and mix signal systems (IEEE ). Code example: Describing a diode in VHDL-AMS

58 VHDL_AMS papers in IEEE Xplore !!

59 Entity VHDL-AMS Basic tructure Describes the interface of a physical device or system Specifies the inputs and outputs of the model (ports) Can specify the input parameters of the model (A =, B =, C =..) Architecture Describes the model Can have not only analogic signals (continuous) but also digital ones (discrete) Exemple: DC/DC convertor modeling Components (R, L, C, Diode, Switch, opamp, etc) Digital components modeling from the modulation circuit Defining the specifications of the power converter Input/Output Voltage, Power Operating mode (CCM, DCM, Current or Voltage mode) Current specifications Commutation frequency Load/line regulation

60 VHDL-AMS Digital Modeling

61 ANEXE SystemC CAD development tools example (Computer Aided Design)

62 SystemC SystemC is a library of classes developed for C++. Is used for electronic systems design SystemC library : assures parallel work (needed for hardware systems) Clocks (time) Hardware data types (bit vectors, 4-valued logic, fixed-point types, arbitrary precision integers) Modules, ports, signals (for hierarchies)

63 SystemC - synthesizable OR gate example #include "systemc.h" SC_MODULE(or_gate) { sc_in<sc_bit> a; sc_in<sc_bit> b; sc_out<sc_bit> c; a b c OR_GAT E Celoxica SystemC compiler void prc_or_gate() { c=a b; } SC_CTOR(or_gate) { SC_METHOD(prc_or_gate); sensitive << a << b; } };

64 Synthesis and compilation flow Synthesizab le subset Launch your executable (simulator) Celoxica agility synthesize r Quartus II Verilog/edif Rest of code (testbenches, SW code) Syste mc library Visual C++ executable Verilog file is used, compiled with Celoxica Agility and Quartus II software Visual C++ compiler along SystemC library The system is simulated by execution in the command window (command prompt)

65

66

67 Quartus from Altera = ISE Project Navigator from Xilinx

68 Simulation programs Behavioral Simulation: ModelSimis an industrial strength high level VHDL/Verilog simulator from Mentor Graphics. A light version of it (ModelSim XE II) is included with Xilinx's ISE WebPACK and a free license can be obtained from Xilinx. Dolphin SMASH: Multi-domain simulator, a version of SPICE with support for VHDL, VHDL-AMS and other simulation extensions - free download with limited abilities-. HAMSTER site: VHDL-AMS simulation environment -free download-. The Hamburg site for VHDL provides a wealth of information on high level behavioral modeling and synthesis tools. Behavioral Synthesis: FPGA vendors such as Xilinx and Altera have their own tools for synthesis from VHDL. For ASIC design, Synopsys and LeonardoSpectrum from Mentor Graphics can be used with the Tanner libraries to synthesize custom layout from VHDL.

69 Ansoft Simplorer - System Simulation Software for Multi-Domain Design Simplorer is a multi-domain system simulation software program. It is used for the design, modeling, analysis and optimization of high-performance systems that include electrical, thermal, electromechanical, electromagnetic, and hydraulic designs. These complex systems are commonly found in the automotive, aerospace/defense, and industrial automation industries. Simplorer provides a wide range of modeling techniques, analysis capabilities, and post processing. This enables the engineer to investigate system functionality, performance, and overall design verification. The result is a dramatic reduction in development time and cost, increased system reliability and system optimization. New in Simplorer v8 Next generation User Interface Advanced Model Editing Characterization tools Enhanced Spice and Pspice model import New component library concept Expanded VHDL-AMS functionality Enhanced Solver Performance Enhanced Transient Co-simulation with Maxwell New Dynamic Coupling with Maxwell/RMxprt/Q3D Extractor 3rd Party Co-simulation Coupling

70 VHDL-AMS mix-signal modeling language (analog/digital) but also for projects which include mixed technologies (Electric, Mecanic, Termic, Magnetic, etc.).

71 Simplorer example

72 Simplorer example Digital VHDL-AMS Modulator block modeling

73 References: [1] Prof. Sherief Reda Division of Engineering, Brown University Spring 2007 Reconfigurable Computing [2] [3] [4] - Accolade VHDL Reference Guide - [5] Steve Chwirka - Applying VHDL-AMS and other Advanced Modeling Techniques [6] - [7]

74

EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages

EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2014 1 Introduction to Verilog

More information

Lab #1. Topics. 3. Introduction to Verilog 2/8/ Programmable logic. 2. Design Flow. 3. Verilog --- A Hardware Description Language

Lab #1. Topics. 3. Introduction to Verilog 2/8/ Programmable logic. 2. Design Flow. 3. Verilog --- A Hardware Description Language Lab #1 Lecture 8, 9, &10: FPGA Dataflow and Verilog Modeling February 9, 11, 13, 2015 Prof R Iris Bahar Lab #1 is posted on the webpage wwwbrownedu/departments/engineering/courses/engn1640 Note for problem

More information

ENGN1640: Design of Computing Systems Topic 02: Lab Foundations

ENGN1640: Design of Computing Systems Topic 02: Lab Foundations ENGN1640: Design of Computing Systems Topic 02: Lab Foundations Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2014 1 Topics 1. Programmable logic 2.

More information

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2017 1 Topics 1. Programmable logic

More information

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2016 1 Topics 1. Programmable logic

More information

EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2

EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2 EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2 Professor Sherief Reda http://scaleenginbrownedu Electrical Sciences and Computer Engineering School of Engineering Brown University

More information

EN2911X: Reconfigurable Computing Lecture 05: Verilog (2)

EN2911X: Reconfigurable Computing Lecture 05: Verilog (2) EN2911X: Lecture 05: Verilog (2) Prof. Sherief Reda Division of Engineering, Brown University Fall 09 http://scale.engin.brown.edu Dataflow modeling Module is designed by specifying the data flow, where

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

ECE U530 Digital Hardware Synthesis. Course Accounts and Tools

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

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. 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 information

Digital Design with FPGAs. By Neeraj Kulkarni

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

Chap 3. Modeling structure & basic concept of Verilog HDL

Chap 3. Modeling structure & basic concept of Verilog HDL Chap 3. Modeling structure & basic concept of Verilog HDL Fall semester, 2016 Prof. Jaeseok Kim School of Electrical & Electronics Eng. Yonsei university jaekim@yonsei.ac.kr Digital System Design 3-1 Chapter

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog Verilog Radek Pelánek and Šimon Řeřucha Contents 1 Computer Aided Design 2 Basic Syntax 3 Gate Level Modeling 4 Behavioral Modeling Computer Aided Design Hardware Description Languages (HDL) Verilog C

More information

C-Based Hardware Design

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

Verilog introduction. Embedded and Ambient Systems Lab

Verilog introduction. Embedded and Ambient Systems Lab Verilog introduction Embedded and Ambient Systems Lab Purpose of HDL languages Modeling hardware behavior Large part of these languages can only be used for simulation, not for hardware generation (synthesis)

More information

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

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

Synthesis of Combinational and Sequential Circuits with Verilog

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

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 99-1 Under-Graduate Project Verilog Simulation & Debugging Tools Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 ACCESS IC LAB Outline Basic Concept of Verilog HDL Gate Level Modeling

More information

101-1 Under-Graduate Project Digital IC Design Flow

101-1 Under-Graduate Project Digital IC Design Flow 101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL

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

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification. 1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus

More information

Synthesizable Verilog

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

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

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation A Verilog Primer An Overview of Verilog for Digital Design and Simulation John Wright Vighnesh Iyer Department of Electrical Engineering and Computer Sciences College of Engineering, University of California,

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

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

Concurrent Signal Assignment Statements (CSAs)

Concurrent Signal Assignment Statements (CSAs) Concurrent Signal Assignment Statements (CSAs) Digital systems operate with concurrent signals Signals are assigned values at a specific point in time. VHDL uses signal assignment statements Specify value

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

EEL 4783: Hardware/Software Co-design with FPGAs

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

Contents. Appendix D Verilog Summary Page 1 of 16

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

Basic Language Concepts

Basic Language Concepts Basic Language Concepts Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) Describing Design Entities a sum b carry Primary programming abstraction is a design entity Register, logic block,

More information

Lecture 3 Introduction to VHDL

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

Inthis lecture we will cover the following material:

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

Introduction to Verilog/System Verilog

Introduction to Verilog/System Verilog NTUEE DCLAB Feb. 27, 2018 Introduction to Verilog/System Verilog Presenter: Yao-Pin Wang 王耀斌 Advisor: Prof. Chia-Hsiang Yang 楊家驤 Dept. of Electrical Engineering, NTU National Taiwan University What is

More information

Lecture #2: Verilog HDL

Lecture #2: Verilog HDL Lecture #2: Verilog HDL Paul Hartke Phartke@stanford.edu Stanford EE183 April 8, 2002 EE183 Design Process Understand problem and generate block diagram of solution Code block diagram in verilog HDL Synthesize

More information

Chapter 2 Using Hardware Description Language Verilog. Overview

Chapter 2 Using Hardware Description Language Verilog. Overview Chapter 2 Using Hardware Description Language Verilog CSE4210 Winter 2012 Mokhtar Aboelaze based on slides by Dr. Shoab A. Khan Overview Algorithm development isa usually done in MATLAB, C, or C++ Code

More information

Verilog HDL Introduction

Verilog HDL Introduction EEE3050 Theory on Computer Architectures (Spring 2017) Prof. Jinkyu Jeong Verilog HDL Introduction 2017.05.14 TA 이규선 (GYUSUN LEE) / 안민우 (MINWOO AHN) Modules The Module Concept Basic design unit Modules

More information

Introduction to VHDL. Main language concepts

Introduction to VHDL. Main language concepts Introduction to VHDL VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Current standard is IEEE 1076-1993 (VHDL-93). Some tools still only support VHDL-87. Tools used in the lab

More information

Introduction to VHDL. Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez

Introduction to VHDL. Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez Introduction to VHDL Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez What is VHDL? Very High Speed Integrated Circuit Hardware

More information

Verilog Module 1 Introduction and Combinational Logic

Verilog Module 1 Introduction and Combinational Logic Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog

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

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE

More information

Online Verilog Resources

Online Verilog Resources EECS 427 Discussion 6: Verilog HDL Reading: Many references EECS 427 F08 Discussion 6 1 Online Verilog Resources ASICs the book, Ch. 11: http://www.ge.infn.it/~pratolo/verilog/verilogtutorial.pdf it/ pratolo/verilog/verilogtutorial

More information

Subprograms, Packages, and Libraries

Subprograms, Packages, and Libraries Subprograms, Packages, and Libraries Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) function rising_edge (signal clock: std_logic) return boolean is declarative region: declare variables

More information

VHDL: A Crash Course

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

More information

Verilog Design Principles

Verilog Design Principles 16 h7fex // 16-bit value, low order 4 bits unknown 8 bxx001100 // 8-bit value, most significant 2 bits unknown. 8 hzz // 8-bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes

More information

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language 1 / 15 2014/11/20 0 EDA (Electronic Design Assistance) 0 Computer based language 0 HDL (Hardware Description Language) 0 Verilog HDL 0 Created by Gateway Design Automation Corp. in 1983 First modern hardware

More information

Hardware description language(hdl) VHDL and Verilog considerents

Hardware description language(hdl) VHDL and Verilog considerents Hardware description language(hdl) VHDL and Verilog considerents HDL Applications Hardware description languages (HDL - Hardware Description Language) are languages developed and optimized to describe

More information

VHDL is a hardware description language. The code describes the behavior or structure of an electronic circuit.

VHDL is a hardware description language. The code describes the behavior or structure of an electronic circuit. VHDL is a hardware description language. The code describes the behavior or structure of an electronic circuit. Its main applications include synthesis of digital circuits onto CPLD/FPGA (Complex Programmable

More information

Department of Computer Science and Electrical Engineering. Intro to Verilog II

Department of Computer Science and Electrical Engineering. Intro to Verilog II Department of Computer Science and Electrical Engineering Intro to Verilog II http://6004.csail.mit.edu/6.371/handouts/l0{2,3,4}.pdf http://www.asic-world.com/verilog/ http://www.verilogtutorial.info/

More information

Writing VHDL for RTL Synthesis

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

More information

Introduction to Verilog HDL. Verilog 1

Introduction to Verilog HDL. Verilog 1 Introduction to HDL Hardware Description Language (HDL) High-Level Programming Language Special constructs to model microelectronic circuits Describe the operation of a circuit at various levels of abstraction

More information

14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages

14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages 14:332:231 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 2013 Lecture #22: Introduction to Verilog Hardware Description Languages Basic idea: Language constructs

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

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1] FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed

More information

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden

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

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline EECS150 - Digital Design Lecture 4 - Verilog Introduction Feb 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec05-Verilog Page 1 Outline Background and History of Hardware Description Brief Introduction

More information

CSE140L: Components and Design Techniques for Digital Systems Lab

CSE140L: Components and Design Techniques for Digital Systems Lab CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check

More information

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 ECE 353 Lab 4 Verilog Review Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 Recall What You Will Do Design and implement a serial MIDI receiver Hardware in

More information

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Part II

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Part II Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Part II Ahmed Abu-Hajar, Ph.D. abuhajar@digitavid.net Digitavid, Inc San Jose, CA VHDL Lexical Description Code

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

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven

More information

EEL 4783: HDL in Digital System Design

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

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

register:a group of binary cells suitable for holding binary information flip-flops + gates

register:a group of binary cells suitable for holding binary information flip-flops + gates 9 차시 1 Ch. 6 Registers and Counters 6.1 Registers register:a group of binary cells suitable for holding binary information flip-flops + gates control when and how new information is transferred into the

More information

Verilog Behavioral Modeling

Verilog Behavioral Modeling Verilog Behavioral Modeling Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Source:

More information

Lecture 10 Subprograms & Overloading

Lecture 10 Subprograms & Overloading CPE 487: Digital System Design Spring 2018 Lecture 10 Subprograms & Overloading Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Subprograms

More information

EECS 427 Lecture 14: Verilog HDL Reading: Many handouts/references. EECS 427 W07 Lecture 14 1

EECS 427 Lecture 14: Verilog HDL Reading: Many handouts/references. EECS 427 W07 Lecture 14 1 EECS 427 Lecture 14: Verilog HDL Reading: Many handouts/references EECS 427 W07 Lecture 14 1 Online Verilog Resources ASICs the book, Ch. 11: http://www.ge.infn.it/~pratolo/verilog/verilogtutorial.pdf

More information

CSE140L: Components and Design

CSE140L: Components and Design CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam

More information

HDLs and SystemVerilog. Digital Computer Design

HDLs and SystemVerilog. Digital Computer Design HDLs and SystemVerilog Digital Computer Design Logic Arrays Gates can be organized into regular arrays. If the connections are made programmable, these logic arrays can be configured to perform any function

More information

IE1204 Digital Design L7: Combinational circuits, Introduction to VHDL

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

This Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)

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

Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog

Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work

More information

Lecture 32: SystemVerilog

Lecture 32: SystemVerilog Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

Computer-Aided Digital System Design VHDL

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

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

DIGITAL SYSTEM DESIGN

DIGITAL SYSTEM DESIGN DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:

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

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

Contents. Appendix D VHDL Summary Page 1 of 23

Contents. 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 information

EN2911X: Reconfigurable Computing Lecture 06: Verilog (3)

EN2911X: Reconfigurable Computing Lecture 06: Verilog (3) EN2911X: Lecture 06: Verilog (3) Prof. Sherief Reda Division of Engineering, Brown University Fall 09 http://scale.engin.brown.edu Level sensitive latch (D-Latch) The Verilog implementation of a D-latch

More information

Chip Design with FPGA Design Tools

Chip Design with FPGA Design Tools Chip Design with FPGA Design Tools Intern: Supervisor: Antoine Vazquez Janusz Zalewski Florida Gulf Coast University Fort Myers, FL 33928 V1.9, August 28 th. Page 1 1. Introduction FPGA is abbreviation

More information

Verilog Overview. Verilog Overview. Simple Example. Simple Example. Simple Example. Simple Example

Verilog Overview. Verilog Overview. Simple Example. Simple Example. Simple Example. Simple Example Verilog Overview Prof. MacDonald Verilog Overview C-Like Language used to describe hardware VHDL is main competitor VHDL is more rigorous and typed VHDL takes longer to write VHDL is used by 5% of USA

More information

OUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)

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

Verilog Design Principles

Verilog Design Principles 16 h7fex // 16-bit value, low order 4 bits unknown 8 bxx001100 // 8-bit value, most significant 2 bits unknown. 8 hzz // 8-bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes

More information

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

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

Hardware Modeling. VHDL Syntax. Vienna University of Technology Department of Computer Engineering ECS Group

Hardware Modeling. VHDL Syntax. Vienna University of Technology Department of Computer Engineering ECS Group Hardware Modeling VHDL Syntax Vienna University of Technology Department of Computer Engineering ECS Group Contents Identifiers Types & Attributes Operators Sequential Statements Subroutines 2 Identifiers

More information

ENGIN 241 Digital Systems with Lab

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

Digital Design (VIMIAA01) Introduction to the Verilog HDL

Digital Design (VIMIAA01) Introduction to the Verilog HDL BUDAPEST UNIVERSITY OF TECHNOLOGY AND ECONOMICS FACULTY OF ELECTRICAL ENGINEERING AND INFORMATICS DEPARTMENT OF MEASUREMENT AND INFORMATION SYSTEMS Digital Design (VIMIAA01) Introduction to the Verilog

More information

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed.

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed. VLSI SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING VLSI System Design 1 LAB 01 Schematic Introduction to DSCH and

More information

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

FPGA briefing Part II FPGA development DMW: FPGA development DMW: FPGA briefing Part II FPGA development FPGA development 1 FPGA development FPGA development : Domain level analysis (Level 3). System level design (Level 2). Module level design (Level 1). Academical focus

More information

Verilog. Verilog for Synthesis

Verilog. Verilog for Synthesis Verilog Verilog for Synthesis 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog enhanced version Verilog-XL 1987: Verilog-XL becoming more popular

More information

Digital Systems Design

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

More information