0
A
回答
1
從Sodor README(https://github.com/ucb-bar/riscv-sodor):
我如何生成的Verilog自己?
您可以通過修改emulator/common/Makefile.include中的Makefile來生成Verilog代碼。在CHISEL_ARGS變量中,將「--backend c」更改爲「--backend v」。這會將核心的Top.v verilog文件及其臨時內存(對應於名爲「Top」的鑿子模塊)轉儲到CHISEL_ARGS中「--targetDir」指定的位置。
一旦你有了Top.v模塊,你將不得不編寫你自己的testharness和glue代碼來與Top.v交談。這裏的主要困難是您需要通過HTIF鏈接(「主機 - 目標接口」)將riscv-fesvr鏈接到Sodor內核。這允許fesvr將二進制文件加載到Sodor內核的暫存器內存中,使內核脫離重置,並在運行時處理任何系統調用,錯誤條件或測試成功/結束條件時與內核通信。
這基本上涉及將模擬器/ */emulator.cpp移植到Verilog。我建議編寫一個與現有C++代碼(emulator/common/htif_emulator.cc等)接口的Verilog測試程序。 emulator/common/htif_main.cc顯示了一個使用Synopsys的DirectC在Verilog測試工具和現有C++代碼之間進行連接的示例存根。
相關問題
- 1. 生成語句:verilog
- 2. 如何爲系統verilog生成ctags?
- 3. Verilog生成語句問題
- 4. 生成塊中的系統Verilog參數
- 5. 在verilog任務內部生成語句
- 6. Verilog代碼生成'不關心'迭代
- 7. 在verilog中使用for循環生成
- 8. 在verilog中生成自定義波形
- 9. 生成語句的Verilog放置約束
- 10. 生成環路中的Verilog端口
- 11. 如何合成xilinx核心生成器中生成的verilog核心?
- 12. 在Quartus II中生成合成後的verilog模型
- 13. VERILOG產生的if/else
- 14. Verilog隨機數發生器
- 15. Verilog:大總線或合成
- 16. Verilog:3D可合成參數
- 17. 如何在verilog中產生延遲合成?
- 18. 增加Verilog中的多個Genvars生成語句
- 19. 十六進制值在verilog循環中生成
- 20. 如何在Verilog生成塊中表示賦值邏輯數組?
- 21. 用於生成周期性波形的Verilog代碼
- 22. 鑿:Verilog的生成代碼聖馬丁和uint
- 23. 實例化名稱修改verilog下生成塊
- 24. 鑿子應該生成verilog測試臺邏輯嗎?
- 25. 門級Verilog:有條件的,生成門輸入
- 26. 在verilog問題中隨機生成相同的數字
- 27. 在Verilog中使用一個整數生成塊
- 28. 多鍾生成[Verilog的] [使用的fork-join]
- 29. 在Verilog中生成要編譯的多行
- 30. verilog testbench組件使用生成器實例化