This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
start [2015/02/24 09:01] – ursgraf | start [2023/11/01 14:10] – ursgraf | ||
---|---|---|---|
Line 6: | Line 6: | ||
flink is .. | flink is .. | ||
* an universal serial interface to FPGA's | * an universal serial interface to FPGA's | ||
- | * is open-source | + | * a collection of useful blocks in a FPGA |
- | * is highly | + | * open-source |
- | * is real-time capable | + | * highly |
+ | * real-time capable | ||
- | flink can be read as //fast link// or as the German " | + | flink can be read as //fast link// or as the German " |
+ | flink was developed at and is maintained by the Institute of Computer Science at [[http:// | ||
===== Overview ===== | ===== Overview ===== | ||
Line 19: | Line 21: | ||
* [[.: | * [[.: | ||
* [[.: | * [[.: | ||
+ | * [[.: | ||
* [[.: | * [[.: | ||
</ | </ | ||
Line 27: | Line 30: | ||
* flinkLinux: Kernel Modules | * flinkLinux: Kernel Modules | ||
* flinkLib: Userspace library for C/C++ | * flinkLib: Userspace library for C/C++ | ||
- | * flinkLibLite: Userspace library for OS-less systems for C/C++ | + | * flinkLite: Userspace library for OS-less systems for C/C++ |
* flinkUtils: Utilities and test programs for the flink library | * flinkUtils: Utilities and test programs for the flink library | ||
* flinkDeep: Library for Java | * flinkDeep: Library for Java | ||
- | === Typical use with C/C++ under an operating system === | + | ==== Typical use with C/C++ under an operating system |
<box red right 38% | **First Steps and Examples**> | <box red right 38% | **First Steps and Examples**> | ||
- | * [[.:flink:flink_first_steps|flink First Steps]] | + | * [[flink_first_steps|flink First Steps]] |
- | * [[.: | + | * [[flink_example_1|flink on a Phytec PCM032 Board]] |
- | * [[.: | + | * [[flink_example_2|flink on a Digilent ZYBO]] |
</ | </ | ||
- | Implement all necessary hardware modules with [[.:flink:flink_vhdl|flink VHDL modules and interfaces]] and choose a suitable interconnection with the available [[.:flink:flink_linux|flink Linux Kernel Modules]]. Develop your application using the [[.:flink:flink_lib|flink Userspace Library]]. The following picture shows the system setup. | + | Implement all necessary hardware modules with [[flink_vhdl|flink VHDL modules and interfaces]] and choose a suitable interconnection with the available [[flink_linux|flink Linux Kernel Modules]]. Develop your application using the [[flink_lib|flink Userspace Library]]. The following picture shows the system setup. |
- | [{{ .:flink:flinkoverviewlinux.png? | + | [{{ flinkoverviewlinux.png? |
===== System Architecture ===== | ===== System Architecture ===== | ||
Line 47: | Line 50: | ||
* **channel**: | * **channel**: | ||
- | [{{ .:flink:systemarchitectureexample.png? | + | [{{ systemarchitectureexample.png? |
===== Memory Mapping ===== | ===== Memory Mapping ===== | ||
Line 62: | Line 65: | ||
| function id |||||||||||||||| | | function id |||||||||||||||| | ||
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0| | |15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0| | ||
- | | | + | | |
- | All the available functions can be found in [[.:flink:subdevices|Available Subdevices]]. Next comes a subheader. It contains a configuration and status register. The meaning of the single bits of this register | + | All the available functions can be found in [[subdevices|Available Subdevices]]. Next comes a subheader. It contains a configuration and status register. The meaning of the single bits of these registers |
^Offset^Size [byte] ^Name^r/ | ^Offset^Size [byte] ^Name^r/ | ||
Line 72: | Line 75: | ||
|0x1c|4| | | |reserved| | |0x1c|4| | | |reserved| | ||
- | Header and subheader is followed by a subdevice specific part. The content varies according to the function and is listed in [[.:flink:subdevices|Available Subdevices]] | + | Header and subheader is followed by a subdevice specific part. The content varies according to the function and is listed in [[subdevices|Available Subdevices]] |