一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RTL時序邏輯的綜合要求

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2023-01-13 13:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)字門級電路可分為兩大類:組合邏輯和時序邏輯。鎖存器是組合邏輯和時序邏輯的一個交叉點,在后面會作為單獨的主題處理。

組合邏輯描述了門級電路,其中邏輯塊的輸出直接反映到該塊的輸入值的組合,例如,雙輸入AND門的輸出是兩個輸入的邏輯與。如果輸入值發(fā)生變化,輸出值將反映這一變化,組合邏輯的RTL模型需要反映這種門級行為,這意味著邏輯塊的輸出必須始終反映該邏輯塊當(dāng)前輸入值的組合。

SystemVerilog有三種在可綜合RTL級別表示組合邏輯的方法:連續(xù)賦值語句、always程序塊和函數(shù)。接下來幾篇文章將探討每種編碼風(fēng)格,并推薦最佳實踐編碼風(fēng)格。

c6752962-9301-11ed-bfe3-dac502259ad0.png

時序邏輯概念

時序邏輯描述了一種重要的門級電路,其中輸出反映了一個由門的內(nèi)部狀態(tài)存儲的值。只有特定的輸入變化,如時鐘沿,才會導(dǎo)致存儲的變化。對于D觸發(fā)器,時鐘輸入的特定邊沿將改變觸發(fā)器的存儲,但D輸入值的變化并不直接改變存儲。相反,特定的時鐘沿會使觸發(fā)器的內(nèi)部存儲更新為時鐘沿的D輸入值。

時序邏輯的RTL模型需要反映這種門級行為,也就是說,邏輯塊的輸出必須在一個或多個時鐘周期內(nèi)存儲一個值,并且只為特定的輸入變化而更新存儲的值,而不是所有輸入變化。在RTL層面,一個always或always_ff過程被用來模擬這種時序行為。本系列文章主要研究:

RTL時序邏輯的綜合要求

always_ff 時序邏輯建模

時序邏輯時鐘到Q的傳播和建立/保持時間

使用非阻塞賦值來模擬時鐘到Q的傳播效應(yīng)

同步和異步復(fù)位

多個時鐘和時鐘域交叉(CDC)。

在時序邏輯RTL模型中使用單元延時

建立有限狀態(tài)機(FSM)模型

對Mealy和Moore FSM架構(gòu)進行建模

狀態(tài)解碼器,并使用獨熱碼的獨特情況

對內(nèi)存設(shè)備進行建模,如RAM

觸發(fā)器和寄存器的RTL模型

觸發(fā)器和寄存器被用來在一段時間內(nèi)存儲信息。術(shù)語觸發(fā)器和寄存器經(jīng)常被當(dāng)作同義詞使用,盡管它們在加載和復(fù)位的方式上可能存在差異。觸發(fā)器是一種存儲元件,在時鐘沿上改變存儲的狀態(tài)。各種各樣的硬件應(yīng)用都可以由觸發(fā)器構(gòu)建,如計數(shù)器、數(shù)據(jù)寄存器、控制寄存器、移位寄存器和狀態(tài)寄存器。寄存器可以由任何類型的數(shù)據(jù)存儲設(shè)備構(gòu)建,包括觸發(fā)器、鎖存器和RAM。大多數(shù)硬件寄存器是由觸發(fā)器建立的。

時序邏輯觸發(fā)器和寄存器的RTL模型是用一個帶有靈敏度列表的always或always_ff過程建模的,該過程使用時鐘邊沿來觸發(fā)過程的評估。一個RTL觸發(fā)器的例子是:

c682ca22-9301-11ed-bfe3-dac502259ad0.png

一般來說,RTL模型被寫成在時鐘輸入的正邊沿觸發(fā)觸發(fā)器。所有的ASICFPGA器件都支持在時鐘的上升沿(正邊沿)觸發(fā)的觸發(fā)器。一些ASIC或FPGA器件還支持在時鐘的下降沿觸發(fā)的觸發(fā)器。觸發(fā)器和由觸發(fā)器組成的寄存器可以是不可復(fù)位或可復(fù)位的。復(fù)位可以是同步的,也可以是與時鐘觸發(fā)不同步的。一些觸發(fā)器也有一個異步復(fù)位輸入。

在門級設(shè)計中,有幾種類型的觸發(fā)器,例如。SR, D,JK和T觸發(fā)器。RTL模型可以從這個實現(xiàn)細節(jié)中抽象出來,并被寫成通用的觸發(fā)器。

在RTL建模中,重點是設(shè)計功能,而不是設(shè)計實現(xiàn)。綜合編譯器的作用是將抽象的RTL功能描述映射到具體的門級實現(xiàn)。大多數(shù)ASIC和FPGA器件使用D型觸發(fā)器,所以本文假設(shè)綜合編譯器從RTL觸發(fā)器中推斷出的觸發(fā)器類型。

RTL時序邏輯的綜合要求

當(dāng)always程序的敏感度列表包含關(guān)鍵字posedge或negedge時,綜合編譯器將嘗試推斷出一個觸發(fā)器。然而,綜合編譯器還要求滿足以下額外的代碼限制,以便推斷出一個觸發(fā)器。

程序靈敏度列表必須指定時鐘的哪個邊沿觸發(fā)更新觸發(fā)器的狀態(tài)(posedge或negedge)。

靈敏度列表必須指定任何異步設(shè)置或復(fù)位信號的前緣(posedge或negedge)(同步設(shè)置或復(fù)位不在靈敏度列表中列出)。

除了時鐘、異步設(shè)置或異步復(fù)位外,靈敏度列表不能包含任何其他信號,如D輸入或使能輸入。

該過程應(yīng)該在零仿真時間內(nèi)執(zhí)行。綜合編譯器會忽略#延遲,并且不允許@或等待時間控制。這條規(guī)則的一個例外是使用分配單元內(nèi)的延遲(后續(xù)詳解)。

在時序邏輯程序中賦值的變量不能被任何其他程序或連續(xù)賦值所賦值(允許在同一程序中多次賦值)。

在一個時序邏輯程序中,一個被賦值的變量不能有阻塞和非阻塞的混合賦值。例如,復(fù)位分支不能用阻塞賦值建模,而時鐘分支則用非阻塞賦值建模。

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1392

    瀏覽量

    117588
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    390

    瀏覽量

    61154
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2039

    瀏覽量

    62159
  • 時序邏輯
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    9391
  • 門級電路
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    2063

原文標(biāo)題:數(shù)字硬件建模SystemVerilog-時序邏輯建模(1)RTL時序邏輯的綜合要求

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    淺談IC設(shè)計中邏輯綜合

    。由于主頻是芯片性能的重要指標(biāo)之一,如果希望關(guān)鍵路徑的延遲滿足芯片設(shè)計的周期時間,不但需要RTL 代碼描述滿足要求,更要講究綜合中對關(guān)鍵路徑的處理方法。關(guān)鍵字:邏輯
    發(fā)表于 05-16 20:02

    [啟芯工作室] 邏輯綜合 02 Design and Technology File

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 03-09 16:09

    [啟芯工作室] 邏輯綜合 03 Design Objects

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 03-09 16:11

    [啟芯工作室] 邏輯綜合 05 Environment Attributes

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 03-09 16:13

    [啟芯工作室] 邏輯綜合 05-03 Environment Attributes

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 03-23 20:54

    [啟芯工作室]邏輯綜合 06 Timing Analysis

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 03-23 20:55

    [啟芯][公開課]數(shù)字邏輯綜合 02 Design and Technology File

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 07-03 16:41

    [啟芯][公開課] 數(shù)字邏輯綜合 03 Design Objects

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 07-03 16:45

    [啟芯][公開課] 數(shù)字邏輯綜合 04 Timing constraints

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 07-03 16:52

    [啟芯][公開課] 數(shù)字邏輯綜合 04-1 Timing constraints

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 07-03 16:55

    [啟芯][公開課] 數(shù)字邏輯綜合 05 Environment Attributes

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉(zhuǎn)換成門級網(wǎng)表的方式,以滿足設(shè)計的時序要求。學(xué)習(xí)本課程可以熟悉
    發(fā)表于 07-03 16:57

    求一套手工邏輯綜合的方法和綜合步驟?

    手工綜合RTL級代碼的理論依據(jù)和實用方法時序邏輯綜合的實現(xiàn)方法
    發(fā)表于 04-08 06:06

    時序邏輯等效性的RTL設(shè)計和驗證流程介紹

    關(guān)于時序邏輯等效性的RTL設(shè)計和驗證流程介紹。
    發(fā)表于 04-28 06:13

    邏輯綜合與物理綜合

    利用工具將RTL代碼轉(zhuǎn)化為門級網(wǎng)表的過程稱為邏輯綜合。綜合一個設(shè)計的過程,從讀取RTL代碼開始,通過時序
    的頭像 發(fā)表于 11-28 16:02 ?3287次閱讀

    什么是邏輯綜合?邏輯綜合的流程有哪些?

    邏輯綜合是將RTL描述的電路轉(zhuǎn)換成門級描述的電路,將HDL語言描述的電路轉(zhuǎn)換為性能、面積和時序等因素約束下的門級電路網(wǎng)表。
    的頭像 發(fā)表于 09-15 15:22 ?6571次閱讀
    什么是<b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>?<b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>的流程有哪些?