Intro to Verilog - Massachusetts Institute of Technology
Intro to Verilog
? Wires ? theory vs reality (Lab1)
? Hardware Description Languages
? Verilog -- structural: modules, instances -- dataflow: continuous assignment -- sequential behavior: always blocks -- pitfalls -- other useful features
Reminder: Lab #1 due by 9pm tonight
6.111 Fall 2017
Lecture 3
1
Wires Theory vs Reality - Lab 1
Wires have inductance and resistance
noise during transitions
Voltage drop across wires LC ringing after transitions
30-50mv voltage drop in chip
power supply noise
6.111 Fall 2017
Lecture 3
2
Bypass (Decoupling) Capacitors
Electrolytic Capacitor 10uf
Bypass capacitor 0.1uf typical
6.111 Fall 2017
Through hole PCB (ancient) shown for clarity. Lecture 3
? Provides additional filtering from main power supply
? Used as local energy source ? provides peak current during transitions
? Provided decoupling of noise spikes during transitions
? Placed as close to the IC as possible.
? Use small capacitors for high frequency response.
? Use large capacitors to localize bulk energy storage
3
The Need for HDLs
A specification is an engineering contract that lists all the goals for a project:
? goals include area, power, throughput, latency, functionality, test coverage, costs (NREs and piece costs), ... Helps you figure out when you're done and how to make engineering tradeoffs. Later on, goals help remind everyone (especially management) what was agreed to at the outset!
? top-down design: partition the project into modules with welldefined interfaces so that each module can be worked on by a separate team. Gives the SW types a head start too! (Hardware/software codesign is currently all the rage...)
? Example ? a well defined Instruction Set Architecture (ISA) can last for generations ...
6.111 Fall 2017
Lecture 3
4
The Need for HDLs (cont'd.)
A behavioral model serves as an executable functional specification that documents the exact behavior of all the individual modules and their interfaces. Since one can run tests, this model can be refined and finally verified through simulation.
We need a way to talk about what hardware should do without actually designing the hardware itself, i.e., we need to separate behavior from implementation. We need a
Hardware Description Language
If we were then able to synthesize an implementation directly from the behavioral model, we'd be in good shape!
6.111 Fall 2017
Lecture 3
5
Using an HDL description
So, we have an executable functional specification that ? documents exact behavior of all the modules and their interfaces ? can be tested & refined until it does what we want
An HDL description is the first step in a mostly automated process to build an implementation directly from the behavioral model
HDL description
Logic Synthesis
Gate netlist
? HDL logic ? map to target library (LUTs) ? optimize speed, area
Place & route
? create floor plan blocks ? place cells in block ? route interconnect ? optimize (iterate!)
CPLD FPGA Stdcell ASIC
Functional design
Physical design
6.111 Fall 2017
Lecture 3
6
A Tale of Two HDLs
VHDL
Verilog
ADA-like verbose syntax, lots of redundancy (which can be good!)
Extensible types and simulation engine. Logic representations are not built in and have evolved with time (IEEE-1164).
C-like concise syntax
Built-in types and logic representations. Oddly, this led to slightly incompatible simulators from different vendors.
Design is composed of entities each of which can have multiple architectures. A configuration chooses what architecture is used for a given instance of an entity.
Design is composed of modules.
Behavioral, dataflow and structural modeling. Synthesizable subset...
Harder to learn and use, not technology-specific, DoD mandate
Behavioral, dataflow and structural modeling. Synthesizable subset...
Easy to learn and use, fast simulation, good for hardware design
6.111 Fall 2017
Lecture 3
7
Universal Constraint File - UCF
? Text file containing the mapping from a device independent HDL circuit net to the physical I/O pin. This allows Verilog (HDL) to be device independent.
net "ram0_data" loc="ab25" | fast | iostandard=lvdci_33 | drive=12;
? Assigns bit 35 of the signal ram0_data to pin ab25 on the IC ? Specifies the i/o driver configured for fast slew rate with 3.3V LVTTL level ? Specifies drive strength of 12mA
? Constraints may also include timing constraints. ? Don't worry ? all constraints for the labkit have been defined
? For Vivado, xdc file are used (Xilinx Design Constraint)
{PACKAGE_PIN H17 IOSTANDARD LVCMOS33 } [get_ports { LED[0] }];
? LED[0] is 3.3C CMOS being driven by IC Package H pin 17
6.111 Fall 2017
Lecture 3
8
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- hdl compiler for verilog rm 4 expressions huihoo
- summaryofsynthesisablesystemverilog university of cambridge
- verilog modeling for synthesis of asic designs auburn university
- structural design with verilog harvey mudd college
- table 7 1 verilog operators
- verilog modeling for synthesis of asic designs
- verilog 2001 quick reference guide uc davis
- intro to verilog massachusetts institute of technology
- verilog combinational logic worcester polytechnic institute
- summary of verilog syntax
Related searches
- intro to philosophy pdf
- intro to philosophy notes
- intro to ethics quizlet
- intro to finance pdf
- intro to business online textbook
- intro to finance textbook
- intro to philosophy textbook pdf
- intro to business
- intro to biology games
- intro to philosophy study guide
- intro to philosophy class
- intro to project management pdf