码迷,mamicode.com
首页 > 其他好文 > 详细

jchdl - RTL实例 - MOS6502 ALU

时间:2018-11-14 22:45:17      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:逻辑   always   建模   cin   wrapper   name   添加   运行   ace   

 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

标签:逻辑   always   建模   cin   wrapper   name   添加   运行   ace   

原文地址:https://www.cnblogs.com/wjcdx/p/9960378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!