RTL行為級模擬(功能模擬)、綜合後門級功能模擬(前模擬)和時序模擬(後模擬)的區別
數位電路設計中一般有原始碼輸入、綜合、佈局佈線等三個比較大的階段,而電路模擬的切入點也基本與這些階段相吻合,根據適用的設計階段的不同模擬可以分為RTL行為級模擬、綜合後門級功能模擬和時序模擬。這種模擬輪廓的模型不僅適合FPGA/CPLD設計,同樣適合IC設計。
一、RTL行為級模擬
在大部分設計中執行的第一個模擬將是RTL行為級模擬。這個階段的模擬可以用來檢查程式碼中的語法錯誤以及程式碼行為的正確性,其中不包括延時資訊。如果沒有例項化一些與器件相關的特殊底層元件的話,這個階段的模擬也可以做到與器件無關。因此在設計的初期階段不使用特殊底層元件即可以提高程式碼的可讀性、可維護性,又可以提高模擬效率,且容易被重用。(絕大部分設計人員將這個階段的模擬叫功能模擬!)
二、綜合後門級功能模擬 (前模擬)
一般在設計流程中的第二個模擬是綜合後門級功能模擬。絕大多數的綜合工具除了可以輸出一個標準網表文件以外,還可以輸出Verilog或者VHDL網表,其中標準網表文件是用來在各個工具之間傳遞設計資料的,並不能用來做模擬使用,而輸出的Verilog或者VHDL網表可以用來模擬。
之所以叫門級模擬是因為綜合工具給出的模擬網表已經是與生產廠家的器件的底層元件模型對應起來了,所以為了進行綜合後模擬必須在模擬過程中加入廠家的器件庫,對模擬器進行一些必要的配置,不然模擬器並不認識其中的底層元件,無法進行模擬。Xilinx公司的整合開發環境ISE中並不支援綜合後模擬,而是使用對映前門級模擬代替,對於Xilinx開發環境來說,這兩個模擬之間差異很小。
三、時序模擬 (後模擬)
在設計流程中的最後一個模擬是時序模擬。在設計佈局佈線完成以後可以提供一個時序模擬模型,這種模型中也包括了器件的一些資訊,同時還會提供一個SDF時序標註檔案(Standard Delay format Timing Anotation)。SDF時序標註最初使用在Verilog語言的設計中,現在VHDL語言的設計中也引用了這個概念。