1:name: FastVDMA Cosimulation on Zynq
2:description: This script runs Linux with built in FastVDMA driver on Zedboard.
3
4using sysbus
5$name?="Zynq-FastVDMA"
6mach create $name
7
8machine LoadPlatformDescription @platforms/boards/zedboard.repl
9machine LoadPlatformDescriptionFromString 'dma: CoSimulated.CoSimulatedPeripheral @ sysbus <0x43c20000, +0x100> { frequency: 100000; limitBuffer: 100000; timeout: 10000; 0 -> gic@31; cosimToRenodeSignalRange: <0, +1>}'
10
11sysbus Redirect 0xC0000000 0x0 0x10000000
12
13$bin?=@https://dl.antmicro.com/projects/renode/zynq-fastvdma_vmlinux-s_13611036-802d102e9341668636631447e99389f79043c18d
14$rootfs?=@https://dl.antmicro.com/projects/renode/zynq-fastvdma_rootfs.ext2-s_33554432-7a53506ed3e6cdaf247280ad7025ff1aa4cb98c5
15$dtb?=@https://dl.antmicro.com/projects/renode/zynq-fastvdma.dtb-s_12284-4f3a630a9bce9e0984151b95e9efa581ef7525bf
16$dmaLinux?=@https://dl.antmicro.com/projects/renode/libVfastvdma-Linux-x86_64-12746432362.so-s_2078168-e066add0a343381e311b24264f5f700434601b50
17$dmaWindows?=@https://dl.antmicro.com/projects/renode/libVfastvdma-Windows-x86_64-12746432362.dll-s_3248733-b126ebbb295a6668560780c35b9f4652e2be833a
18$dmaMacOS?=@https://dl.antmicro.com/projects/renode/libVfastvdma-macOS-x86_64-12746432362.dylib-s_235688-84b6822a41f9b46f9890284aa2129d90713fb4eb
19
20### create externals ###
21
22showAnalyzer sysbus.uart1
23
24## set timer frequency ##
25ttc0 Frequency 33333333
26ttc1 Frequency 33333333
27
28macro reset
29"""
30    ### set registers ###
31
32    cpu SetRegister 0 0x000
33    cpu SetRegister 1 0xD32 # board id
34    cpu SetRegister 2 0x100 # device tree address
35
36    ### load binaries ###
37
38    sysbus LoadELF $bin
39    sysbus LoadFdt $dtb 0x100 "console=ttyPS0,115200 root=/dev/ram0 rw earlyprintk initrd=0x1a000000,32M" false
40    sysbus ZeroRange 0x1a000000 0x800000
41    sysbus LoadBinary $rootfs 0x1a000000
42"""
43dma SimulationFilePathLinux $dmaLinux
44dma SimulationFilePathWindows $dmaWindows
45dma SimulationFilePathMacOS $dmaMacOS
46
47runMacro $reset
48