1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-23 00:00:01 +01:00
VILLASnode/etc/fpga.conf

149 lines
2.8 KiB
Text

affinity = 0xC;
debug = 0;
stats = 1;
fpga = {
/* Card identification */
id = "10ee:7022";
slot = "01:00.0";
do_reset = true;
ips = {
axi_pcie_intc_0 = {
vlnv = "acs.eonerc.rwth-aachen.de:user:axi_pcie_intc:1.0";
baseaddr = 0xb000;
},
axi_reset_0 = {
vlnv = "xilinx.com:ip:axi_gpio:2.0";
baseaddr = 0x7000;
},
bram_0 = {
vlnv = "xilinx.com:ip:axi_bram_ctrl:4.0";
baseaddr = 0x0000;
size = 0x2000;
},
dma_0 = {
vlnv = "xilinx.com:ip:axi_dma:7.1";
baseaddr = 0x3000;
port = 1;
irq = 3; /* 3 - 4 */
},
timer_0 = {
vlnv = "xilinx.com:ip:axi_timer:2.0";
baseaddr = 0x4000;
irq = 0;
},
switch_0 = {
vlnv = "xilinx.com:ip:axis_interconnect:2.1"
baseaddr = 0x5000;
num_ports = 10;
},
fifo_mm_s_0 = {
vlnv = "xilinx.com:ip:axi_fifo_mm_s:4.1";
baseaddr = 0x6000;
baseaddr_axi4 = 0xC000;
port = 2;
irq = 2;
},
rtds_axis_0 = {
vlnv = "acs.eonerc.rwth-aachen.de:user:rtds_axis:1.0";
baseaddr = 0x8000;
port = 0;
irq = 5; /* 5 -7 */
inputs = {
in = "axis_interconnect:0"
},
outputs = {
out = "axis_interconnect:0",
};
irqs = {
ts = "axi_pcie_intc_0:5",
ovfl = "axi_pcie_intc_0:6",
case = "axi_pcie_intc_0:7",
}
},
dma_1 = {
vlnv = "xilinx.com:ip:axi_dma:7.1";
baseaddr = 0x2000;
port = 6;
irq = 3; /* 3 - 4 */
},
hls_dft_0 = {
vlnv = "acs.eonerc.rwth-aachen.de:hls:hls_dft:1.0";
baseaddr = 0x9000;
port = 5;
irq = 1;
period = 400; /* in samples: 20ms / 50uS = 400*/
harmonics = [ 0, 1, 3, 5, 7 ]
decimation = 1; /* 0 = disabled */
//harmonics = [ 0, 1, 2, 5, 22 ]
},
axis_data_fifo_0 = {
vlnv = "xilinx.com:ip:axis_data_fifo:1.1";
port = 3;
},
axis_data_fifo_1 = {
vlnv = "xilinx.com:ip:axis_data_fifo:1.1";
port = 6;
},
}
/* Configure switch */
paths = (
// DM Tests
// { in = "fifo_mm_s_0", out = "fifo_mm_s_0" },
// { in = "dma_1", out = "dma_1" },
// { in = "dma_0", out = "dma_0" }
// DFT <-> RTDS
// { in = "rtds_axis_0", out = "hls_dft_0" },
// { in = "hls_dft_0", out = "rtds_axis_0" }
// Linux <-> RTDS
// { in = "rtds_axis_0", out = "dma_1" },
// { in = "dma_1", out = "rtds_axis_0" }
// DFT <-> Linux
{ in = "dma_0", out = "hls_dft_0" },
{ in = "hls_dft_0", out = "dma_0" }
)
}
plugins = [
"./lib/cbmodels/simple_circuit.so"
]
nodes = {
dma_0 = {
type = "fpga";
datamover = "dma_0";
},
dma_1 = {
type = "fpga";
datamover = "dma_1";
},
fifo_0 = {
type = "fpga";
datamover = "fifo_mm_s_0";
use_irqs = true
},
simple_circuit = {
type = "cbuilder";
model = "simple_circuit",
timestep = 25e-6;
parameters = [
1.0, /**< R2 = 1 Ohm */
0.001 /**< C2 = 1000 uF */
];
}
}
paths = (
// { in = "dma_1", out = "dma_1" },
{ in = "dma_1", out = "simple_circuit", reverse = true }
)