jchdl - RTL实例 - MOS6502 ALU
Posted wjcdx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jchdl - RTL实例 - MOS6502 ALU相关的知识,希望对你有一定的参考价值。
https://mp.weixin.qq.com/s/nMxYVC2djk7DdAforerZPA
使用jchdl RTL实现MOS6502 CPU的ALU。
参考链接
1.创建Alu.java, 并生成构造方法和logic()方法
略
2. 根据逻辑原理,添加输入输出接口
??
输入输出线作为类成员存在。使用注解标明是input port还是output port。
使用的内部变量如下:
??
3. 在构造方法中搜集输入输出线并调用construct()方法
??
首先调用父类即Module类的构造方法,以构建模块hierarchy。
然后逐个把输入输出参数与input/output port对应上。
然后调用construct()方法构造模块(调用一次logic()方法,搜集模块的assign/always代码块、子模块)。
4. 在logic()方法中创建assign/always代码块,以及子模块
??
??
其中,updateTempLogic()实现如下:
??
updateTempBI()实现如下:
??
5. 创建inst静态方法方便后续使用
略
6. 创建main方法执行验证
??
??
运行结果为:
??
7. 生成Verilog
生成定制化模块名:
略
调用toVerilog()方法生成Verilog实现。
略
执行结果如下:
??
??
??
??
以上是关于jchdl - RTL实例 - MOS6502 ALU的主要内容,如果未能解决你的问题,请参考以下文章
jchdl - RTL实例 - Adder
jchdl - RTL实例 - AndAnd
jchdl - RTL实例 - AndReg
jchdl - RTL实例 - Mux
jchdl - RTL实例 - Counter4
jchdl - RTL实例 - Adder4Carry