在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

關(guān)于RTL表達(dá)式和運(yùn)算符

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-09-01 09:13 ? 次閱讀

數(shù)字硬件建模SystemVerilog-移位運(yùn)算符

經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式和運(yùn)算符。

3edd705e-298e-11ed-ba43-dac502259ad0.png

移位運(yùn)算符

移位運(yùn)算符將向量的位向右或向左移位指定的次數(shù)。SystemVerilog具有按位和算術(shù)移位運(yùn)算符,如表5-18所示。

表5-18:RTL建模的移位運(yùn)算符 3f0d31ae-298e-11ed-ba43-dac502259ad0.png

按位移位只是將向量的位向右或向左移動(dòng)指定的次數(shù),移出向量的位丟失。移入的新位是零填充的。例如,操作8’b11000101 << 2將產(chǎn)生值8’b00010100。按位移位將執(zhí)行相同的操作,無論被移位的值是有符號的還是無符號的。

算術(shù)左移位對有符號和無符號表達(dá)式執(zhí)行與按位右移位相同的操作。算術(shù)右移位對“無符號”和“有符號”表達(dá)式執(zhí)行不同的運(yùn)算。如果要移位的表達(dá)式是無符號的, 算術(shù)右移位的行為與按位右移相同,即用零填充輸入位。如果表達(dá)式是有符號的,則算術(shù)右移將通過用符號位的值填充每個(gè)輸入位來保持值的有符號性。

圖5-11顯示了這些移位操作如何將向量的位移動(dòng)2位,

圖5-11:按位和算術(shù)移位運(yùn)算-將值向左或向右移動(dòng)2位 圖5-11:按位和算術(shù)移位運(yùn)算-將值向左或向右移動(dòng)2位 3f335f78-298e-11ed-ba43-dac502259ad0.png

可綜合移位操作

移動(dòng)固定的次數(shù)。固定次數(shù)的移位操作只需將總線的位重新布線,“輸入位”接地。實(shí)現(xiàn)固定移位不需要邏輯門。示例5-11說明了一個(gè)簡單的除二組合邏輯模型,其中通過將8位總線右移一位來進(jìn)行除法。

示例5-11:使用移位運(yùn)算符:通過右移一位除以二 3f65daa2-298e-11ed-ba43-dac502259ad0.png

圖5-12顯示了固定位數(shù)的右移是如何綜合的。綜合編譯器在模塊的輸入和輸出上放置了緩沖區(qū),但沒有使用任何額外的門來執(zhí)行操作。

圖5-12:示例5-11的綜合結(jié)果:移位運(yùn)算符,按1位右移 3f8d1964-298e-11ed-ba43-dac502259ad0.png

固定次數(shù)的移位也可以使用連接操作來表示。下面兩行代碼在功能上是相同的。

3fc58d3a-298e-11ed-ba43-dac502259ad0.png

執(zhí)行移位操作的兩種類型都將綜合為相同的布線硬件,一種類型沒有優(yōu)于另一種類型的優(yōu)勢。

移動(dòng)次數(shù)可變。可變次數(shù)的移位操作代表是桶形移位器(barrel shifter)的功能,但具體實(shí)現(xiàn)將取決于特定目標(biāo)庫中可用的門級功能。一些目標(biāo)設(shè)備可能有一個(gè)已經(jīng)針對該設(shè)備進(jìn)行了優(yōu)化的預(yù)構(gòu)建桶形移位器,其他設(shè)備可能需要綜合以從較低級別的門構(gòu)建桶形移位器。

桶形移位器的一個(gè)應(yīng)用是用2的冪乘(向左移位)或除(向右移位)。例如,左移1位將值乘以2。左移2位將一個(gè)值乘以4。

示例5-12顯示了可變左移操作的代碼

示例5-12:使用移位運(yùn)算符:通過向左移位乘以二的冪 3fe42e34-298e-11ed-ba43-dac502259ad0.png

本例中的$ciog2系統(tǒng)函數(shù)用于計(jì)算base2exp輸入端口的寬度。此函數(shù)用于返回一個(gè)log2值的的上限(分?jǐn)?shù)向上舍入到下一個(gè)整數(shù))。該函數(shù)是計(jì)算一個(gè)值需要多少位的便捷方法。

圖5-13說明了該模型可能如何綜合。該示意圖是“在將移位功能映射并優(yōu)化”到特定設(shè)備之前的“中間綜合結(jié)果”。通用的“左移位邏輯”組件表示未映射的移位操作。

圖5-13:綜合結(jié)果“例如5-12:移位運(yùn)算符,可變左移位” 400df3ae-298e-11ed-ba43-dac502259ad0.png

綜合結(jié)果中的通用左移分量對其兩個(gè)輸入具有相同的位數(shù)。base2exp輸入未使用的高位與地相連。當(dāng)綜合將通用左移組件映射到特定的目標(biāo)實(shí)現(xiàn)時(shí),這些未使用的位可能會(huì)被刪除。

移位運(yùn)算符可用于乘以或除以除2的冪以外的值,以下示例將向量移動(dòng)7次。

403a7866-298e-11ed-ba43-dac502259ad0.png

可以在硬件中使用cading shift實(shí)現(xiàn)非2次方的移位,例如,操作可以通過鏈接4位左移位器、2位左移位器和1位左移位器來完成7次左移位。

讓綜合器完成它的工作!綜合使工程師能夠在抽象層次上進(jìn)行設(shè)計(jì),專注于功能,而不必陷入實(shí)現(xiàn)細(xì)節(jié)的泥潭,也不必過度關(guān)注特定ASICFPGA的功能。綜合編譯器將抽象功能模型轉(zhuǎn)換為目標(biāo)ASIC或FPGA的有效實(shí)現(xiàn)。雖然可以在更詳細(xì)的層面上仿真barrel shift行為,但這樣做通常沒有好處。現(xiàn)代綜合編譯器使用移位運(yùn)算符識別抽象RTL模型中的barrel shift行為,并將在目標(biāo)設(shè)備中生成此功能的最佳實(shí)現(xiàn)。對于不同的目標(biāo)設(shè)備,這種實(shí)現(xiàn)可能會(huì)有所不同,具體取決于該設(shè)備中可用的標(biāo)準(zhǔn)單元、LUT或門陣列。

審核編輯:彭靜
聲明:本文內(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)注

    11

    文章

    3463

    瀏覽量

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

    關(guān)注

    1

    文章

    388

    瀏覽量

    60719
  • 移位器
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8557
  • 運(yùn)算符
    +關(guān)注

    關(guān)注

    0

    文章

    172

    瀏覽量

    11362

原文標(biāo)題:SystemVerilog-移位運(yùn)算符

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

收藏 人收藏

    評論

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

    JAVA語言的運(yùn)算符表達(dá)式

    JAVA語言的運(yùn)算符表達(dá)式3.5 運(yùn)算符表達(dá)式數(shù)據(jù)的類型除了限定數(shù)據(jù)的存儲方式、取值范圍之外,還定義了對該數(shù)據(jù)類型可進(jìn)行的操作即運(yùn)算。表
    發(fā)表于 12-06 00:28

    數(shù)據(jù)類型、運(yùn)算符表達(dá)式

    數(shù)據(jù)類型、運(yùn)算符表達(dá)式2.1   程序設(shè)計(jì)概述2.2  C語言的數(shù)據(jù)類型 2.3  常量和變量 2.4 
    發(fā)表于 03-10 15:05

    關(guān)于C語言的運(yùn)算符表達(dá)式--筆記1

    關(guān)于C語言的運(yùn)算符表達(dá)式學(xué)好C語言的基礎(chǔ)運(yùn)算,還是很有必要,無論在C語言,還是后面單片機(jī),都會(huì)用到基礎(chǔ)運(yùn)算。如果不能很好運(yùn)用,會(huì)給我們編程
    發(fā)表于 07-19 00:48

    C語言程序設(shè)計(jì)--運(yùn)算符表達(dá)式

    c語言對數(shù)據(jù)有很強(qiáng)的表達(dá)能力,具有十分豐富的運(yùn)算符,利用這些運(yùn)算符可以組成各種表達(dá)式及語句。運(yùn)算符就是完成某種特定
    發(fā)表于 07-14 21:30 ?46次下載

    單片機(jī)C語言教程-運(yùn)算符表達(dá)式

    單片機(jī)C語言教程-運(yùn)算符表達(dá)式   單片機(jī)C語言教程-運(yùn)算符表達(dá)式  運(yùn)算符的種類、優(yōu)先級和結(jié)合性  c語言中運(yùn)
    發(fā)表于 03-27 17:13 ?2303次閱讀

    基于運(yùn)算符信息的數(shù)學(xué)表達(dá)式檢索技術(shù)

    傳統(tǒng)的文本檢索技術(shù)主要面向一維文本,難以用于對二維結(jié)構(gòu)數(shù)學(xué)表達(dá)式的檢索。針對該問題,通過引入公式描述結(jié)構(gòu),實(shí)現(xiàn)基于運(yùn)算符信息的數(shù)學(xué)表達(dá)式檢索。利用公式描述結(jié)構(gòu)提取算法獲取 Latex數(shù)學(xué)表達(dá)式
    發(fā)表于 04-29 15:58 ?2次下載
    基于<b class='flag-5'>運(yùn)算符</b>信息的數(shù)學(xué)<b class='flag-5'>表達(dá)式</b>檢索技術(shù)

    RTL表達(dá)式運(yùn)算符

    運(yùn)算符對操作數(shù)執(zhí)行操作。大多數(shù)運(yùn)算符都有兩個(gè)操作數(shù)。
    的頭像 發(fā)表于 07-21 09:11 ?2165次閱讀

    RTL表達(dá)式運(yùn)算符

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式運(yùn)算符
    的頭像 發(fā)表于 07-27 09:11 ?2006次閱讀

    SystemVerilog-運(yùn)算符/表達(dá)式規(guī)則

    RTL建模中廣泛使用的運(yùn)算符是條件運(yùn)算符,也稱為三元運(yùn)算符,該運(yùn)算符用于在兩個(gè)表達(dá)式之間進(jìn)行選擇
    的頭像 發(fā)表于 08-03 09:03 ?3590次閱讀

    RTL表達(dá)式運(yùn)算符

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式運(yùn)算符
    的頭像 發(fā)表于 10-11 10:15 ?2134次閱讀

    RTL表達(dá)式運(yùn)算符

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式運(yùn)算符
    的頭像 發(fā)表于 11-03 09:14 ?1683次閱讀

    運(yùn)算符/表達(dá)式規(guī)則

    運(yùn)算符對操作數(shù)執(zhí)行操作。大多數(shù)運(yùn)算符都有兩個(gè)操作數(shù)。例如,在運(yùn)算a+b中,+(加法)運(yùn)算的操作數(shù)是a和b。每個(gè)操作數(shù)都被稱為表達(dá)式
    的頭像 發(fā)表于 02-09 15:37 ?1321次閱讀
    <b class='flag-5'>運(yùn)算符</b>/<b class='flag-5'>表達(dá)式</b>規(guī)則

    邏輯運(yùn)算符表達(dá)式

    在C語言中,我們通常會(huì)進(jìn)行真值與假值的判斷,這時(shí)我們就需要用到邏輯運(yùn)算符與邏輯表達(dá)式。如果表達(dá)式的值不為0,則通通返回為真值。只有當(dāng)表達(dá)式的值為0時(shí),才會(huì)返回假值。
    的頭像 發(fā)表于 02-21 15:16 ?2558次閱讀
    邏輯<b class='flag-5'>運(yùn)算符</b>與<b class='flag-5'>表達(dá)式</b>

    位邏輯運(yùn)算符表達(dá)式

    位邏輯運(yùn)算符與位邏輯表達(dá)式可以實(shí)現(xiàn)位的編輯,比如位的清零、設(shè)置、取反和取補(bǔ)等操作。使用位邏輯運(yùn)算符與位邏輯表達(dá)式可以在不使用匯編的情況下實(shí)現(xiàn)部分匯編的功能
    的頭像 發(fā)表于 02-21 15:22 ?1599次閱讀
    位邏輯<b class='flag-5'>運(yùn)算符</b>與<b class='flag-5'>表達(dá)式</b>

    C語言基本的算術(shù)運(yùn)算符表達(dá)式

    注意:自增和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式 **C語言算術(shù)表達(dá)式運(yùn)算符的優(yōu)先級與結(jié)合性 ** 在表達(dá)式求值時(shí),
    的頭像 發(fā)表于 03-09 10:44 ?2028次閱讀
    主站蜘蛛池模板: 大喷水吹潮magnet | 极品美女写真菠萝蜜视频 | www.毛片网站| 91极品视频在线观看 | 亚洲欧美视频一区二区三区 | 免费污视频在线 | 免费大片黄国产在线观看 | 天堂网在线www资源在线 | 免费黄色大片网站 | 天堂色综合 | 69xxxx欧美老师 | 日韩a毛片 | 在线黄色免费网站 | 狠狠躁夜夜躁人人躁婷婷视频 | 农村女人的一级毛片 | 一区二区三区免费 | 欧美另类bbw | 日本特黄特色免费大片 | 久久久久88色偷偷免费 | 五月婷婷丁香综合网 | 欧美精品成人久久网站 | 亚洲五月激情综合图片区 | 成人高清毛片a | 91三级在线| 亚洲成成品网站有线 | 性欧美xxxx | 97在线人人 | 婷婷色天使在线视频观看 | 色综合视频在线 | 色婷婷激婷婷深爱五月老司机 | 久久亚洲欧美成人精品 | 久久午夜免费视频 | 午夜视频在线免费观看 | 日韩美女拍拍免费视频网站 | 久久久噜噜噜久久久午夜 | www.操你啦| 777国产精品永久免费观看 | 精品国产成人系列 | 国产亚洲欧美日韩俺去了 | 黄色在线网站 | 男男全肉高h腐文 |