1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-30 00:00:11 +01:00
Commit graph

184 commits

Author SHA1 Message Date
df89b63368 fix include paths 2018-08-21 11:07:53 +02:00
Daniel Krebs
b2698c8bd5 rtds2gpu: update register type to work for more complex payloads 2018-07-26 16:49:06 +02:00
Daniel Krebs
0cdc05c3d5 rtds2gpu: add struct for memory layout of rtds2gpu buffer 2018-07-11 16:06:48 +02:00
7409d2024d add more copyright / license headers 2018-06-25 17:03:09 +02:00
7fd6599ea6 update copyright years 2018-06-25 15:33:14 +02:00
Daniel Krebs
d853d5e0d3 wip GPU RTT 2018-06-06 09:55:14 +02:00
Daniel Krebs
49f0c2e0c4 unit test RTT via CPU to/from RTDS works! 2018-06-04 19:06:36 +02:00
Daniel Krebs
92bfe849b4 ips/rtds2gpu: use new connect interface 2018-06-04 17:36:36 +02:00
Daniel Krebs
f413712b86 gpu2rtds: unit test working 2018-06-04 17:36:36 +02:00
Daniel Krebs
010e0c3681 hls: add base HLS IP and enable virtual multi-inheritance
Virtual inheritance is required because (for example) the Rtds2Gpu
IP inherits from Hls and IpNode who both inherit from IpCore.
2018-06-04 17:36:36 +02:00
Daniel Krebs
5c67dc3727 rtds2gpu: update vlnv to match v1.1 and adapt config to new bitstream 2018-06-04 17:36:15 +02:00
Daniel Krebs
28458fdf8a update rtds2gpu HLS IP to v1.1
- better tested IP (testbenches)
 - detect invalid frame sizes
 - more status reporting
2018-06-04 17:36:15 +02:00
Daniel Krebs
bf286568dd rtds2gpu IP works 2018-06-04 17:36:15 +02:00
Daniel Krebs
47bd186f5e ip-node: move stream graph to IpNode and add easy-to-use connect interface 2018-06-04 17:31:12 +02:00
Daniel Krebs
28143e7188 ips/rtds: add C++ version of RTDS IP 2018-06-04 14:20:06 +02:00
Daniel Krebs
a93278b74e ips/dma: expose names of its treaming ports 2018-06-04 14:20:06 +02:00
Daniel Krebs
8e63785073 ips/dma: change interface, get byte count from {read,write}Complete() 2018-06-04 14:20:06 +02:00
Daniel Krebs
7479675361 ips/intc: remove unused code 2018-06-04 14:20:06 +02:00
Daniel Krebs
2e339b406d lib/ips: add data fifo IP needed for stream routing 2018-06-04 14:20:06 +02:00
Daniel Krebs
a0c5acce4c ip-node: implement connect interface and update AxiStreamSwitch implementation 2018-06-04 14:20:06 +02:00
Daniel Krebs
a1daf95202 lib/card: lookup IP by identifier 2018-06-04 14:20:06 +02:00
Daniel Krebs
967e39e36c ip-node: add implementation of StreamGraph for automatic routing 2018-06-04 14:20:06 +02:00
Daniel Krebs
5097827757 fix include paths, use <villas/...> style 2018-06-04 13:24:57 +02:00
Daniel Krebs
7dcdfaccd9 ips/dma: let user deal with making memory accessible to DMA
It is probably too costly to do (and verify) it on every read
or write. Furthermore, the user knows better how to make a certain
memory available to the DMA.
2018-05-15 18:04:24 +02:00
Daniel Krebs
89b5169a6e ips/pcie: parse AXI/PCI BARs and create mappings to/from PCIe address space
This is used for translations that don't use VFIO which used to bridge
the PCIe address space by creating direct mappings from process VA to
the FPGA. When we want to communicate directly via PCIe without the
involvment of the CPU/VFIO, we need the proper translations that are
configured in the FPGA hardware.
2018-05-15 18:04:24 +02:00
Daniel Krebs
364b137156 fpga/card: make pci device a class member (needed later) 2018-05-15 18:04:24 +02:00
Daniel Krebs
8f3833bc73 ips/dma: rename pingpong to memcpy and always connect loopback 2018-05-15 18:04:24 +02:00
Daniel Krebs
3e505c74bf ips/bram: add block RAM IP and use it with DMA test 2018-04-13 15:35:41 +02:00
Daniel Krebs
ae2bd2a41d lib/ip: alias type for memory block name and cache addres space IDs in IP 2018-04-13 15:35:41 +02:00
Daniel Krebs
507ea77ad6 ips/dma: add (simple) DMA driver 2018-03-26 16:17:26 +02:00
Daniel Krebs
4f6694420f lib: remove old and unused C files 2018-03-26 16:17:26 +02:00
Daniel Krebs
60882f1086 lib/memory: implement memory handling with allocators and blocks
This commit is 2/2 of a series of patches and not working on its own.
2018-03-26 16:17:20 +02:00
Daniel Krebs
b01a50184c kernel/vfio: port to C++
This commit is 1/2 of a series of patches and not working on its own.
2018-03-26 16:16:42 +02:00
Daniel Krebs
676fd9171c lib/ip: make logger a class member of IpCore
Logging is used everywhere and there's no justification of the clutter
and runtime overhead of `aut logger = getLogger();` everywhere.
2018-02-14 16:04:33 +01:00
Daniel Krebs
aa2b0b324f lib/ips/pcie: use cached address space id and supply interface to create mapping 2018-02-14 14:34:03 +01:00
Daniel Krebs
36259d00e0 lib/ip: save address space ids for each bus master interface 2018-02-14 14:34:03 +01:00
Daniel Krebs
5d99f11a34 lib/ip: move definition of getBaseAddr() back to header
This is a one-liner, so IMO increases readability.
2018-02-14 14:34:03 +01:00
Daniel Krebs
5940dcc0e5 lib/ips/fifo: remove useless code and old cruft 2018-02-14 07:28:25 +01:00
Daniel Krebs
3a8e332b42 lib/vlnv: add != operator and minor cleanup 2018-02-14 07:28:25 +01:00
Daniel Krebs
817d206243 lib/ip: formatting cleanup and more comments 2018-02-14 07:28:25 +01:00
Daniel Krebs
41e90bfda0 lib/ip: cleanup operators 2018-02-14 07:28:25 +01:00
Daniel Krebs
503d6b7f07 lib/ip: cleanup formatting and comments of IpCore's member variables 2018-02-14 07:28:25 +01:00
Daniel Krebs
e93b31bbf1 lib/ips: make use of MemoryManager and new config layout 2018-02-14 07:28:25 +01:00
Daniel Krebs
ef5f6fa3a8 lib/card: use memory manager to store vfio mapping 2018-02-14 07:27:37 +01:00
Daniel Krebs
5b0013b335 lib/card: add IP lookup by VLNV 2018-02-14 07:27:37 +01:00
Daniel Krebs
c3382b9e18 lib/card: pass string as const reference to lookupIp() 2018-02-14 07:27:37 +01:00
Daniel Krebs
409340433d enable -Wall, -Wextra and -Werror and fix new errors (fixes #20) 2018-02-13 16:04:34 +01:00
Daniel Krebs
ec8e9a1cd1 lib/ip-node: remove dangling function prototype 2018-01-30 15:13:23 +01:00
daniel-k
f14df8aa32 lib/ip: adapt to fit new config layout provided by hwdef-parse 2018-01-23 14:47:44 +01:00
daniel-k
fc98aaecb4 lib/ips/intc: C++-ify interface 2018-01-16 15:07:21 +01:00