04 2023 档案
摘要:在开发过程中有时需要回退到以前的版本 备忘记录:(6条消息) git通过SHA或branch或tag获取指定版本仓库_FrontierSetter的博客-CSDN博客
阅读全文
摘要:一,生成配置 前面用rocket-chip仓库做了生成和前仿,为了方便扩展外设,这里转到chipyard仓库。 首先我们生成一个之前用的配置: 为删SimDTM(我的测试框架不需要),先在rocket的subsystem/config下创建一个class: 然后在chipyard顶层创建config
阅读全文
摘要:docker pull ubuntu:20.04 docker run --it --net=host --privileged=true ubuntu:20.04 /bin/bash apt updateapt速度慢可以换源:(6条消息) docker中ubuntu容器更换apt源_NotJc的博
阅读全文
摘要:之前曾分享过如何基于cake pattern在chipyard中添加自定义MMIO外设和ROCC加速器,那么如何在Rocket上添加GPIO,SPI,UART,I2C这些常规外设呢?用chipyard和rocket-chip哪个更方便呢?是时候做个总结了。 一,Rocket-chip 扩展外设 1,
阅读全文
摘要:Bootrom是嵌入处理器芯片内的一小块掩模ROM,包含处理器在上电或复位时执行的第一个代码。bootrom结构如下所示(图自10-02 晶片內建Boot Rom記憶體映設圖介紹_哔哩哔哩_bilibili): rocket中的code bootrom.s是rocket-chip/bootrom.S
阅读全文
摘要:文章地址: Diplomatic Design Patterns: A TileLink Case Study (carrv.github.io) 一,简介 Diplomacy是一种基于Scala语言的编程框架。在Chisel硬件描述语言构建的CPU核心设计中,单纯使用Chisel无法完成复杂的连线
阅读全文
摘要:这两个系统任务是用来从指定文件中读取数据到寄存器数组或者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] (编译选项用来控制编译过程)
阅读全文