精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

簡述HDL中循環語句的可綜合性

電子工程師 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2021-05-12 09:27 ? 次閱讀

在HDL的循環語句中,在指定的循環過程中,其代碼塊(循環體)輸出同名信號,則構成順序-循環(SAS-LOOP),其代碼塊(循環體)輸出不同名信號,則構成并發-循環(CAS-LOOP)。

包括循環語句(含循環體)組成的代碼塊,EDA稱為循環框架(Loop Frame)。

5ca8a4e0-b2a3-11eb-bf61-12bb97331649.png

在這里,HDL循環語句與算法語言的循環語句的差異:

1.HDL的循環變量i是以常量進入循環體。算法語言則是以變量進入循環體。

2.HDL的循環體并不被循環執行,而是被重復描述(多次重復綜合),從而實現建模的效率。算法語言的循環體則一定是被循環執行。

循環語句可綜合性的“數學歸納法”

數學歸納法常用于證明數學序列,它的要點是:

1.首先證明序列的基數成立

2.假設序列為N時成立

3.證明序列的N+1成立

HDL的循環語句是否可綜合,可以借用這個方法:

1.首先將循環語句的循環次數修改為一個很小的基數。由于在很小的基數時,其電路一定可以用結構化方法直接描述(不使用循環語句)

2.將基數加1,仍然可以是結構化描述,并加以驗證

3.將基數修改為LPM參數可定制,使用循環語句描述,并加以驗證

4.修改LPM定制參數,將其加1,觀察其綜合結果(驗證)

通過以上步驟,可以證明所編寫的HDL循環語句是可綜合的,并且具有很高的綜合效率。

循環語句設計例子:具有64個輸入端口的8位異或電路:

5cafbeb0-b2a3-11eb-bf61-12bb97331649.png

使用“數學歸納法”為其使用循環語句建模和驗證:

1.將基數(端口數)設定為4,得到:

5cd11a38-b2a3-11eb-bf61-12bb97331649.png

RTL視圖(驗證過程):

5ce87926-b2a3-11eb-bf61-12bb97331649.png

2.將基數加1,這里將端口數修改為8,得到:

5d04fccc-b2a3-11eb-bf61-12bb97331649.png

RTL視圖(驗證過程):

5d4cd948-b2a3-11eb-bf61-12bb97331649.png

修改為端口數可定制的LPM模型

其RTL視圖:

5d762dc0-b2a3-11eb-bf61-12bb97331649.png

現在將LPM的基數+1(修改端口指數PortNum_Power為4)

其RTL視圖:

5db63e60-b2a3-11eb-bf61-12bb97331649.png

以上就是循環語句構成二叉樹異或門的過程,為了得到最終結果(64端口),將端口指數PortNum_Power=6,得到:

5dd86dbe-b2a3-11eb-bf61-12bb97331649.png

這里由于端口數過多,EDA的自動繪圖需要中間過程,故首層僅展示如上部分。

循環語句可綜合性的設計例子二:同步計數器的結構化設計

1.頂層框圖

5e07f64c-b2a3-11eb-bf61-12bb97331649.png

2.代碼和代碼模型分析

5e21c7b6-b2a3-11eb-bf61-12bb97331649.png

其RTL視圖:

615056d2-b2a3-11eb-bf61-12bb97331649.png

以上視圖中,當rst_n=0時,多路器指向常數0;當rst_n=1時,多路器指向加法器的輸出;注意加法器是寄存器的輸出q與1相加。

根據代碼模型和RTL視圖,可以得到等效節點模型:

6172da40-b2a3-11eb-bf61-12bb97331649.png

若將復位信號的條件語句描述屏蔽,則得到RTL視圖更接近節點等效:

618b06ba-b2a3-11eb-bf61-12bb97331649.png

3.計數器的數學模型

在RTL視圖中,計數器有限自動機的加法器執行q+1(的描述),其真實的電路是得到優化和簡化的一個數學模型:

若Q序列表示為:

時鐘離散時刻,Q的變化為:

觀察表格,能夠發現Q的每一個比特位翻轉的規律:

()

(, )

(, )

……

(, )

將觸發翻轉的條件(前級全部為1)采用級聯以減少面積:

(,)

(, )

(, )

……

(, )

式中:

…….

注意位翻轉的一般表達式:(, )

其真值表為:

其SOP為:

代入序列中,得到:

……

根據數學模型得到的代碼模型為:

61a7654e-b2a3-11eb-bf61-12bb97331649.png

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • eda
    eda
    +關注

    關注

    71

    文章

    2709

    瀏覽量

    172907
  • HDL
    HDL
    +關注

    關注

    8

    文章

    327

    瀏覽量

    47341
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59706
  • 代碼
    +關注

    關注

    30

    文章

    4751

    瀏覽量

    68359
  • LPM
    LPM
    +關注

    關注

    0

    文章

    11

    瀏覽量

    9940

原文標題:FPGA學習:循環語句的可綜合性

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    高壓放大器在壓電材料綜合性能測試的應用

    實驗名稱:壓電材料綜合性能測試裝置的設計與搭建 測試設備:高壓放大器、鐵電分析儀、示波器、電容位移傳感器等。 圖1:壓電測試腔 實驗過程: 設計并加工了壓電測試腔,如圖1所示,然后搭建壓電材料綜合性
    的頭像 發表于 11-21 11:50 ?75次閱讀
    高壓放大器在壓電材料<b class='flag-5'>綜合性</b>能測試<b class='flag-5'>中</b>的應用

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步與異步、函數與任務語法知識。
    的頭像 發表于 10-24 15:00 ?186次閱讀
    Verilog <b class='flag-5'>HDL</b>的基礎知識

    FPGA Verilog HDL有什么奇技巧?

    技巧或許可以被視為“奇技淫巧”,但需要注意的是,在實際應用應遵循良好的代碼規范和設計原則: 利用 generate 語句生成重復的模塊或邏輯:可以根據條件動態地生成電路結構,提高代碼的靈活性和復用
    發表于 09-12 19:10

    引領電池組綜合性能測試新紀元|比斯特自動化

    在新能源產業的蓬勃發展,電池組的性能穩定性與安全成為了行業關注的焦點。比斯特自動化,作為業界領先的智能測試設備制造商,憑借其創新的電池組綜合性能測試機,為這一領域注入了新的活力。這款測試機集成
    的頭像 發表于 08-28 09:48 ?218次閱讀
    引領電池組<b class='flag-5'>綜合性</b>能測試新紀元|比斯特自動化

    一次使用無菌腦積水分流器綜合性測試儀

    一次使用無菌腦積水分流器綜合性測試儀 描述 一次使用無菌腦積水分流器是一種用于治療腦積水的醫療器械。腦積水是指在顱內或腦脊液循環系統
    的頭像 發表于 04-06 09:13 ?305次閱讀
    一次<b class='flag-5'>性</b>使用無菌腦積水分流器<b class='flag-5'>綜合性</b>測試儀

    焊錫膏的綜合性能該如何進行評估?

    一款合適的錫膏對生產效率會帶來巨大的提升,可以減少因為錫膏性能問題導致的工期延誤。客戶在選擇錫膏產品是常常會遇到的問題就是,如何評估所選購焊錫膏綜合性能的優劣? 根據深圳福英達工業技術有限公司多年的錫膏解決方案經驗,
    的頭像 發表于 03-20 09:13 ?323次閱讀

    verilogrepeat必須用begin和end嗎

    在Verilog,repeat語句不需要使用begin和end塊。repeat語句是一種循環控制語句,允許重復執行一個代碼塊指定的次數。它
    的頭像 發表于 02-23 10:14 ?1108次閱讀

    assign語句和always語句的用法

    的用法和功能。 一、Assign語句 Assign語句的定義和語法 Assign語句用于在HDL連續賦值,它允許在設計
    的頭像 發表于 02-22 16:24 ?2312次閱讀

    verilogfor循環是串行執行還是并行執行

    的for循環也是并行執行的。 Verilog的for循環可以用來實現重復的操作,例如在一個時鐘周期中對多個電路進行操作。在循環內部,多個語句
    的頭像 發表于 02-22 16:06 ?2716次閱讀

    arduino如何停止loop循環

    退出這個循環。本文將詳細介紹如何在Arduino停止loop循環。 在Arduino,可以通過使用一個布爾變量或條件語句來實現停止loo
    的頭像 發表于 02-14 16:24 ?4254次閱讀

    arduinowhile循環怎么跳出

    執行某段代碼的情況。然而,如何在合適的時機跳出 while 循環是一個需要注意的問題。本文將詳細介紹 Arduino while 循環的基本概念,以及如何使用不同的技巧跳出該循環
    的頭像 發表于 02-14 16:22 ?2393次閱讀

    多協議網關BE115是一款多協議轉多上行協議的綜合性轉換網關

    數據傳輸解決方案——協議轉換網關應運而生,廣泛應用于工業自動化和數字化工廠應用環境。 無縫銜接工業4.0時代 盡享樓宇暖通系統優勢 多協議網關BE115是一款多協議轉多上行協議的綜合性轉換網關,支持IEC104、MQTT、OPC UA、Mo
    的頭像 發表于 02-02 09:26 ?366次閱讀
    多協議網關BE115是一款多協議轉多上行協議的<b class='flag-5'>綜合性</b>轉換網關

    單片機if是什么語句

    單片機的if語句是一種條件語句,用于根據不同的條件執行不同的代碼塊。在程序執行過程,條件語句用來決定是否執行特定的代碼段。在單片機編程
    的頭像 發表于 01-05 14:04 ?1648次閱讀

    單片機for語句的運用

    單片機的for語句是一種常見的循環控制結構,用于重復執行一段代碼塊,可以簡化程序的編寫和減少代碼量。本文將詳細介紹單片機for語句的運用
    的頭像 發表于 01-05 14:02 ?2185次閱讀

    java的switch語句 case的取值

    Java的switch語句是一種用于多重條件判斷的語句,用于根據不同的條件執行不同的代碼塊。在switch語句中,case關鍵字用來指定不同的取值。 在Java
    的頭像 發表于 11-30 16:05 ?1085次閱讀