事先規劃RTL結構

2021-08-21 23:51:51 字數 2323 閱讀 8424

2023年07月18日 00:23:47

目前成熟的eda工具都是將rtl(暫存器傳輸級)層次的硬體描述語言轉換為實際的電路。所謂rtl的含義就是d觸發器之間穿插著組合邏輯。對於組合邏輯,我們只需描述它輸入和輸出的關係表示式(用if-else和case語句)不必深究到底用怎樣的邏輯門來實現,而對於d觸發器,則是一定要做到心中有數,就是哪些變數會生成d觸發器。

舉例來說,乙個在clk時鐘驅動下,對輸入訊號in進行上跳沿捕獲的電路,其電路rtl結構如左圖所示,它的verilog**如下所示,另外,eda工具進行編譯之後,會提取出rtl結構如右圖所示,我們可以觀察eda工具解析出的rtl是否和我們預想的一致,這是一種重要的驗證手段。對於quartus工具,tools -> netlist viewer -> rtl viewer

頂層**:

module liuyang(clk , in , out);input clk ;input in ;output out ;wire d1r;

d1 d1_dut(.clk(clk) , .in(in) , .q1(d1r));

wire d2r;

d2 d2_dut(.clk(clk) , .in(d1r) , .q2(d2r));

assign out = d1r && (~d2r) ;

endmodule

觸發器一:

module d1(clk , in , q1);input clk ;input in ;output reg q1 ;always @ (posedge clk )

begin

q1 <= in ;

end

endmodule

觸發器二:

module d2(clk , in , q2);input clk ;input in ;output reg q2 ;always @ (posedge clk )

begin

q2 <= in ;

end

endmodule

rtl檢視:

專案結構粗略規劃

一 系統包的結構說明 dao 系統資料處理部分 service 系統業務處理部分 web 使用者介面處理部分 exception 系統異常處理部分 po 持久化類部分 bo 使用者新增或修改資料的模型 vo 使用者查詢資料的模型 util 系統工具 test 系統單元測試部分 front 表示系統前...

專案結構粗略規劃

一 系統包的結構說明 dao 系統資料處理部分 service 系統業務處理部分 web 使用者介面處理部分 exception 系統異常處理部分 po 持久化類部分 bo 使用者新增或修改資料的模型 vo 使用者查詢資料的模型 util 系統工具 test 系統單元測試部分 front 表示系統前...

演算法與資料結構 動態規劃

動態規劃 dp 的基本思想是 當前子問題的解可由上一子問題的解得出。動態規劃演算法通常基於由乙個遞推公式 狀態轉移方程 和若干個初始狀態 狀態 應用 1 lis longest increasing subsequence 求乙個陣列中的最長非降子串行的長度。子問題 我們可以考慮先求a 0 a 1 ...