1. 程式人生 > >jchdl - RTL實例 - MOS6502 ALU

jchdl - RTL實例 - MOS6502 ALU

blob 積分 ssi put 內部 blank java 一次 mod

https://mp.weixin.qq.com/s/nMxYVC2djk7DdAforerZPA

使用jchdl RTL實現MOS6502 CPU的ALU。 參考鏈接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/rtl/example/Mos6502/Alu.java 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