暫存器傳輸級

在數位電路設計中,暫存器傳輸級(英語:register-transfer level, RTL)是一種對同步數位電路的抽象模型,這種模型是根據數位訊號硬體暫存器、存儲器、組合邏輯裝置和匯流排等邏輯單元之間的流動,以及其邏輯代數運作方式來確定的。

基本介紹

  • 中文名:暫存器傳輸級
  • 外文名:register-transfer level
  • 領域:硬體
簡介,暫存器傳輸級描述,在電路設計流程中的地位,

簡介

暫存器傳輸級抽象模型在諸如VerilogVHDL硬體描述語言中被用於創建對實際電路的高層次描述,而低層次描述甚至實際電路可以通過高層次描述導出。在現代的數位設計中,暫存器傳輸級上的設計是最典型的工作流程。邏輯合成工具可以根據暫存器傳輸級的描述構建更低級別的電路描述。

暫存器傳輸級描述

圖中所示為一個能夠按照時間脈衝交替改變輸出邏輯電平的簡單電路。左邊的反相器(帶圓點的三角形)構成了組合邏輯(Combination logic)部分,而右邊的暫存器(Register)則保持當前的狀態。
一個同步電路由兩個主要元素構成:暫存器和組合邏輯電路。暫存器通常由D觸發器組成,按照給定時間脈衝來進行同步時序操作,這個部分使得時序邏輯電路具有記憶的功能。組合邏輯電路則由邏輯門組成,提供電路的所有邏輯功能。
例如,一個非常簡單的同步電路如右圖所示。暫存器的輸出端,通過一個反相器連線到其輸入端,這樣,每遇到一個時間脈衝的上升沿信號,輸出端的邏輯電平改變一次。在這個電路中,反相器構成了組合邏輯電路部分。
如果使用硬體描述語言來設計數字積體電路,設計人員通常並不在電晶體級進行設計,而是在更高的抽象級別(層次)進行工程設計。在硬體描述語言中,設計人員只需要聲明暫存器(就像在計算機程式語言中聲明變數一樣),然後使用類似計算機編程中的條件(if...then...else)、選擇(case)等運算符來描述組合邏輯的功能。我們把上述這樣級別的設計稱為暫存器傳輸級的設計。這個術語主要是指我們的關注點為信號在暫存器之間的流動。
例如,上面提到過的這個例子可以用下面的VHDL代碼來描述:
D <= not Q;   process(clk) begin     if rising_edge(clk)   then         Q <= D;         nd if; end process;
通過使用電子設計自動化工具來完成邏輯綜合,上面的代碼描述可以直接被“翻譯”為等效的硬體配置,這一步驟可以在專用積體電路或現場可程式邏輯門陣列上實現。邏輯綜合工具軟體一般還能夠將複雜的邏輯進行簡化,從而降低成本。
在暫存器傳輸級,可以分成幾種電路。如果暫存器的輸出端和輸入端存在環路,這樣的電路被稱為“狀態機”,常被歸類到時序邏輯電路中。如果暫存器之間有連線,而沒有上述的“迴環”,則這樣的電路結構被稱為“流水線結構”。

在電路設計流程中的地位

暫存器傳輸級流程是積體電路設計(Integrated circuit design)中進行邏輯設計的步驟。
一個暫存器傳輸級的描述通常會通過邏輯綜合工具轉換成邏輯門級電路連線網表的描述。然後,這一步的成果再經過布線等步驟,得到物理的電路。
這一過程通常還會使用邏輯模擬工具驗證暫存器傳輸級描述的功能是否正確。

相關詞條

熱門詞條

聯絡我們