This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
flink_vhdl [2018/01/29 21:57] – sfink | flink_vhdl [2020/05/28 10:11] – [VHDL] ursgraf | ||
---|---|---|---|
Line 4: | Line 4: | ||
</ | </ | ||
- | This is the user documentation for the fLink VHDL modules. At the current state flink is available for Altera and Xilinx FPGAs. | + | This is the user documentation for the flink VHDL modules. At the current state flink is available for Altera and Xilinx FPGAs. |
\\ | \\ | ||
\\ | \\ | ||
Line 18: | Line 18: | ||
* [[.: | * [[.: | ||
</ | </ | ||
- | * Quartus | + | * Quartus |
* Modelsim Altera 10.1d (only necessary for simulation of modules) | * Modelsim Altera 10.1d (only necessary for simulation of modules) | ||
- | * Instead of Altera Quartus, Xilinx | + | * Vivado (Tested with Version 2016.1, 2017.3 and 2017.4) |
+ | |||
+ | ===== Id and Unique_Id ===== | ||
+ | Every subdevice has a parameter '' | ||
+ | When a flink device is later scanned and all its contained subdevices read out, every subdevice is numbered with numbers starting from 0. This number is the '' | ||
+ | The '' | ||
+ | An userland application should use '' | ||
+ | |||
+ | ===== Info Subdevice ===== | ||
+ | An info subdevice serves for information purposes only. It comprises the fields '' | ||
+ | \\ | ||
+ | The field '' | ||
+ | |||
===== Building ===== | ===== Building ===== | ||
==== Quartus ==== | ==== Quartus ==== | ||
Line 40: | Line 53: | ||
- Compile the design and download it. | - Compile the design and download it. | ||
==== Vivado ==== | ==== Vivado ==== | ||
- | - Start Vivado and create a new project. | + | - Start Vivado and create a new project |
- | - Choose your appropriate | + | - Choose your appropriate |
- | - Under „Project Manager“ -> „Settings“ in the „General“ tab change target language to VHDL. | + | - Under //Project Manager// -> //Settings// -> //General// change target language to VHDL. |
- | - Under „IP“ -> „Repository“ add the flinkvhdl root directory | + | - Under //Project Manager// -> // |
- | - In the "IP INTEGRATOR" | + | - In the //IP INTEGRATOR// click // |
- | - Add a ZYNQ7 Processor System | + | - Add a ZYNQ7 processor system |
- | - Open the IP Catalog(blue cross) and add all needed subdevices found under User Repository->fLink-> | + | - Double click on the processor system. In the //clock configuration// |
- | - In the Block Design press "Run Connection Automation" -> add all Subdevices | + | - Add all desired subdevices. Add an //AXI Interconnect// |
- | - Right click on the ports of the subdevices and create | + | - Press //Run Connection Automation// to make necessary connections. If you forgot to add an //AXI Interconnect// |
- | - Open the „Address Editor“-tab and make sure that all devices have a Range of 4k and that there are no gaps between two devices. | + | - Edit the subdevices, choose properties such as uniqueId, number of channels or base clock. |
+ | - Right click on the outputs | ||
+ | - Open the //Address Editor// tab and make sure that all devices have a range of 4k and that there are no gaps between two devices. | ||
- Add pin mapping. For specific boards you can get your .xdc-files [[https:// | - Add pin mapping. For specific boards you can get your .xdc-files [[https:// | ||
- | - Ensure that every fLink Subdevice has its own unique id. | + | - Change |
- | - If an infoDevice is used double click on the IP and add the "Dev Size". Every fLink Subdevice has a dev size of 4096. | + | - Right click on your block design |
- | - Right click on your Block Design | + | - Under //PROGRAM AND DEBUG// select |
- | - Under „PROGRAM AND DEBUG“ select | + | - The resulting FPGA configuration file can be found under // |
- | ===== Id and Unique_Id ===== | ||
- | Every subdevice has a parameter '' | ||
- | When a flink device is later scanned and all its contained subdevices read out, every subdevice is numbered with numbers starting from 0. This number is the '' | ||
- | The '' | ||
- | An userland application should use '' | ||
- | |||
- | ===== Info Subdevice ===== | ||
- | An info subdevice serves for information purposes only. It comprises the fields '' | ||
- | \\ | ||
- | The field '' | ||
- | |||