雖然我們學校第四章沒有要求做實驗(Architecture Lab ),但課后作業用到了Y86-64的模擬器,也是實驗材料的一部分。我在編譯模擬器的時候遇到了兩個困難,解決后在這分享一下。
1. Tcl/Tk等命令找不到
在編譯的時候我們會碰到“XXX命令找不到”的情況,這時只需要使用“sudo apt install XXX”即可(我這里是debian系)。但是要注意的是,再安裝Tcl/Tk的時候會默認安裝8.6的版本,而我們需要要指定安裝Tcl8.5和Tk8.5(sudo apt install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev),並將Makefile改為如下(即添加8.5的后綴):
這樣才能生成GUI的模擬器。
2. 沒有hcl2v
在課本上和sim/misc/README中都提到了有一個能夠將hcl轉換為verilog的程序,但在編譯后只有hcl2c。這是因為(可能是故意的吧)在sim/misc/Makefile中沒有加上生成hcl2v的指令。Vim輸入命令%s/yas hcl2c/yas hcl2c hcl2v/g
即可。隨后在sim/下編譯即可生成hcl2v:
使用該程序將seq-std.hcl轉換為verilog: