RTL仿真??處理器設計的RTL仿真會比軟件的高層模型仿真還慢嗎?

1、RTL代碼(硬件表述語言代碼)→ 綜合 →網表

參考:https://zhidao.baidu.com/question/182505268.html
綜合就是把你寫的rtl代碼轉換成對應的實際電路。
比如你寫代碼assign a=b&c;
EDA綜合工具就會去元件庫裏拿一個二輸入與門出來,然後輸入端分別接上b和c,輸出端接上a
假如你寫了很多這樣的語句
assign a=b&c;
assign c=e|f;
assign e=x^y;
……
綜合工具就會像搭積木一樣的把你這些“邏輯”電路用一些“門”電路來搭起來。當然,工具會對必要的地方做一些優化,比如你寫一個電路assing a=b&~b,這樣工具就吧a恆接爲0了,而不會去給你找一個與門來搭這個電路。
所以,“綜合”要做的事情有:編譯rtl代碼,從庫裏選擇用到的門器件,把這些器件按照“邏輯”搭建成“門”電路。
不可綜合,是指找不到對應的“門”器件來實現相應的代碼。比如#100之類的延時功能,簡單的門器件是無法實現延時100個單元的。還有打印語句等,也是門器件無法實現的,這個應該很好理解。

所以說綜合,類似於軟件編程的“編譯”,不同的是“編譯”是把軟件語言轉換成二進制代碼在CPU運行,“綜合”是把硬件描述語言轉換成邏輯網表,就是一些與非門或者寄存器的連接方式。

參考:http://blog.eetop.cn/blog-56214-15486.html
綜合就是邏輯綜合器根據約束條件把Verilog(或VHDL)描述的 RTL(Register Transfer Level,寄存器傳輸級)設計,轉換爲可與FPGA/CPLD的門陣列基本結構相映射的網表文件網表文件包含使用工藝庫的標準邏輯單元構建系統的硬件電路的信息,決定了系統的功能、性能、時序特性等.而Verilog代碼風格和綜合器的性能將對邏輯綜合的生成的網表結果產生重要的影響.

2、RTL仿真

參考:https://bbs.csdn.net/topics/320070278
1、一般,邏輯分爲FPGA 和ASIC 兩類。FPGA 一般完成功能仿真(前仿真)就好了,延時不延時的,一般不會去做,之間上板測試了。但是ASIC 就不同了,前仿真完成後,就要進入後仿真階段。

2、後仿真分兩個大的階段:網表仿真,帶時序的網表仿真。
①網表仿真就是對綜合或DFT 後的網表進行仿真,執行系統級用例,看看綜合或插入DFT鏈,有沒有影響到功能;
②帶時序的網表仿真,是在網表仿真的基礎上,加上延時信息,這時候,不光有樓主說的“傳輸延時”,還有“器件延時”,延時由標準延時格式(SDF)文件定義;將SDF延時信息加載到網表上的操作稱爲“反標”,反標後,進行的系統級仿真就是帶時序的網表仿真,這個是最接近於真實情況的仿真。
在實際操作流程中,有時候網表仿真因爲意義不是特別大,會被省略;但是在實際操作中,網表仿真這一步一般省不了,因爲帶時序的網表仿真定位問題比較困難,因此,要先在不帶時序的網表仿真中解決問題。

所以到底RTL仿真會比Gem5這樣的高層模型還慢嗎?不知道。。。。。。希望有人給解釋一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章