chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

如何用RTL原語(yǔ)實(shí)現(xiàn)MUX門(mén)級(jí)映射呢?

roborobo_0706 ? 來(lái)源:艾思后端實(shí)現(xiàn) ? 2023-12-14 16:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

對(duì)于前端設(shè)計(jì)人員,經(jīng)常會(huì)需要一個(gè)MUX來(lái)對(duì)工作模式,數(shù)據(jù)路徑進(jìn)行明確(explicit)的聲明,這個(gè)對(duì)于中后端工程師下約束也很重要。這里介紹一種巧用的RTL原語(yǔ),實(shí)現(xiàn)MUX的方法。

為了在最終網(wǎng)表里邊實(shí)現(xiàn)確實(shí)的MUX,通常有兩種方式。

RTL designer采用了手動(dòng)實(shí)例化(instance)工藝的MUX來(lái)實(shí)現(xiàn)MUX。但是對(duì)于RTL在不同工藝下使用,卻造成了一些不便。

一種使用腳本替換的方法,即在綜合elaboration的數(shù)據(jù)庫(kù)上進(jìn)行對(duì)標(biāo)工藝的硬替換(replace),這樣也需要一套腳本流程。

上述方法可以實(shí)現(xiàn)MUX,但是靈活度不是很好,也需要額外的流程和代碼量。這里看看DC的解決策略。

RTL原語(yǔ)

DC在做HDL分析,解析(analyze,elaboration)的時(shí)候,會(huì)對(duì)RTL里邊的一些原語(yǔ)進(jìn)行識(shí)別,譬如在verilog里邊,可以這樣使用:


verilog_code // synopsys RTL_primitive

這里的primitive是一整套R(shí)TL配置,里邊有一個(gè)功能就是可以對(duì)RTL的MUX功能進(jìn)行有效映射。所以,通過(guò)這個(gè)RTL 原語(yǔ),就可以實(shí)現(xiàn)設(shè)計(jì)出MUX的訴求。

帶入RTL原語(yǔ)的elaborate

DC的綜合階段,首先是嘗試把RTL的邏輯關(guān)系影射成為功能描述庫(kù),也就是我們常說(shuō)的GTECH庫(kù)。但是對(duì)于下列兩種情況會(huì)做較特殊的處理

使用case搭建的語(yǔ)句:DC 默認(rèn)會(huì)處理成SELECT_OP類型

沿觸發(fā)/電平觸發(fā)的時(shí)序邏輯語(yǔ)句:DC 默認(rèn)會(huì)處理成SEQGEN類型 (這里暫不作展開(kāi))

對(duì)于SELECT_OP類型的邏輯轉(zhuǎn)化,通常來(lái)自于類似下列的語(yǔ)句:

wKgZomV6vG2AcdDvAADxZe2eWlg254.jpg

DC對(duì)于上述語(yǔ)句在elaborate階段,將其轉(zhuǎn)換成為了SELECT_OP,至于最終實(shí)現(xiàn)的器件類型,并不明確。

按照DC的規(guī)則:compile會(huì)根據(jù)實(shí)際的時(shí)序,面積等考慮,DC會(huì)決斷把SELECT_OP實(shí)現(xiàn)為一個(gè)與或非邏輯或者是一個(gè)MUX邏輯。相對(duì)于RTL實(shí)例化一個(gè)MUX而言,這里就會(huì)帶來(lái)一些不確定性。

基于此,通過(guò)對(duì)RTL進(jìn)行原語(yǔ)級(jí)別的配置,讓elaborate對(duì)case的結(jié)果進(jìn)行約束。示例語(yǔ)法如下:

wKgaomV6vG2AZPArAACRVU6nDdg156.jpg

可以看到,這里的采用了infer_mux (infer:推斷)的原語(yǔ)。這個(gè)原語(yǔ)可以指導(dǎo)DC對(duì)這里的case語(yǔ)句進(jìn)行MUX_OP實(shí)現(xiàn)方式的推斷,而非使用默認(rèn)的SELECT_OP作替換。

wKgZomV6vG2AeltjAAE6_ro9DIs577.jpg

通過(guò)上例可以看到,同樣的代碼,在使用infer_mux和不使用的情形下,DC的elaborate給出了不同的答案。

不使用infer_mux,映射為SELECT_OP_4.1_4.1_1: 四輸入一輸出的組合邏輯結(jié)構(gòu)

使用infer_mux,映射為MUX_OP_4_2_1:四輸入,二選擇,一輸出的MUX結(jié)構(gòu) 由于DC的compile/compile_ultra命令是基于elaborate的映射結(jié)果,所以,這里距離完全實(shí)現(xiàn)目標(biāo)就剩compile一個(gè)步驟了。

被改善compile結(jié)果

Compile完成后,通過(guò)verdi打開(kāi),可以很方便的查驗(yàn)到結(jié)構(gòu)圖:

wKgaomV6vG2AM1D6AADsL72MJXc571.jpg

可以看到,DC工具在infer_mux的dout[0]通路上使用了一個(gè)四輸入的MUX做了實(shí)現(xiàn),但是在dout[1]的通路上選擇的常規(guī)的與或非邏輯作實(shí)現(xiàn)。

DC這樣做是有它的道理的,在本案例中,穿過(guò)dout[0]和dout[1]的時(shí)序都是滿足的,這個(gè)時(shí)候DC會(huì)有先使用面積小的進(jìn)行實(shí)現(xiàn)dout[1]邏輯,但是會(huì)依賴infer_mux的指引實(shí)現(xiàn)dout[0]上的邏輯:

dout[0]上的MUX4面積: 98.76

dout[1]的與或非邏輯面積:70.092 所以,在原語(yǔ)的控制下,DC強(qiáng)制使用了MUX,而對(duì)于其他部分,DC其實(shí)是做了更為優(yōu)化的選擇,譬如這里的面積優(yōu)先選擇機(jī)制。

MUX樹(shù)的創(chuàng)建

除過(guò)RTL代碼保持平滑度的好處外,原語(yǔ)的另一個(gè)好處是可以讓工具自動(dòng)選擇合適的MUX進(jìn)行結(jié)果構(gòu)建。譬如當(dāng)前工藝庫(kù)最大提供了四輸入MUX,如果是一個(gè)較大扇入(fan-in)的MUX需求,DC工具可以友好的進(jìn)行自動(dòng)“拓展”,靈活構(gòu)建一個(gè)MUX Tree 達(dá)到用戶需要的結(jié)果 譬如下例:RTL書(shū)寫(xiě)了一個(gè)八輸入MUX

wKgZomV6vG2AVs6RAADcXVCOwV4683.jpg

elaborate后,DC將它正確識(shí)別成了:八輸入,三控制,一輸出的MUX:MUX_OP_8_3_1_1 工藝庫(kù)并沒(méi)有八輸入這個(gè)大的MUX,這個(gè)時(shí)候如果使用手動(dòng)構(gòu)建會(huì)比較復(fù)雜。但是DC卻可以做自動(dòng)“拓展”,使用了兩個(gè)MUX4外加一個(gè)MUX2,完成了這個(gè)MUX tree的構(gòu)建, compile完成后,通過(guò)查看網(wǎng)表可以看到,這里最終是一個(gè)MUX tree來(lái)實(shí)現(xiàn)這個(gè)八輸入MUX,見(jiàn)下圖:

wKgaomV6vG2AHKviAADA-KfnaV0395.jpg

可以看到,DC先是放了兩個(gè)平行的四輸入的MUX進(jìn)行選擇,然后進(jìn)入到一個(gè)兩輸入的MUX做最后的決斷。

作為比對(duì),這里的dout[4],并未采用infer_mux 作實(shí)現(xiàn),可以看到DC使用了常規(guī)的與或非結(jié)構(gòu)進(jìn)行了實(shí)現(xiàn)

wKgaomV6vG2AFxnZAAEFiuDho9Q715.jpg

使用RTL原語(yǔ)的方法,對(duì)于設(shè)計(jì)人員的工作量大為減少,并且可以不依賴工藝庫(kù),DC工具甚至可以自動(dòng)構(gòu)建MUX tree,達(dá)到了事半功倍的效果。

== =【敲黑板劃重點(diǎn)】===

RTL原語(yǔ)是DC對(duì)于RTL的一個(gè)特殊指令,通過(guò)這套系統(tǒng)可以對(duì)elaborate進(jìn)行顯性(explicity )的干預(yù),設(shè)計(jì)人員可以靈活使用,將設(shè)計(jì)理念完整的傳遞到中后端。






審核編輯:劉清

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

    關(guān)注

    8

    文章

    332

    瀏覽量

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

    關(guān)注

    1

    文章

    394

    瀏覽量

    62670
  • Mux
    Mux
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    24147

原文標(biāo)題:巧用RTL原語(yǔ)實(shí)現(xiàn)MUX門(mén)級(jí)映射

文章出處:【微信號(hào):ExASIC,微信公眾號(hào):ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    門(mén)級(jí)電路低功耗設(shè)計(jì)優(yōu)化案例分析

    門(mén)級(jí)電路的功耗優(yōu)化(Gate Level Power Optimization,簡(jiǎn)稱GLPO)是從已經(jīng)映射門(mén)級(jí)網(wǎng)表開(kāi)始,對(duì)設(shè)計(jì)進(jìn)行功耗的優(yōu)
    的頭像 發(fā)表于 07-02 16:28 ?7026次閱讀
    <b class='flag-5'>門(mén)</b><b class='flag-5'>級(jí)</b>電路低功耗設(shè)計(jì)優(yōu)化案例分析

    RTL級(jí)設(shè)計(jì)的基本要素和步驟是什么

      綜合(Logic Synthesize)是指將HDL語(yǔ)言、原理圖等設(shè)計(jì)輸入翻譯成由與、或、非門(mén)等基本邏輯單元組成的門(mén)級(jí)連接(網(wǎng)表),并根據(jù)設(shè)計(jì)目標(biāo)與要求(約束條件)優(yōu)化所生成的邏輯連接,輸出門(mén)級(jí)網(wǎng)表文件。
    的頭像 發(fā)表于 01-17 16:57 ?1.1w次閱讀
    <b class='flag-5'>RTL</b><b class='flag-5'>級(jí)</b>設(shè)計(jì)的基本要素和步驟是什么

    求解大神,如何用基本邏輯門(mén)和觸發(fā)器實(shí)現(xiàn)6進(jìn)制加法計(jì)數(shù)器

    求解大神,如何用基本邏輯門(mén)和觸發(fā)器實(shí)現(xiàn)6進(jìn)制加法計(jì)數(shù)器等...還有12進(jìn)制加法計(jì)數(shù)器
    發(fā)表于 11-29 18:40

    RTL級(jí)仿真與門(mén)級(jí)仿真

    本人最近用verilog代碼寫(xiě)了一個(gè)DDS正弦波發(fā)生器,RTL仿真波形正確,但門(mén)級(jí)仿真出現(xiàn)毛刺,不知道該如何去掉這些毛刺?我用的是quartus ii 15.0,一開(kāi)始沒(méi)分清各種仿真,編譯完后就直接
    發(fā)表于 08-08 22:57

    關(guān)于RTL仿真和門(mén)級(jí)仿真求助~

    `剛剛本科畢業(yè),假期導(dǎo)師要求做一個(gè)設(shè)計(jì)。實(shí)驗(yàn)室沒(méi)有做過(guò)FPGA的學(xué)長(zhǎng)只好問(wèn)網(wǎng)上的各位了。寫(xiě)好的FPGA代碼進(jìn)行RTL仿真波形是符合要求的,如下圖。但是做門(mén)級(jí)仿真的時(shí)候,時(shí)序就不對(duì)了,變成了這樣
    發(fā)表于 08-06 12:12

    如何從Virtex原語(yǔ)切換到Spartan原語(yǔ)?

    親愛(ài)的大家,Virtex中的許多原語(yǔ)在Spartan 6中找不到,例如BUFIO,BUFR,IDELAY,IDDR。如何使用Spartan原語(yǔ)實(shí)現(xiàn)類似的功能?非常感謝你!箱子以上來(lái)自于谷歌翻譯以下
    發(fā)表于 06-03 10:31

    何用存儲(chǔ)器映射的方法實(shí)現(xiàn)片外FLASH的擦寫(xiě)?

    請(qǐng)問(wèn)如何用存儲(chǔ)器映射的方法實(shí)現(xiàn)片外FLASH的擦寫(xiě)?
    發(fā)表于 04-20 06:13

    何用51單片機(jī)控制RTL8019AS實(shí)現(xiàn)以太網(wǎng)通訊?

    何用51單片機(jī)控制RTL8019AS實(shí)現(xiàn)以太網(wǎng)通訊?
    發(fā)表于 05-27 07:14

    門(mén)級(jí)電路功耗優(yōu)化的相關(guān)資料分享

    (1)門(mén)級(jí)電路的功耗優(yōu)化綜述  門(mén)級(jí)電路的功耗優(yōu)化(Gate Level Power Optimization,簡(jiǎn)稱GLPO)是從已經(jīng)映射
    發(fā)表于 11-12 06:14

    串口IO口映射功能該如何去實(shí)現(xiàn)

    串口IO口映射功能是指什么?串口IO口映射功能該如何去實(shí)現(xiàn)
    發(fā)表于 12-13 07:07

    何用java映射創(chuàng)建java對(duì)象和調(diào)用java對(duì)象

    java是一種解析語(yǔ)言,java程序是通過(guò)java虛擬機(jī)解析.class的方式運(yùn)行起來(lái)。因此,java中就存在java映射的概念。下面介紹如何用java映射創(chuàng)建java對(duì)象和調(diào)用java對(duì)象的方法
    發(fā)表于 04-11 14:43

    介紹RTL設(shè)計(jì)引入的后端實(shí)現(xiàn)過(guò)程中的布線問(wèn)題

    RTL設(shè)計(jì)引入的后端實(shí)現(xiàn)過(guò)程中的布線(routing)問(wèn)題。后端物理實(shí)現(xiàn)需要完成芯片中布局布線(place&routing)的工作。在物理實(shí)現(xiàn)過(guò)程中routing之前
    發(fā)表于 04-11 17:11

    (五)門(mén)級(jí)電路低功耗設(shè)計(jì)優(yōu)化

    (1)門(mén)級(jí)電路的功耗優(yōu)化綜述  門(mén)級(jí)電路的功耗優(yōu)化(Gate Level Power Optimization,簡(jiǎn)稱GLPO)是從已經(jīng)映射
    發(fā)表于 11-07 11:05 ?19次下載
    (五)<b class='flag-5'>門(mén)</b><b class='flag-5'>級(jí)</b>電路低功耗設(shè)計(jì)優(yōu)化

    邏輯綜合與物理綜合

    利用工具將RTL代碼轉(zhuǎn)化為門(mén)級(jí)網(wǎng)表的過(guò)程稱為邏輯綜合。綜合一個(gè)設(shè)計(jì)的過(guò)程,從讀取RTL代碼開(kāi)始,通過(guò)時(shí)序約束關(guān)系,映射產(chǎn)生一個(gè)
    的頭像 發(fā)表于 11-28 16:02 ?3877次閱讀

    X態(tài)如何通過(guò)RTL級(jí)門(mén)級(jí)仿真模型中的邏輯進(jìn)行傳播?

    在Verilog中,IC設(shè)計(jì)工程師使用RTL構(gòu)造和描述硬件行為。但是RTL代碼中的一些語(yǔ)義,并不能夠準(zhǔn)確地為硬件行為建模。
    的頭像 發(fā)表于 04-20 09:12 ?3824次閱讀