
CPU设计实战
文章平均质量分 76
疯狂的码泰君
代码不是信仰,又有什么可以成为信仰呢!哦,还有鲁能泰山!!!
展开
-
LoongArch 指令集学习
把一些常见的LoongArch指令集的指令总结了一下,包括指令格式和指令码!原创 2023-10-19 10:22:04 · 2639 阅读 · 0 评论 -
LoongArch 指令集异常-中断指令学习与设计
龙芯架构 32 位精简版中处理器核分为 2 个特权等级(Privilege LeVel,简称 PLV),分别是 PLV0 和 PLV3。处理器核当前处于哪个特权等级由 CSR.CRMD 中 PLV 域的值唯一确定。所有特权等级中,PLV0 是具有最高权限的特权等级,也是唯一可以使用特权指令并访问所有特权资源的特权等级。PLV3 这个特权等级不能执行特权指令访问特权资源。对于 Linux 系统来说,架构中仅 PLV0 级可对应核心态,PLV3 级对应用户态。原创 2023-12-25 16:14:13 · 690 阅读 · 0 评论 -
LoongArch指令集-特权指令系统——摘抄自胡伟武体系结构和龙芯架构32位精简版参考手册
在计算机系统层次结构中,应用层3在操作系统层之上,只能看到和使用指令系统的一个子集,即指令系统的用户态部分。每个应用程序都有自己的寄存器、内存空间以及可执行的指令。现代计算机的指令系统在用户态子集之外还定义了操作系统核心专用的特权态部分,我们称之为特权指令系统。现代计算机的操作系统都实现了保护模式,至少需要用户态和核心态两种运行模式。应用运行在用户态模式下,操作系统运行在核心态模式下。因此,指令系统必须有相应的运行模式以做区分。LoongArch定义了PLV0~PLV3四种模式。原创 2023-12-25 15:38:54 · 2116 阅读 · 0 评论 -
在 Ubuntu22.04上安装仿真工具 Verilator——翻译自官网
在Ubuntu22.04上安装Verilog仿真工具Verilator 的步骤!原创 2023-11-29 14:49:17 · 2479 阅读 · 0 评论 -
基于LoongArch指令集-五级流水线CPU 乘除法指令的添加
调用Xilinx IP实现乘除法运算部件。原创 2023-11-14 19:29:19 · 856 阅读 · 1 评论 -
LoongArch 五级流水线实现
在单周期的基础上进行拆分成取指、译码、执行、访存、写回五级流水线。原创 2023-10-29 11:36:07 · 775 阅读 · 0 评论 -
vivado TCL 脚本使用——loogarch指令集 实验exp6
然后打开Tools——Run Tcl script,执行create_project.tcl文件,静待完成。首先从Window-tcl console 调出终端。也就是run_vivado 目录。然后执行进入指定目录。原创 2023-10-19 09:44:42 · 399 阅读 · 0 评论 -
LoongArch 指令集设计——单周期5条指令exp5
/ dc_envexp1 : 跑马灯实验。熟悉Vivado和FPGA实验环境基本使用技能。exp2 : 寄存器堆仿真;exp3 : 同步、异步 RAM 仿真、综合实现;exp4 : 数字逻辑电路的设计与调试。exp5 : 5条指令单周期CPU,跑斐波那契数程序,给RTL填空方式。exp6 : 20条指令单周期CPU,测试规模缩减版func的n1~n20,给RTL找错误并修正。原创 2023-10-17 17:28:05 · 2470 阅读 · 0 评论 -
仿真调试说明——摘抄龙芯杯官方文件
本文档编写采用的调试思路是时间上先定错,空间上再定错。时间上先定错:在出错的大片时间段里,定位出源头部分,源头部分是一个较小的时间段空间上再定错:在源头时间段里,查看设计电路的控制部分和数据通路,定位是哪个信号带来的错误,或者是哪几个信号的组合带来的错误,或者是设计上哪里有疏忽带来的错误。原创 2023-10-04 17:03:45 · 414 阅读 · 0 评论 -
《CPU设计实战》第四章lab3记录找bug
一个信号一个信号找下去,发现ID_stage.v中load_op未赋值。原创 2023-10-04 15:40:55 · 1252 阅读 · 0 评论 -
《CPU设计实战》lab3记录——golden_trace.txt生成
在历经仿真错误后,才发现需要先用linux虚拟机编译,可能生成trace的时候需要这里面的文件吧。原创 2023-09-26 09:38:25 · 430 阅读 · 0 评论