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

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

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

淺談條件語句的可綜合性

電子工程師 ? 來源:FPGA設(shè)計(jì)論壇 ? 作者:FPGA設(shè)計(jì)論壇 ? 2021-05-12 09:12 ? 次閱讀

條件語句的可綜合性

HDL語言的條件語句與算法語言的條件語句,最大的差異在于:

1.不管條件:當(dāng)前輸入條件沒有對應(yīng)的描述,則該條件為不管條件(Don’tCare)。對應(yīng)不管條件的信號稱為不管信號

2.不選條件:多個(gè)條件分支中,未獲得當(dāng)前輸入條件指向的分析,稱為不選條件(Don’tSelect)。對應(yīng)的信號稱為不選信號。

不管不選發(fā)生時(shí),HDL的綜合器,將盡量維持原值,并且得到額外的生成結(jié)構(gòu)。若無法用生成結(jié)構(gòu)維持原值,則直接報(bào)錯(cuò)。根據(jù)行為語句的開節(jié)點(diǎn)ON/閉節(jié)點(diǎn)CN描述;部分條件PC/全部條件FC;以及條件分支的輸出是否具有同名信號(線與WAND)或不同名信號(非線與Not_WAND),綜合器將得到不同的處理結(jié)果。

開節(jié)點(diǎn)全部條件全部分支非線與描述

此時(shí),全條件描述導(dǎo)致沒有不管條件和不管信號。但全部分支非線與(即每一個(gè)條件分支語句輸出不同名信號),將導(dǎo)致不選信號。對于不選條件不選信號,EDA將維持原值。生成結(jié)構(gòu)為鎖存器。

50a9776e-b2a3-11eb-bf61-12bb97331649.png

條件譯碼邏輯:

pIYBAGCbLLqAMuUNAAATUZNF6dE149.png

RTL視圖:(QuartusII)

50d462da-b2a3-11eb-bf61-12bb97331649.png

這里的譯碼邏輯為:

50dddacc-b2a3-11eb-bf61-12bb97331649.png

一般性的代碼模型分析:

左側(cè)為代碼塊,全條件描述不存在不管條件,全部分支非線與存在不選條件和不選信號,EDA需要為這些不選信號生成鎖存器,用于維持原值。右側(cè)為其代碼模型:

50ec746a-b2a3-11eb-bf61-12bb97331649.png

結(jié)論:開節(jié)點(diǎn)全部條件全部輸出非線與的HDL描述,將得到的結(jié)構(gòu)

閉節(jié)點(diǎn)全部條件全部分支非線與描述

綜合分析:

1.閉節(jié)點(diǎn)描述將導(dǎo)致生成寄存器

2.全部條件描述,使得此時(shí)不存在不管條件

3.全部分支輸出非線與,將導(dǎo)致不選條件/不選信號。這些不選信號需要維持原值。

4.由于此時(shí)已經(jīng)輸出末端已經(jīng)得到有記憶的寄存器,因此綜合器此時(shí)將使用這些生成寄存器維持原值(不選信號)

例如:

5110e124-b2a3-11eb-bf61-12bb97331649.png

RTL視圖(QuartusII):

51306292-b2a3-11eb-bf61-12bb97331649.png

這里譯碼邏輯為:

51703444-b2a3-11eb-bf61-12bb97331649.png

關(guān)于使用寄存器維持原值(不選信號/不管信號):

寄存器維持原值需要遵循兩個(gè)互相矛盾的綜合原則:

1.優(yōu)化原則:寄存器使用其使能端維持原值,將導(dǎo)致時(shí)鐘信號的路由產(chǎn)生邏輯,或者說時(shí)鐘信號被加工,最終導(dǎo)致時(shí)鐘偏斜參數(shù)的惡化,影響系統(tǒng)的最高速度。因此,綜合器將盡量避免寄存器使用使能端。

2.原創(chuàng)原則:綜合器根據(jù)代碼模型分析,和實(shí)際的物理實(shí)現(xiàn),必然需要對已經(jīng)的描述的代碼進(jìn)行加工和修改,最典型的例子就是生成結(jié)構(gòu)(生成鎖存器,生成寄存器)。但過多的生成結(jié)構(gòu),將導(dǎo)致最終實(shí)現(xiàn)的電路可能與設(shè)計(jì)者的愿望相悖。因此,綜合器將盡量避免生成結(jié)構(gòu)。

除了使用使能端維持寄存器原值,另一個(gè)產(chǎn)生生成結(jié)構(gòu)的方法則是多路器閉環(huán):

51a6e638-b2a3-11eb-bf61-12bb97331649.png

一般性的代碼模型分析:

51c4ee76-b2a3-11eb-bf61-12bb97331649.png

結(jié)論:閉節(jié)點(diǎn)全部條件全部分支輸出非線與描述,將得到的結(jié)構(gòu)。注意此時(shí)綜合器在寄存器維持原值時(shí),可能產(chǎn)生時(shí)鐘優(yōu)化原則和原創(chuàng)原則的選擇。

5.3開節(jié)點(diǎn)全部條件全部分支線與描述

綜合分析:

1.全部條件避免了不管條件

2.全部分支線與(所以分支輸出同名信號),綜合器為了避免短路,將生產(chǎn)多路器。

注意此時(shí)沒有生成鎖存器。

51e163f8-b2a3-11eb-bf61-12bb97331649.png

RTL視圖:

5217cff6-b2a3-11eb-bf61-12bb97331649.png

一般性代碼模型分析:

5237d670-b2a3-11eb-bf61-12bb97331649.png

結(jié)論:開節(jié)點(diǎn)全部條件全部輸出線與描述,將得到<多路器輸出>結(jié)構(gòu)。

注意這里沒有鎖存器,雖然有不選信號,但這些不選信號被多路器屏蔽。

編輯:jq

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

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120385
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    327

    瀏覽量

    47392
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    906

    瀏覽量

    41511
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68625

原文標(biāo)題:FPGA學(xué)習(xí):條件語句的可綜合性

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    高壓放大器在壓電材料綜合性能測試中的應(yīng)用

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

    深入解析電池組綜合性能測試機(jī)的工作原理

    達(dá)到高標(biāo)準(zhǔn)的質(zhì)量要求,電池組綜合性能測試設(shè)備應(yīng)運(yùn)而生。測試設(shè)備專門用于對電池組進(jìn)行詳盡和精確的測試,從而能夠更深入地了解電池組的評價(jià)和質(zhì)量管理策略。
    的頭像 發(fā)表于 11-18 16:06 ?197次閱讀
    深入解析電池組<b class='flag-5'>綜合性</b>能測試機(jī)的工作原理

    技術(shù)干貨驛站 ▏深入理解C語言:掌握C語言條件判斷,從if到switch的應(yīng)用

    語句條件運(yùn)算符。這些結(jié)構(gòu)不僅增強(qiáng)了代碼的靈活性,還提高了程序的可讀和可維護(hù)。本文將深入探討C語言中的主要條件判斷
    的頭像 發(fā)表于 11-09 01:10 ?331次閱讀
    技術(shù)干貨驛站 ▏深入理解C語言:掌握C語言<b class='flag-5'>條件</b>判斷,從if到switch的應(yīng)用

    深圳比斯特自動化設(shè)備有限公司:電池綜合性能測試儀的佼佼者

    深圳比斯特自動化設(shè)備有限公司:電池綜合性能測試儀的佼佼者
    的頭像 發(fā)表于 10-22 15:02 ?299次閱讀

    引領(lǐng)電池組綜合性能測試新紀(jì)元|比斯特自動化

    在新能源產(chǎn)業(yè)的蓬勃發(fā)展中,電池組的性能穩(wěn)定性與安全成為了行業(yè)關(guān)注的焦點(diǎn)。比斯特自動化,作為業(yè)界領(lǐng)先的智能測試設(shè)備制造商,憑借其創(chuàng)新的電池組綜合性能測試機(jī),為這一領(lǐng)域注入了新的活力。這款測試機(jī)集成
    的頭像 發(fā)表于 08-28 09:48 ?263次閱讀
    引領(lǐng)電池組<b class='flag-5'>綜合性</b>能測試新紀(jì)元|比斯特自動化

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

    一次使用無菌腦積水分流器綜合性測試儀 描述 一次使用無菌腦積水分流器是一種用于治療腦積水的醫(yī)療器械。腦積水是指在顱內(nèi)或腦脊液循環(huán)系統(tǒng)中積聚過多液體導(dǎo)致顱內(nèi)壓力增高的病癥。腦積水分流器被用來幫助
    的頭像 發(fā)表于 04-06 09:13 ?335次閱讀
    一次<b class='flag-5'>性</b>使用無菌腦積水分流器<b class='flag-5'>綜合性</b>測試儀

    鴻蒙TypeScript入門學(xué)習(xí)第6天:【條件語句

    條件語句用于基于不同的條件來執(zhí)行不同的動作。 TypeScript 條件語句是通過一條或多條語句
    的頭像 發(fā)表于 04-01 13:51 ?764次閱讀
    鴻蒙TypeScript入門學(xué)習(xí)第6天:【<b class='flag-5'>條件</b><b class='flag-5'>語句</b>】

    焊錫膏的綜合性能該如何進(jìn)行評估?

    一款合適的錫膏對生產(chǎn)效率會帶來巨大的提升,可以減少因?yàn)殄a膏性能問題導(dǎo)致的工期延誤??蛻粼谶x擇錫膏產(chǎn)品是常常會遇到的問題就是,如何評估所選購焊錫膏綜合性能的優(yōu)劣? 根據(jù)深圳福英達(dá)工業(yè)技術(shù)有限公司多年的錫膏解決方案經(jīng)驗(yàn),
    的頭像 發(fā)表于 03-20 09:13 ?352次閱讀

    淺談電氣火災(zāi)監(jiān)控系統(tǒng)在天津西站綜合交通樞紐中的應(yīng)用

    淺談電氣火災(zāi)監(jiān)控系統(tǒng)在天津西站綜合交通樞紐中的應(yīng)用 張穎姣 安科瑞電氣股份有限公司?上海嘉定201801 摘要:為了預(yù)防綜合交通樞紐電氣火災(zāi)的發(fā)生,在天津西站樞紐中設(shè)計(jì)使用了電氣火災(zāi)監(jiān)控系統(tǒng)。首先
    的頭像 發(fā)表于 03-12 10:49 ?402次閱讀
    <b class='flag-5'>淺談</b>電氣火災(zāi)監(jiān)控系統(tǒng)在天津西站<b class='flag-5'>綜合</b>交通樞紐中的應(yīng)用

    淺談綜合管廊監(jiān)控及安防技術(shù)

    淺談綜合管廊監(jiān)控及安防技術(shù) 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 摘要:在社會經(jīng)濟(jì)快速發(fā)展的環(huán)境下,我國越來越重視城市綜合管廊工程,加大工程建設(shè)力度,以優(yōu)化城市發(fā)展環(huán)境,激發(fā)
    的頭像 發(fā)表于 02-27 15:07 ?381次閱讀
    <b class='flag-5'>淺談</b><b class='flag-5'>綜合</b>管廊監(jiān)控及安防技術(shù)

    assign語句和always語句的用法

    Assign語句和Always語句是在硬件描述語言(HDL)中常用的兩種語句,用于對數(shù)字電路建模和設(shè)計(jì)。Assign語句用于連續(xù)賦值,而Always
    的頭像 發(fā)表于 02-22 16:24 ?2569次閱讀

    淺談商業(yè)綜合建筑能耗分析及節(jié)能發(fā)展情況

    淺談商業(yè)綜合建筑能耗分析及節(jié)能發(fā)展情況 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 摘要:商業(yè)的發(fā)展促進(jìn)了人類的交流與進(jìn)步,從早期的集市到后來的市場再到現(xiàn)在的購物商城,商業(yè)綜合體,可以說
    的頭像 發(fā)表于 02-20 15:30 ?5589次閱讀
    <b class='flag-5'>淺談</b>商業(yè)<b class='flag-5'>綜合</b>建筑能耗分析及節(jié)能發(fā)展情況

    深入探討嵌入式C編程的goto語句

    什么是goto語句? goto 語句被稱為 C 語言中的跳轉(zhuǎn)語句。 用于無條件跳轉(zhuǎn)到其他標(biāo)簽。它將控制權(quán)轉(zhuǎn)移到程序的其他部分。 goto
    發(fā)表于 01-21 10:41 ?604次閱讀
    深入探討嵌入式C編程的goto<b class='flag-5'>語句</b>

    單片機(jī)if是什么語句

    單片機(jī)中的if語句是一種條件語句,用于根據(jù)不同的條件執(zhí)行不同的代碼塊。在程序執(zhí)行過程中,條件語句
    的頭像 發(fā)表于 01-05 14:04 ?1811次閱讀

    單片機(jī)中for語句的運(yùn)用

    語句,它的基本結(jié)構(gòu)如下: for (初始化語句; 條件表達(dá)式; 更新語句) {循環(huán)體;} for語句的執(zhí)行流程: 運(yùn)行初始化
    的頭像 發(fā)表于 01-05 14:02 ?2460次閱讀