Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
learn:software:tutorials:verilog-project-1:start [2017/01/11 19:23] – James Colvin | learn:software:tutorials:verilog-project-1:start [2021/11/17 19:21] – ↷ Links adapted because of a move operation Arthur Brown | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== Project Overview ===== | ===== Project Overview ===== | ||
- | The goal of this project is to type up our first Verilog project (but not program an FPGA quite yet, that's the next project) | + | The goal of this project is to learn about the components inside of a Verilog project (but not program an FPGA quite yet, that's the next project). If you have not already installed Vivado, you can find a guide to do so [[learn/ |
A list of the all of the Verilog projects can be found [[learn/ | A list of the all of the Verilog projects can be found [[learn/ | ||
Line 15: | Line 15: | ||
===== A Simple Example ===== | ===== A Simple Example ===== | ||
- | The general format for a Verilog® circuit | + | The general format for a Verilog® circuit is shown in the code in the picture below. Major keywords have been shown in blue, comments in green, Verilog requirements in pick, and key text strings the user must supply are shown in bolded italics. We will then go through each of the lines in detail to learn about what they do. |
{{ : | {{ : | ||
- | |||
- | ==== Finding the right place to type ==== | ||
- | If you haven' | ||
- | |||
- | //__opening screen with create new project button marked__// | ||
- | |||
- | |||
- | |||
- | |||
==== Timescale ==== | ==== Timescale ==== | ||
Line 50: | Line 41: | ||
==== Input, Output, and Bus ==== | ==== Input, Output, and Bus ==== | ||
Whenever you are writing a Verilog module, the first thing to do is to define the input and output signals. In the example in Fig. 1, there is one input signal “sw” coming from the onboard switch SW0, and one output signal “led” connected to LED0. How did we choose the names " | Whenever you are writing a Verilog module, the first thing to do is to define the input and output signals. In the example in Fig. 1, there is one input signal “sw” coming from the onboard switch SW0, and one output signal “led” connected to LED0. How did we choose the names " | ||
- | They came from the XDC file. __//need link to XDC file page description// | + | They came from the [[programmable-logic: |
Note, however, that input and output can be a group of wires as well. We call these groupings a bus. To declare the input or output as a bus, we need to provide the CAD tools with the index of the most significant bit (MSB) of the bus and the index of the least significant bit (LSB) of the bus. For example, the following code defines an 8-bit wide bus “sw”, where the left-most bit (MSB) has the index 7 and the right-most bit (LSB) has the index 0, with a colon '':'' | Note, however, that input and output can be a group of wires as well. We call these groupings a bus. To declare the input or output as a bus, we need to provide the CAD tools with the index of the most significant bit (MSB) of the bus and the index of the least significant bit (LSB) of the bus. For example, the following code defines an 8-bit wide bus “sw”, where the left-most bit (MSB) has the index 7 and the right-most bit (LSB) has the index 0, with a colon '':'' | ||
Line 92: | Line 83: | ||
* Assign statement passes the value of a signal/bus to another signal/bus. | * Assign statement passes the value of a signal/bus to another signal/bus. | ||
* Constant in Verilog HDL is presented in form of <Width in bits>'< | * Constant in Verilog HDL is presented in form of <Width in bits>'< | ||
+ | * A desire to check out [[learn/ | ||
tags to be added via the tag> and double curly braces around everything\\ | tags to be added via the tag> and double curly braces around everything\\ | ||
learn programmable-logic software tutorial vivado | learn programmable-logic software tutorial vivado |