R8051_simulation
1 下载
git clone https://github.com/risclite/R8051.git
2 编辑文件
mkdir work && mv sim tb
flist
../rtl/r8051.v
../tb/tb.v
makefile:
com:
irun -f flist -incdir ../rtl -timescale 1ns/1ns
3 仿真
make com
LCALL_FUNC
RET_FUNC
RETI_FUNC
AJMP_FUNC
SJMP_FUNC
JMP_FUNC
JZ_FUNC
JNZ_FUNC
CJNE_A_DI_REL
CJNE_A_DA_REL
CJNE_RN_DA_REL
CJNE_RI_DA_REL
DJNZ_RN_REL
DJNZ_DI_REL
Test success!
Test finished!
Test over, simulation is OK!
Simulation stopped via $stop(1) at time 1525335 NS + 0
../tb/tb.v:101 $stop(1);
4 说明
代码中将stdio.h里的printf重构,printf其实是往SFR_99这个地址写字符串,然后通过tb监测sfr_99的写入值,并$write出来。
109 always @ ( posedge clk )
110 if ( ram_wr_en_sfr & ( ram_wr_addr[7:0]==8'h99 ) )
111 $write("%s",ram_wr_byte);
112 else;
R8051_simulation的更多相关文章
随机推荐
- Codeforces 1228A、Distinct Digits
原题 原题网址 题目大意 给定一个区间(上下界都是整数),判断该区间内是否存在一个整数的数字两两不同. 数据结构 一个数组flag,记录0-9是否出现过. 思路 外层循环枚举该区间内所有整数. 首先初 ...
- transformers 之Trainer对应的数据加载
基础信息说明 本文以Seq2SeqTrainer作为实例,来讨论其模型训练时的数据加载方式 预训练模型:opus-mt-en-zh 数据集:本地数据集 任务:en-zh 机器翻译 数据加载 Train ...
- VS2010 发布网站总是连同cs文件一起发布了
选择第一个,保存再发布.cs文件 都删除了.
- (jmeter笔记) websocket接口测试
1.在进程选择WebSocket Sampler 2.Websocket Sampler 界面 webserver Server Name or IP:输入连接的websocket服务器ip Port ...
- 在k8s中使用harbor仓库
在k8s中使用harbor仓库 修改每个node上的docker认证仓库 将每个node节点上的docker同样需要配置可信任仓库 vi /etc/docker/daemon.json #修改为 {& ...
- vue过滤出字符串中的汉字,match加正则
vue过滤出字符串中的汉字,match加正则 str="23申迪MTN001(102380026)";str.match(/[\u4e00-\u9fa5]/g).join(&quo ...
- 函数记录CAM
UF_PARAM_generate 生成刀轨 UF_PARAM_duplicate 此函数创建与"old_obj_tag"类型相同的新对象.它使用'old_obj_tag'数据初 ...
- 关于vCenter6.7 导出的ovf 不能导入vCenter6.5/6.0的问题
正常从6.7导出ovf文件,包含四个文件. 编辑ovf文件,删除下面五条条目, 导入6.5时, 只用 ovf 和 vmdk 这两个文件导入 ,即可!
- 「postOI」Cross Swapping
题意 给出一个 \(n\times n\) 的矩阵 \(A\),你可以进行下述操作任意多次:指定整数 \(k\)(\(1\le k\le n\)),使 \(A_{ni}\) 与 \(A_{in}\) ...
- 最简spring IOC实现
public class Main { public static void main(String[] args) throws Exception { Class<Address> a ...