Comprehensive Verilog
Standard Level - 4 Tage
view dates and locations
In EnglishComprehensive Verilog® ist ein 4-tägiges Training, in dem die Anwendung der Hardwarebeschreibungssprache Verilog für PLD- und ASIC-Design vermittelt wird.
Das Kursprogramm umfasst die Sprache Verilog, das Codieren für RTL-Synthese (Register Transfer Level), Entwickeln von Text-Fixtures und die Arbeit mit Verilog-Tools. Darüber hinaus wird in SystemVerilog eingeführt.
Da Doulos herstellerunabhängig ist, können die Kursteilnehmer in der Regel ihre Designtools in den Workshops frei wählen. Die Workshops nehmen ca. 50% der Unterrichtszeit ein und basieren auf sorgfältig ausgearbeiteten Übungen, die die Kursteilnehmer in ihren neu erworbenen Kenntnissen herausfordern und das Erlernte untermauern.
Zielgruppe
- Ingenieure, die kurz vor ihrem ersten Verilog-Designprojekt stehen
- Hardwaredesigner, die bereits einige Praxiserfahrungen im Einsatz von Verilog gesammelt haben, die ihre Kenntnisse jedoch in einer Schulungsumgebung mit den Tools ihrer Wahl festigen und erweitern möchten
- Designer, die VHDL beherrschen, die sich jedoch in der Anwendung von und Interaktion mit Verilog HDL ebenfalls die entsprechenden Fähigkeiten aneignen müssen
Kursinhalte
- Verilog im FPGA/ASIC-Design-Flow
- Einsatz der Sprache Verilog für Hardwaredesign und Logiksynthese
- Schreiben umfassender Verilog-Text-Fixtures zur Designprüfung
- Vermeiden häufiger Fehler beim Codieren von Verilog für die Synthese
Voraussetzungen
Die Kursteilnehmer müssen am Kurs „Essential Digital Design Techniques“ (oder einem gleichwertigen Kurs) teilgenommen haben oder über gute Grundkenntnisse in digitalem Hardwaredesign verfügen. Vorkenntnisse in VHDL oder Erfahrungen mit Softwaresprachen sind nicht erforderlich.Kursunterlagen
Die Doulos Kursunterlagen sind für ihren umfassenden Informationsgehalt und die äußerst benutzerfreundliche Präsentation allgemein bekannt. In ihrem Aufbau, Inhalt und ihrer Themenbehandlung sind sie einzigartig im HDL-Schulungsbereich, was sie zu begehrten Nachschlagewerken hat werden lassen. In den Kursgebühren sind enthalten:- Kursskripte mit vollständigem Stichwortverzeichnis, die ein komplettes Referenzhandbuch darstellen
- Ein Arbeitsbuch mit nützlichen Beispielen zur Unterstützung bei der Wissensanwendung
- Der ‚Doulos Golden Reference Guide‘ für Verilog-Sprache, -Syntax, -Semantik und Tipps
- Tool Tour Guides (zur Unterstützung der Tools und Technologien Ihrer Wahl)
Structure and Content
What is Verilog? • Scope of Verilog • Design flow for ASICs, CPLDs and FPGAs • Introduction to synthesis • Synchronous design • Timing constraints • Verilog books and internet resourcesModules
Modules & ports • Continuous assignments • Wire assignments • Comments • Names • Nets and strengths • Design hierarchy • Module instances • Primitive instances • Text fixtures • $monitor • Initial blocks • Logic values • Vectors • RegistersNumbers, Wires and Regs
Numbers • Output formatting • Timescales • Always blocks • $stop and $finish • Using wires and registers correctlyAlways Blocks
Event control • If statements • Begin-end • Incomplete assignment and latches • FPGAs and latches • Unknown and don’t care • Conditional operator • TristatesProcedural Statements
Case, casez and casex statements • full_case and parellel_case directives • For, repeat, while and forever loops • integers • Self-disabling blocks • Combinational logic synthesisClocks and Flipflops
Synthesising flip-flops & latches • Avoiding simulation race hazards • Nonblocking assignments • Asynchronous & synchronous resets • Clock enables • Synthesizable always templates • RTL synthesis technology • Inferring flip-flops • Making best use of RTL synthesisOperators, Parameters, Hierarchy
Bitwise, reduction, logical and equality operators • Part selects • Concatenation & replication • Shift registers • Conditional compilation • Parameters • Hierarchical namesFinite State Machines
Designing state machines • State machine architectures • Verilog code-based FSM strategy • State encoding • Unreachable states & safe design practices • One-hot machinesSynthesis of Arithmetic and Counters
Arithmetic operators and their synthesis • Signed and unsigned values • Adder architectures • WYSIWYG arithmetic synthesis • Resource sharing • Integer and vector arithmeticTasks, Functions and Memories
Understanding tasks • Task arguments • Task synchronization • Tasks and synthesis • Functions • Memory arrrays • RAM modelling and synthesis • $readmemb and $readmemhTest Fixtures
Designing test fixtures • Writing to files • File access using MCDs • Reading from files • The Verilog Programming Language Interface (PLI) • Automated design verification using Verilog • Force and release • Gate-level simulation • Back annotation using SDF.• PLD and ASIC design flow • Verilog libraries • Command-line options • Behavioural modellingBehavioural Verilog
Algorithmic coding • Synchronization using waits & event control • Concurrent-disabling of always blocks • Named events • Fork & join • High-level modelling using tasks, Implicit FSMs and concurrent-disabling • Understanding intra-assignment controls • Overcoming clock skew • Blocking and nonblocking assignments • Continuous procedural assignment • Understanding unsynthesizable Verilog constructsProject Management & Good Practice
Writing Verilog for simulation and synthesis • Coding standards for synthesis • File organisation • Design data control • Functional validation • Methodical testing • Hierarchical design • Gated clocks • Asynchronous designSupplementary Subjects
The PLI
What is the PLI? • What is the PLI for? • How to use the PLI • TF, ACC and VPI routines • creating tests in CGate Level Verilog
Structural Verilog • Using built-in primitives • Net types & drive strengths • UDPs • Gate, net & path delays • Specify blocks • Smart paths • Pulse rejection • Cell library modellingVerilog-2001
What is Verilog-2001? • “Cosmetic” changes • General enhancements • Parameterisation and generate • Configuration and libraries • File I/OSystemVerilog
Background • Who is SystemVerilog for? • Current status of SystemVerilog • RTL enhancements • Interfaces • Assertions • Testbenches • C interface| Course Dates: | ||
|---|---|---|
| June 23rd, 2008 | San Jose, CA | Enquire |
| June 30th, 2008 | Bournemouth, UK | Enquire |
| July 1st, 2008 | Munich, DE | Enquire |
| August 18th, 2008 | Austin, TX | Enquire |
| September 8th, 2008 | Bournemouth, UK | Enquire |
| November 4th, 2008 | Munich, DE | Enquire |
| November 17th, 2008 | Bournemouth, UK | Enquire |
Price on request
Back to top

