>>>>##### We have attached the Verilog Programming Reference Guide with the Course", #####<<<<
This Course of Verilog HDL Programming for Beginners is targeted for those enthusiasts and beginners who want to get idea of Verilog, Its programming methodology, syntax, operators, simulation steps etc. We have started this course from very basic to the designing combinational and sequential circuits (including Finite State Machine) Design.We have used Xilinx ISE Design suit in this course because of it's License is free from Xilinx (you just need to make a user acoount and follow: How to Get free Xilinx ISE Design suit License on Google ).
We have showed up you the implementation of Projects of ISE and Spartan 3E & Nexys 2 FPGA and there are some Demo of the implementation on Spartan 3E & Nexys 2FPGA. Finally we have Session on "How to Create PROM File with ISE and Program PROM of Spartan 3E & Nexys 2 FPGA".
So you can practice this course on Xilinx ISE Design Suit or Altera Quartus Suit.
Verilog is an Hardware Description Language used heavily for hardware design, synthesis, timing analysis , test analysis, simulation and implementation. The Verilog HDL is an IEEE standard - number 1364. The first version of the IEEE standard for Verilog was published in 1995. A revised version was published in 2001; this is the version used by most Verilog users.
The Verilog HDL is now maintained by a non profit making organization, Accellera, which was formed from the merger of Open Verilog International (OVI) and VHDL International. OVI had the task of taking the language through the IEEE standardization procedure.
In this Lecture we have talk on Overview of Verilog, Verilog Design Flow on FPGA Design, abstraction level of verilog, Basic Example of Verilog and Data Type/Operator of Verilog in detail. After completing this session you will have brief idea of Verilog, syntax of Verilog, Data type and operators.
Introduction and Basic Concepts Verilog
•Explain about the background of Verilog
•Define and explain the Verilog design flow
This MCQ' are based on the Lecture 2.
Multiple Choice Questions
Basic Logic Gate Design with Verilog HDL and ISE Design Suit has been shown on this lecture You will design basic logic gate (NAND) on Verilog, Synthesize the NAND Gate, write a Simulation Testbench/Testfixture for creating waveform of NAND gate and Finally we are going to implement the NAND gate with Constraint of Spartan 3E/Nexys 2 FPGA. At the end of this lecture a bitstream has been generated which we are going to use to program FPGA on another Session.
Simulation is the process of creating a vertual environment for the real time operation. In FPGA Design simulation is the process of generating waveform of different input state and corresponding output state. The Simulation provides the result which we are going to achieved on the hardware implementation, so the simulation is mostly followed for FPGA Design. ISE Design suit has inbuilt simulator which can simulate the testbench/testfixture type of simulation source and generate timing waveform. The simulation is the mostly preferred and done design process in FPGA design while the simulation process gives the exact result then only the design engineer proceed for Hardware Implementation of functionality.
In this lecture we are going to learn about how to write simulation testbench/testfixture for simulating a basic logic gate.
Conditional Statements are those statements which gives one output or statement when one condition is true and gives another output statement when the condition is false. so it checks a boolean expression and sends the flow of program on true or false situation.
In this lecture we have presented about different conditional statements as IF Statement, case statement, how to insert those conditional statement in Always Block, what is posedge @clk statement etc.
This is the Complete Video Series of this Section 3: Conditional Statement in Verilog. All the Lectures listed below in section 4 are taught in this video so you could Learn from video and from the Lectures/Articles and Quiz listed below.
Combinational Circuit are those circuit which takes some inputs and gives some combination of output. so the combinnational circuit are directly dependent on the current input. In this lecture we have discussed about different combinational circuit and we have desgin Full Adder which takes three inputs and gives sum and carry as output. We also have created a simulation testbench and generated simulation waveform for checking the functionality of Full Adder before implementation on real FPGA.
This Video is the complete Video of the Section 4: Combinaitnal Circuit Design in Verilog. All the Lectures listed below in section 4 are taught in this video so you could Learn from video and from the Lectures/Articles and Quiz listed below.
In this lab we have implemented Full Adder designed on previous section, we have synthesized the Full adder , simulated it on previous lecture now we have placed the constraint for Full adder implementation on Spartan 3E FPGA. After the implementation the Bitstream Generation process has been done, this bit file is going to used on next session for implementing/uploading it on FPGA.
In this lecture we can see the demonstration of Full adder on Spartan 3E/Nexys 2 or other FPGA if you target for . We have verified the functionality of Full Adder on FPGA with providing three inputs and observing the two output's.
In this lecture we have designed Encoder (2^n-->n) combinational circuit which encodes or converts 2^n data in to n data. Encoder can be of 16:4, 8:3, 4:2 etc. In this lecture we have design and simulate the 16:4 encoder on Verilog with ISE Design suit. From the simulation waveform we can validate/verify the functionality of encoder and its truth table.
Sequential Circuit are those circuit which takes combinational inputs and also takes the past output for generating the current output. so the sequential circuit consists of memory elements for generating outputs. examples of sequential circuit are flipflop, register, counter etc. In this Lecture we are going to design a Flip-Flop circuit (D Flip-Flop) and we are going to see the simulation waveform of D FF.
Finite state machine are those logical block on Digital Design which is used to solve any problem by differentiating different condition on define number of state. So in each define number of state some input might varry which generate some output and change the current state in to another state. Examples of Finite Machine Design implemented are Traffic Light Controller, Vending Machine Design, Car Parking and alarming system etc. The FSM is highly used methodology for solving real time problems with define number of state and state diagram representation.
Structural Design is the concept of utilizing previously written/scripted module on the recent module so the code resuability can be achieved. The Structural Design Approach make more easy to architect the larger project in to small parts and finally assembling it in to single one. While we design with Structural Design approach the called module has to be included on the same project to.
In this lecture we have introduce how to program PROM of Spartan 3E/Nexys 2 FPGA and There is another SPI PROM on Spartan 3E which can be programmed for bit file size more than 4 Mbit and less than 16 Mbit.
So we have attached tutorial of How to program PROM and SPI PROM on Spartan 3E/ Nexys FPGA.
We also have attached the Verilog Reference Guide for Students (Up to intermediate learners) in this Lecture which will very much helpful for learning Verilog intermediate Skills.
Krishna is an FPGA Engineer and Research Lead at Digitronix Nepal. Krishna had graduated on M.Sc Engineering Degree after B.E in Electronics and Communication Engineering.He has several paper published on IEEE and Google Scholar and he also have requested for Patent for Image Processing IP on FPGA.He is working on FPGA , ASIC and VLSI design and Verification from past 5+ years.He has worked for different multinational companies for FPGA/ASIC/VLSI Design and Verification.There are different IP and Bus verification Digitronix Nepal has marked for Industries.He had worked with different application based projects as Signal Processing for ADAS, IIOT and Computer Vision Applications. He had expertise on FPGA Design with VHDL/Verilog and Tcl with Tools experience of Xilinx ISE, VIVADO and Modelsim. Krishna had worked with Xilinx 7 Series FPGA boards and Ultrascale Boards for different embedded and custom applications.