Verilog HDL. Presented by: Amir Masoud Gharehbaghi

Relaterede dokumenter
ECE 551: Digital System * Design & Synthesis Lecture Set 5

Basic Design Flow. Logic Design Logic synthesis Logic optimization Technology mapping Physical design. Floorplanning Placement Fabrication

Chapter. Information Representation

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

ECE 551: Digital System Design & Synthesis Lecture Set 5

EE 447 VLSI Design. Lecture 8: Circuit Families. EE 447 VLSI Design

UNISONIC TECHNOLOGIES CO.,

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A +

VLSI Design. DC & Transient Response. EE 447 VLSI Design 4: DC and Transient Response 1

Modeling levels. Levels of hardware modeling. Possible set of levels (others exist)

Engineering of Chemical Register Machines

RoE timestamp and presentation time in past

Black Jack --- Review. Spring 2012

Online kursus: Programming with ANSI C

Niveauer af abstrakte maskiner

Heuristics for Improving

Niveauer af abstrakte maskiner

ME6212. High Speed LDO Regulators, High PSRR, Low noise, ME6212 Series. General Description. Typical Application. Package

Last Lecture CS Amp. I D V B M 2. I bias. A v. V out. V in. Simplified Schematic. Practical Implementation V GS

Bits, bit operationer, integers og floating point

Start af nyt schematic projekt i Quartus II

CHAPTER 8: USING OBJECTS

WIO200A Water in oil sensor

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

WIO200A INSTALLATIONS MANUAL Rev Dato:

Bilag 8. TDC technical requirements for approval of splitterfilters and inline filters intended for shared access (ADSL or VDSL over POTS).

United Nations Secretariat Procurement Division

Internt interrupt - Arduino

Unitel EDI MT940 June Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US

Bilag 1 GPS dataudskrifter fra Stena Carisma ved passage af målefelt

WI180C-PB. Online-datablad

Simulering af en Mux2

Delta Elektronik A/S - AKD

LoGen Generation and Simulation of Digital Logic on the Gate-Level via Internet

Linear Programming ١ C H A P T E R 2

Automatisk Branddetekterings- og Alarm-system Automatic Fire Detection and Alarm System

frame bracket Ford & Dodge

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

Sesam seminar nr Sesam seminar nr Opbygning af standard bibliotek til PLC / SCADA / MES

High Voltage AC & DC Film Capacitors

Molio specifications, development and challenges. ICIS DA 2019 Portland, Kim Streuli, Molio,

LX5280. High-Performance RISC-DSP for IP Licensing

Breaking Industrial Ciphers at a Whim MATE SOOS PRESENTATION AT HES 11

PEMS RDE Workshop. AVL M.O.V.E Integrative Mobile Vehicle Evaluation

En god Facebook historie Uddannelser og valgfag målrettet datacenterindustrien!?

program fibomain(input,output); var i, j,result : integer; var x, y: integer;

Popular Sorting Algorithms CHAPTER 7: SORTING & SEARCHING. Popular Sorting Algorithms. Selection Sort 4/23/2013

Boolsk algebra For IT studerende

Aflevering af OIOXML-skemaer Dokumentation

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

ECE495D ASIC Design Lab

VLSI Design I. Design for Test. Overview design for test architectures ad-hoc, scan based, built-in

Digital & Software Design. Software design for engineering systems

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/

On the complexity of drawing trees nicely: corrigendum

Brother HL-L2310D Laser

USER GUIDE Version 2.9. SATEL Configuration Manager. Setup and configuration program. for SATELLINE radio modem

Particle-based T-Spline Level Set Evolution for 3D Object Reconstruction with Range and Volume Constraints

FACULTY OF SCIENCE :59 COURSE. BB838: Basic bioacoustics using Matlab

EuroForm OCR-B Installation Guide

Computeren inderst inde

Oracle PL/SQL. Overview of PL/SQL

HP Color LaserJet Professional CP5225n Laser

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.

StarWars-videointro. Start din video på den nørdede måde! Version: August 2012

Netværk & elektronik

LINK-56K. Emulator for Motorola s DSPs. A Product of Domain Technologies, Inc.

Epson AcuLaser CX37DNF Laser

Vina Nguyen HSSP July 13, 2008

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Emergency ward simulation

CERTIFIKAT CERTIFICATE

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Velkommen. Backup & Snapshot v. Jørgen Weinreich / Arrow ECS Technical Specialist

Lithium-Ion Jump-Starters / Jumper Cables

Røgalarm Brugervejledning Læs brugervejledningen grundigt igennem før alarmen tages i brug

Lagerstyring i Microsoft Dynamics 365 for Finance and Operations

Basic statistics for experimental medical researchers

Boolsk algebra For IT studerende

ATEX direktivet. Vedligeholdelse af ATEX certifikater mv. Steen Christensen

The GAssist Pittsburgh Learning Classifier System. Dr. J. Bacardit, N. Krasnogor G53BIO - Bioinformatics

Programmering i C Intro og grundlæggende C 5. marts 2007

Software Design (SWD) Spørgsmål 1

PICTURE formater. Klog på SAS 15. marts 2012

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

% &$ # '$ ## () %! #! & # &, # / # 0&. ) / & #& #

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

Software Design (SWD) Spørgsmål 1

LED STAR PIN G4 BASIC INFORMATION: Series circuit. Parallel circuit HOW CAN I UNDERSTAND THE FOLLOWING SHEETS?

How Long Is an Hour? Family Note HOME LINK 8 2

Logiske Digitale Kredsløb 10. Agenda: Interaktion mellem bruger og kredsløb Kontakter og prel Displays

Main [OB1] Network 1: Network 2: Network 3: Network 4: Network 5: Network 6: Totally Integrated Automation Portal

Epson AcuLaser CX37DTNF Laser

Slot diffusers. Slot diffusers LD-17, LD-18

IBM WebSphere Operational Decision Management

Designing Complex FPGAs

Besvarelser til Lineær Algebra Reeksamen Februar 2017

Samsung Xpress SL-M2026W Laser

Transkript:

Verilog HDL Presented by: Amir Masoud Gharehbaghi Email: amgh@mehr.sharif.edu

Design Hierarchy Design Specification & Requirements Behavioral Design Register Transfer Level (RTL) Design Logic Design Circuit Design Physical Design Manufacturing

Design Automation (DA) Automatic doing task in design process: Transforming one form of design to another Verifying functionality and timing of design Generating test sequence for design validation Documentation

Hardware Description Languages (HDLs) Describing Hardware for: Design & Modeling Simulation Synthesis Testing Documentation

Top-Down Design System S1 S2 S3 S11 S12 S13 S31 S32 S121 S122 S123 S311 S312

Verilog General Features Support for timing information Support for concurrency

Verilog Abstraction Models Algorithmic implements a design algorithm in high-level language constructs RTL describes the flow of data between registers and how a design processes that data Gate-Level describes the logic gates and the connections between logic gates in a design Switch-Level describes the transistors and storage nodes in a device and the connections between them

Describing Components module module_name port_list ; // declarations // statements endmodule module and2 (o1, i1, i2); input i1, i2; output o1; assign o1 = i1 & i2; end module

Verilog Logic System 4 value logic system 0 zero, false 1 one, true X unknown, conflict Z high-impedance, unconnected

Verilog Data Types Nets Physical Connection between two devices wire, Registers Implicit Storage Do not Imply Hardware Memory Elements reg, integer (32 bit reg)

Correct Port Connection

Veriable Declaration wire range list_of_nets ; wire w1, w2; wire [7:0] w3; reg range list_of_registers ; reg [0:11] r2, r3; integer list_of_integers ; integer i1, i2;

Port Modes input range inpt_list ; output range inpt_list ; inout range inpt_list ; input a, b; output [7:0] c; Note: ports are always considered as net, unless declared elsewhere as reg (only for output ports)

Switch-Level Modeling MOS Switches: nmos pmos Bidirectiona Pass Switches tranif0 tranif1

Example: CMOS Inverter module cmos_inv (o1, i1); input i1; output o1; supply1 vcc; supply0 gnd; pmos p1(o1, vcc, i1); nmos n1(o1, gnd, i1); endmodule

Gate-Level Modeling Primitive Gates and, nand, or, nor, xor, xnor GateType delay name (out, in1, ); Buffer and Not buf, not GateType delay name (out, in); Tri-state Gates bufif0, bufif1, notif0, notif1 GateType delay name (out, in, en);

Gate Delays 1 delay #(delay) 2 delay #(rise_delay, fall_delay) 3 delay #(rise_delay, fall_delay, off_delay) Delay Elements min:typical:max

Example: Full Adder module fa (co, s, a, b, ci); input a, b, ci; output co, s; wire w1, w2, w3; xor #(10) x1(s, a, b, ci); and #(5, 4) a1(w1, a, b); and #(5, 4) a2(w2, a, ci); and #(5, 4) a3(w3, ci, b); or #(5:6:7) o1(co, w1, w2, w3); endmodule

Continuous Assignment Modeling Combinational Circuits assign delay net_var = expression ; assign #10 co = a&b a&ci b&ci; assign #12 s = a^b^ci;

Operators Arithmetic Relational Bit-wise Logical Conditional Shift Reduction Concatenation Replication

Bit-wise Operators ~ & ^ ~^ or ^~ NOT AND OR XOR XNOR

Arithmetic Operators + - * / % Addition (unary and binary) Subtraction (unary and binary) Multiplication Division Modulus assign a = b + c ;

Number Representation n Fddd n: length (default is 32) F: base format b Binary o Octal h hexadecimal d Decimal (default) ddd: legal digits for the base specified

Number Examples 100 8 b1000_0110 12 hf55-4 d13 16 h1ffx o34 // decimal // 8 bit binary // 12 bit hex // 4 bit decimal // 16 bit hex with // 4 lsb unknown bits // 32 bit octal

Shift Operators << >> Shift Left Shift Right assign a = b << 2; assign c = d >> 1;

Conditional Operator cond? true_result : false_result assign z = sel? a : b ;