In English
Comprehensive 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.
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.
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:
What is Verilog? • Scope of Verilog • Design flow for ASICs, CPLDs and FPGAs • Introduction to synthesis • Synchronous design • Timing constraints • Verilog books and internet resources
Modules & ports • Continuous assignments • Wire assignments • Comments • Names • Nets and strengths • Design hierarchy • Module instances • Primitive instances • Text fixtures • $monitor • Initial blocks • Variables
Primitives • Wire assignments • Net types • Drive strengths • Logic values • Vectors • Numbers • Truncation • Signed numbers
Output formatting • Timescales • Always blocks • $stop and $finish • Using wires and registers correctly
RTL always blocks • Event control • Combinational logic sensitivity • If statements • Begin-end • Incomplete assignment and latches • FPGAs and latches • Unknown and don’t care • Conditional operator • Tristates
Case • casez • casex • full_case • parellel_case • For, repeat, while and forever loops • integers • Self-disabling blocks • Combinational logic synthesis
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 synthesis
Bitwise, reduction, logical and equality operators • Part selects • Concatenation & replication • Shift registers • Conditional compilation • include • Parameters • localparam • Hierarchical names
State transition diagrams • State machine architectures • FSM timing • Coding FSMs in Verilog • State encoding • One-hot state machines • Unreachable states & safe design practices
Arithmetic operators and their synthesis • Vector arithmetic • Bit-length of expressions • Signed and unsigned values • Adder architectures • WYSIWYG arithmetic synthesis • Arithmetic optimization • Resource sharing
Tasks • Task argument passing • Static vs automatic storage • Synthesis of tasks • Functions • Verilog memories • RAM modelling and synthesis • Inference vs instantiation • $readmemb and $readmemh • generate for/if/case •
Writing to files • $display • $strobe • $write • $monitor • Opening a closing files • File descriptors • Reading from files • $fscanf • Raw file I/O • $fgets • $fgetc • $fseek • $ftell
Design flow through to P&R • Gate-level simulation • Back annotation using SDF.• PLD and ASIC design flow • Verilog libraries • Command-line options • Test benches • Comparing actual vs expected outputs • Behavioural modelling
Algorithmic coding • real • event control • wait • Named events • Fork & join • External disable • Intra-assignment timing controls • Overcoming clock skew • Continuous procedural assignment • defparam • Hierarchical names
Structural Verilog • Using built-in primitives • Gate, net & path delays • Specify blocks • State-dependent delays • Pulse rejection • Cell library modelling • library • liblist • config • The Verilog PLI • PLI applications • PLI routines • The PLI in practice • The VPI
Overview of SystemVerilog • Status of SystemVerilog • RTL enhancements • Interfaces • Assertions • Testbenches • C interface
Verilog® is a registered trade mark of Cadence Design Systems Inc
Complete an enquiry form and a Doulos representative will get back to you.
Enquiry FormPrice on request