A Verilator based SoC simulator that allows you to define AXI Slave interface in software.
Device Support:
- UARTLite
- Serial 8250 (16550 Compatible)
- NSCSCC CONFREG (GPIO)
Easy to co-simulate with cemu.
A Verilator based SoC simulator that allows you to define AXI Slave interface in software.
CEMU 近期有一些变更没有同步到本仓库,这导致使用最新版本的 CEMU 来编译 SOC-Simulator 时出错。
例如 cyyself/cemu@60e812d 这个 commit 会导致编译 SOC-Simulator 时报“missing template arguments before 'cemu_mips'”。
In axi4.hpp, it is supposed to include or you will get error:
axi4.hpp:66:14: error: ‘set’ is not a member of ‘std’ 66 | std::set <void*> s;
我在使用soc_simulator实现incr类型的写事务过程中 (burst_len=0, burst_size=3, 数据总线宽度为64,地址总线宽度为32)遇到了一个问题
当窄传输时(一个传输示例如下),soc_simulator遇到了数据写入(axi4_mem.do_write处)为0的问题
仔细阅读源码后,发现程序axi4_slave.hpp:216处,作为存放wdata的w_buffer,传入do_wirte时所添加的偏移地址,in_data_pos始终为0,造成了无法与addr_base+addr
添加偏移地址的写地址所对应,因此写入了不存在的0
修改axi4_slave.hpp:216的do_write的w_buffer + in_data_pos
为w_buffer + addr
,即与前写地址偏移时的偏移量相同。完整216行代码如下:
w_resp = static_cast<axi_resp>(static_cast<int>(w_resp) | static_cast<int>(do_write(addr_base+addr,len,w_buffer+addr)));
修改过后的代码通过了全部cpu_test
这里叙述一个我axi的写操作,当我需要往0x800013C地址写入一个word数据时,一个写事务的主要信息:
- aw_burst = INCR
- aw_len = 0
- aw_size = 3
- aw_addr = 0x80000138
- w_mask = 0b11110000
- w_data = 0hxxxx_xxxx_0000_0000
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.