2017-08-11 54 views
2

我是新來的ghdl模擬器,並在windows上使用ghdl。我在我的電腦上安裝了ghdl(ghdl-0.33-win32),並試用了簡單的加法器代碼,它工作正常。我目前需要模擬一些使用David Bishop的固定和浮點軟件包的數學方程。當我包括圖書館我和編譯提示錯誤:如何將vhdl定點庫加入ghdl-0.33?

"fixed_pkg" not found in library "ieee"

,或者如果我複製fixed_pkg_c文件到我的項目文件與工作編譯:

"fixed_pkg" not found in library "work"

有人可以告訴我的方式(或我應該遵循的命令集)來包含這些固定和浮動包?

+0

你用什麼命令行來調用GHDL?順便說一句。 GHDL 0.34將在未來幾天發佈。我們在發佈過程中仍然存在一些小問題,因此當前可見的0.34版本將被一個較新的文件再次覆蓋。 => https://github.com/tgingold/ghdl/releases – Paebbels

回答

2

A ghdl-0.33-win32安裝爲VHDL標準的IEEE 1076-2008修訂提供部分支持。

此支持包括David Bishop的固定和浮點綜合合格資源庫(參見IEEE Std 1076-2008,16預定義語言環境16.10定點包和16.11浮點包)。作爲該版本中公認的IEEE封裝,它們可在IEEE庫中找到。

ghdl -is 93c支持的缺省修訂版本(-1993支持範圍索引中的混合文字和表達式邊界,這在標準的後續修訂版本中受支持)。

通過使用--std = 08選項來分析(-a)和elaboration(-e)命令來完成與-2008修訂符合性的調用ghdl。

有使用的MCode(只是在時間碼)只在ghdl如在Win32分佈的時間代碼生成版本發現一個區別:

從最新GHDL Documentation部上Invoking GHDL爲運行命令:

run -r

Runs/simulates a design. The options and arguments are the same as for the elaboration command.

  • GGC/LLVM: simply, the filename of the executable is determined and it is executed. Options are ignored. You may also directly execute the program. The executable must be in the current directory.
  • mcode: the design is elaborated and the simulation is launched. As a consequence, you must use the same options used during analysis.

在諸如分佈式爲Win32一個的MCode版本-e精心命令是多餘的,且運行命令(-r)必須包括相同的選項作爲分析命令(-a)。

與GCC或LLVM版本的ghdl不同,mcode版本要求提供任何相關選項,以便爲運行命令提供詳細說明。

對於GCC或LLVM ghdl實現和VHDL文件和實體,用於分析的命令,制訂和模擬在文件中發現的實體將是:

ghdl -a --std=08 vhdl_file_name 
ghdl -e --std=08 entity_name 
ghdl -r entity_name 

運行命令(-r)來模擬還允許選擇多個體繫結構之一或聲明的配置。

對於ghdl的mcode版本,elaboration命令被忽略,沒有來自分析的目標代碼文件,也沒有生成單獨的可執行文件,而有一個庫文件(對於工作庫命名爲work並且對於-2008,這將是默認情況下命名爲work-obj08.cf)用於按照標準的要求來協調分析順序。

對於ghdl最小命令的的MCode版本將是:

ghdl -a --std=08 vhdl_file_name 
ghdl -r --std=08 entity_name 

當制定命令是多餘的,與運行命令和任何有效的闡述選項還與分析指令共享闡述前述仿真必須傳遞給運行命令。

library ieee; 
use ieee.fixed_pkg.all; 

要使用--std = 08你的實體或架構必須是上下文條款發表聲明的fixed_pkg發現可見範圍內的訪問爲fixed_pkg包在IEEE -2008庫使用條款使fixed_pkg中的聲明可見。

Tristan剛剛發佈了ghdl-0.34,它目前包含win32 mcode版本(mingw32)和64位LLVM版本(mingw64)。匹配GHDL Documentation提供彩條高亮段落中的有用提示。

由於ghdl是開源的,它在很大程度上取決於用戶反饋,以糾正操作和文檔中的差異。

差異可報告爲issue(需要github登錄)。反映ghdl文檔缺乏清晰性的問題可能會導致改進。

GTKWave,支持GHDL波形格式的波形瀏覽器可以從Sourceforge獲得。 ghdl也支持gtkwave使用的VCD和FST波形轉儲文件格式。