摘要:
这两个系统任务是用来从指定文件中读取数据到寄存器数组或者RAM、ROM中。除了可以在仿真的任何时刻被执行使用外,根据综合工具的不同,也可以用来对RAM或者ROM进行初始化(Vivado支持)。对于$readmemb和$readmemh系统任务,每个数字可以是二进制和十六进制数字。 使用格式共6种: 阅读全文
摘要:
tinyriscv测试通过iverilog和gtkwave实现,对其在指令集测试时如何判断test pass比较好奇,故分析一下这方面的代码。 一,外设模块与地址 tinyriscv挂了六个外设,rom从0x0000_0000开始,ram从0x1000_0000开始,而外设的地址在总线中定义,rib 阅读全文
摘要:
有道云笔记 (youdao.com) 重新进入docker后需要执行: 问题: spike如何获得标准输出?用于与后仿对比 解决: riscv-non-isa/riscv-arch-test (github.com) 阅读全文
摘要:
由于服务器不能随意代理,故需要通过替换url为镜像来提高速度 比如:https://github.com/riscv-software-src/riscv-tests.git 我们想替换为:git clone https://hub.yzuu.cf/riscv-software-src/riscv- 阅读全文
摘要:
../system/Config.scala中的常用配置: 基础config,配置了memport,mmioport等,生成了一个bigcore+基础配置 small核+基础配置 32位默认config核 ROCC核 tiny核,不带memport 只有memport的核 只有mmio的核 运行De 阅读全文
摘要:
一,概念 设备树(Device Tree)是描述计算机的特定硬件设备信息的数据结构,以便于操作系统的内核可以管理和使用这些硬件,包括CPU或CPU,内存,总线和其他一些外设。它起源于OpenFirmware。采用设备树后,许多硬件的细节可以直接传递给linux,不需要在内核中充斥着大量的冗余代码。 阅读全文
摘要:
在使用github开源项目时,常常项目需要预先安装需要的一些环境,而当项目多了后就使得计算机环境很乱: 因此用conda是一个很好的选择,下载和安装就不说了,网上教程也很多了。 先了解下基础概念: conda是一个配置隔离python环境的工具 因为有些时候我们需要不同版本的python或不同版本的 阅读全文
摘要:
chipyard吐出的设计文件包含以下(在vlsi目录下生成的): 打开dve可以查看设计层次和电路图: 一,chiptop功能说明 1,chipyard.TestHarness.RocketConfig.harness.v harness.v是soc的testbench,其顶层module为Tes 阅读全文
摘要:
一,基础介绍 VCS用来编译仿真verilog/systemverilog,先将HDL源文件转化为C文件,在linux下编译和链接生成可执行文件,运行可执行文件即可得到仿真结果。 编译命令格式 :vcs sourcefile [compile_time_option] (编译选项用来控制编译过程) 阅读全文
摘要:
一,memory基础 1,导览 Memory用来存储和读写的大量的二进制数据。按功能上分类,基本可以分为两大类:只读存储器(ROM)和随机存取存储器(RAM)。ROM只能读,不能写;RAM既能读又能写。RAM具有易失性。断电以后,RAM中保存的数据将全部丢失;而ROM中的数据则可以长久保存。 RAM 阅读全文