1emulator_ram: Memory.MappedMemory @ { 2 sysbus 0x20000000 3 } 4 size: 0x10000000 5 6ddr: Memory.MappedMemory @ { 7 sysbus 0xc0000000 8 } 9 size: 0x10000000 10 11uart: UART.LiteX_UART @ { 12 sysbus 0xf0001000 13 } 14 -> cpu@0 15 16eth: Network.LiteX_Ethernet @ { 17 sysbus 0xF0003800; 18 19 sysbus new Bus.BusMultiRegistration { address: 0x30000000; size: 0x2000; region: "buffer" }; 20 sysbus new Bus.BusMultiRegistration { address: 0xB0000000; size: 0x2000; region: "buffer" } 21 } 22 -> cpu@2 23 24spi: SPI.LiteX_SPI @ { 25 sysbus 0xF0006800 26} 27 28spi_loopback: SPI.SPILoopback @ spi 29 30i2c: I2C.LiteX_I2C @ { 31 sysbus 0xF0007000 32} 33 34si7021: Sensors.SI70xx @ i2c 5 35 model: Model.SI7021 36 37gpio_out: GPIOPort.LiteX_GPIO @ { 38 sysbus 0xF0005800 39} 40 type: Type.Out 41 0 -> led@0 42 43gpio_in: GPIOPort.LiteX_GPIO @ { 44 sysbus 0xF0006000 45} 46 type: Type.In 47 48cpuTimer: Timers.LiteX_CPUTimer @ { 49 sysbus 0xF0000800 50 } 51 // according to the LiteX Configuration this should be 10.000.000 Hz, but I modified it in order to obtain 10ms tick 52 frequency: 40000000 53 // IRQ #100 is Machine Timer Interrupt 54 -> cpu@100 55 56cpu: CPU.VexRiscv @ sysbus 57 cpuType: "rv32ima_zicsr_zifencei" 58 privilegedArchitecture: PrivilegedArchitecture.Priv1_10 59 timeProvider: cpuTimer 60 61led : Miscellaneous.LED @ gpio_out 0 62 63button: Miscellaneous.Button @ gpio_in 0 64 -> gpio_in@0 65