Difference between revisions of "Verilog"
(sp it right!) |
(+cat) |
||
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
'''Verilog''' is a hardware description language used to model processes in the FPGAs of several HPSDR boards. | '''Verilog''' is a hardware description language used to model processes in the FPGAs of several HPSDR boards. | ||
− | A course was presented by Kirk Weedman. It | + | A course was presented by Kirk Weedman. It consisted of ten one hour recorded lectures on how to program in Verilog, |
− | including tools usage, and another five lectures on code walk-throughs for the code inside of [[MERCURY|Mercury]], [[PENELOPE|Penelope]], [[OZY|Ozy]], and the signal flows | + | including tools usage, and another five lectures on code walk-throughs for the code inside of [[MERCURY|Mercury]], [[PENELOPE|Penelope]], [[OZY|Ozy]], and the signal flows between them. Many lectures have an additional half hour of demonstrations or examples of the programming and simulation tools in the context of the lecture's topics. |
− | between them. | + | |
− | The lectures | + | Lectures 1 through 10 are about learning to program in Verilog. |
+ | |||
+ | Lectures 11 through 16 are special topics, focusing on the Verilog code as used inside of Mercury, Ozy, and Penelope, issues, and improvements being developed by Kirk for communicating between the modules, which all are in separate clock domains. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! width="500"|Lecture Title | ||
+ | ! width="100"|WMV format | ||
+ | ! width="100"|MP4 format | ||
+ | ! width="100"|Lecture notes and Labs | ||
+ | |- | ||
+ | | Lecture 1: Verilog as a Hardware Description Language (HDL) Overview, Introduction, Syntax and Rules. | ||
+ | | [http://verilog.openhpsdr.org/VerilogLecture_01_20090129.rar *] | ||
+ | | [http://verilog.openhpsdr.org/VerilogLecture_01_20090129_MP4.rar *] | ||
+ | | [http://verilog.openhpsdr.org/Lab1.rar *] | ||
+ | |- | ||
+ | | Lecture 2: The Verilog Hardware Description Language. Registers, Assignments, Operators, Statements, Functions, Tasks. | ||
+ | | [http://verilog.openhpsdr.org/2009-02-02_Verilog_Lecture02.rar 28MB] | ||
+ | | [http://verilog.openhpsdr.org/VerilogLecture_02_1280by720.rar 64MB. Sometimes blocked by chat window, hopefully it's OK.] | ||
+ | | [http://verilog.openhpsdr.org/VerilogLecture_02_iPhone.rar 53MB iPhone video], [http://verilog.openhpsdr.org/Lab2.rar Labs] | ||
+ | |- | ||
+ | | Lecture 3: What Good is Verilog? Programming Structure, Concurrent Processes, and The Notion of Time, Blocking Assignments, and The Simulation Process. | ||
+ | | | ||
+ | | [http://verilog.openhpsdr.org/Lecture_03_1280by960.rar 65MB] | ||
+ | | [http://verilog.openhpsdr.org/Lab3.rar Labs] | ||
+ | |- | ||
+ | | Lecture 4: Non-Blocking Assignments, and much more on Simulation Process | ||
+ | | [http://verilog.openhpsdr.org/Lecture_04_1280by960_WMV.rar 123MB] | ||
+ | | [http://verilog.openhpsdr.org/Lecture_04_1280by960_MP4.rar 85MB] | ||
+ | | [http://verilog.openhpsdr.org/Lab4.rar Labs] | ||
+ | |- | ||
+ | | Lecture 5: Digging Deeper, Strengths, Decompositions, I/O Assignments, Time and Time Scales Parameters and Primitives | ||
+ | | [http://verilog.openhpsdr.org/Lecture_05_1280by960_WMV.rar 90MB] | ||
+ | | [http://verilog.openhpsdr.org/Lecture_05_1280by960_MP4.rar 65MB] | ||
+ | | [http://verilog.openhpsdr.org/Lab5.rar Labs] | ||
+ | |- | ||
+ | | Lecture 6: Input/Output, Formatting, Monitoring, Files, "disable, fork and join" Statements Proceedural Continuous Assignments. Dealing with Delays | ||
+ | | [http://verilog.openhpsdr.org/Lecture_06_1280by960_WMV.rar 64MB] | ||
+ | | [http://verilog.openhpsdr.org/Lecture_06_1280by960_MP4.rar 43 MB] | ||
+ | | [http://verilog.openhpsdr.org/Lab6.rar Labs] | ||
+ | |- | ||
+ | | Lecture 7: Compiler Directives, Parameters, Files, Testbenches, Abstracting Operations. Bus Functional Models and Simulations | ||
+ | | [http://verilog.openhpsdr.org/VerilogLecture07_20080223.rar 32MB] | ||
+ | | | ||
+ | | [http://verilog.openhpsdr.org/Lab7.rar Labs] | ||
+ | |- | ||
+ | | Lecture 8: CPU Bus Functional Models. State Machines and code walk through of the "One-Wire" protocol. Bus Functional Models, Adding Observability, Full simulation and Timing Delays. | ||
+ | | [http://verilog.openhpsdr.org/Lecture_08_1280by960_WMV.rar 132MB] | ||
+ | | [http://verilog.openhpsdr.org/Lecture_08_1280by960_MP4.rar 116MB] | ||
+ | | [http://verilog.openhpsdr.org/Lab8.rar Labs] | ||
+ | |- | ||
+ | | Lecture 9: Synthesis Technology. Code walk through and simulation of the "N-Wire" Protocol. The Synthesis Process, Abstraction Levels, Register Transfer Language (RTL), Guidelines, Operators, Statements, Indexes, Inference, Resetting, Synchronous and Asynchronous Circuits. | ||
+ | | [http://verilog.openhpsdr.org/lecture_09_1280by960_WMV.rar 146MB] | ||
+ | | [http://verilog.openhpsdr.org/Lecture_09_1280by960_MP4.rar 105MB] | ||
+ | | [http://verilog.openhpsdr.org/Lab9.rar Labs] | ||
+ | |- | ||
+ | | Lecture 10: Synthesis Continued. Fan-In Logic, State Machines, Clocks and Timing considerations, Clock domains and Crossing Clock Domains. "N-Wire" as an example of dealing with issues crossing clock domains | ||
+ | | [http://verilog.openhpsdr.org/Lecture_10_1280by960_WMV.rar 101MB] | ||
+ | | [http://verilog.openhpsdr.org/Lecture_10_1280by960_MP4.rar 75MB] | ||
+ | | [http://verilog.openhpsdr.org/Lab10.rar Labs] | ||
+ | |} | ||
+ | |||
+ | The complete list of lectures is available at [http://verilog.openhpsdr.org/ http://verilog.openhpsdr.org/]. | ||
+ | |||
+ | [[Category:Developer resources]] |
Latest revision as of 11:03, 25 January 2010
Verilog is a hardware description language used to model processes in the FPGAs of several HPSDR boards.
A course was presented by Kirk Weedman. It consisted of ten one hour recorded lectures on how to program in Verilog, including tools usage, and another five lectures on code walk-throughs for the code inside of Mercury, Penelope, Ozy, and the signal flows between them. Many lectures have an additional half hour of demonstrations or examples of the programming and simulation tools in the context of the lecture's topics.
Lectures 1 through 10 are about learning to program in Verilog.
Lectures 11 through 16 are special topics, focusing on the Verilog code as used inside of Mercury, Ozy, and Penelope, issues, and improvements being developed by Kirk for communicating between the modules, which all are in separate clock domains.
Lecture Title | WMV format | MP4 format | Lecture notes and Labs |
---|---|---|---|
Lecture 1: Verilog as a Hardware Description Language (HDL) Overview, Introduction, Syntax and Rules. | * | * | * |
Lecture 2: The Verilog Hardware Description Language. Registers, Assignments, Operators, Statements, Functions, Tasks. | 28MB | 64MB. Sometimes blocked by chat window, hopefully it's OK. | 53MB iPhone video, Labs |
Lecture 3: What Good is Verilog? Programming Structure, Concurrent Processes, and The Notion of Time, Blocking Assignments, and The Simulation Process. | 65MB | Labs | |
Lecture 4: Non-Blocking Assignments, and much more on Simulation Process | 123MB | 85MB | Labs |
Lecture 5: Digging Deeper, Strengths, Decompositions, I/O Assignments, Time and Time Scales Parameters and Primitives | 90MB | 65MB | Labs |
Lecture 6: Input/Output, Formatting, Monitoring, Files, "disable, fork and join" Statements Proceedural Continuous Assignments. Dealing with Delays | 64MB | 43 MB | Labs |
Lecture 7: Compiler Directives, Parameters, Files, Testbenches, Abstracting Operations. Bus Functional Models and Simulations | 32MB | Labs | |
Lecture 8: CPU Bus Functional Models. State Machines and code walk through of the "One-Wire" protocol. Bus Functional Models, Adding Observability, Full simulation and Timing Delays. | 132MB | 116MB | Labs |
Lecture 9: Synthesis Technology. Code walk through and simulation of the "N-Wire" Protocol. The Synthesis Process, Abstraction Levels, Register Transfer Language (RTL), Guidelines, Operators, Statements, Indexes, Inference, Resetting, Synchronous and Asynchronous Circuits. | 146MB | 105MB | Labs |
Lecture 10: Synthesis Continued. Fan-In Logic, State Machines, Clocks and Timing considerations, Clock domains and Crossing Clock Domains. "N-Wire" as an example of dealing with issues crossing clock domains | 101MB | 75MB | Labs |
The complete list of lectures is available at http://verilog.openhpsdr.org/.