色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

RTL表達式和運算符

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-07-27 09:11 ? 次閱讀

數字硬件建模SystemVerilog-連接和復制運算符

經過幾周的更新,SV核心部分用戶自定義類型和包內容已更新完畢,接下來就是RTL表達式和運算符。

馬上HDLBits-SystemVerilog版本也開始準備了,基本這一部分完成后就開始更新~

b975cb1a-0d44-11ed-ba43-dac502259ad0.png

介紹

連接和復制運算符將多個表達式連接在一起,形成一個向量表達式。結果向量中的位總數是每個子表達式中所有位的總和。連接有兩種形式,簡單連接和復制連接。一個簡單的連接將任意數量的表達式連接在一起。復制連接將表達式連接在一起,然后復制指定次數的結果。表5-3顯示了連接和復制運算符的一般語法和用法:

表5-1:RTL建模的連接和復制運算符
b9af4d90-0d44-11ed-ba43-dac502259ad0.png

以下變量和值用于顯示這些運算符的結果。

b9cd8b52-0d44-11ed-ba43-dac502259ad0.png
  • {a,b}結果是101100010001(二進制),一個12位的值。

  • {4’hF,a}結果是1111_1011(二進制),一個8位的值。

  • {8{2’bl0}}結果是1010101010101010(二進制),一個16位的值,2’b01重復8次。

  • {{4{a[3]}},a} 結果是11111011(二進制)一個8位的值, a的有效位重復4次,然后連接到a。

連接和復制運算符是可綜合的。運算符不直接表示硬件中的任何邏輯功能。它們只是表示同時使用多個信號,將文字值附加到信號或文字值。

示例5-1和5-2說明了連接運算符在RTL建模中的兩種常見應用:

在賦值語句的右側或左側將多個信號連接在一起。在每個示例之后,圖5-1和5-2顯示了連接運算符如何在綜合生成的門級功能。然而,在RTL模型中,連接運算符是一種有用的構造,用于以簡潔的方式表示硬件功能。

示例5-1:使用連接運算符:多輸入狀態寄存器
//`begin_keywords"1800-2012"//useSystemVerilog-2012keywords
modulestatus_reg
(inputlogicclk,//registerclk
inputlogicrstN,//active-lowreset
inputlogicint_en,//1-bitinterruptenable
inputlogiczero,//1-bitresult=0flag
inputlogiccarry,//1-bitresultoverflowflag
inputlogicneg,//1-bitnegativeresultflag
inputlogic[1:0]parity,//2-bitparitybits
outputlogic[7:0]status//8-bitstatusregisteroutput
);
timeunit1ns;timeprecision1ns;

always_ff@(posedgeclkornegedgerstN)//asyncreset
if(!rstN)//active-lowreset
status<=?{1'b0,2'b11,5'b0};//reset
else
status<=?{int_en,2'b11,zero,carry,neg,parity};//load

endmodule:status_reg
//`end_keywords

圖5-1:示例5-l的綜合結果:連接運算符(狀態寄存器)
b9e4e176-0d44-11ed-ba43-dac502259ad0.png
筆記
綜合編譯器實現運算符的方式會受到許多因素的影響,包括目標設備、與運算符一起使用的其他運算符或編程語句、使用的綜合編譯器,以及”指定的綜合選項和約束。

示例5-1中的狀態寄存器有兩個未使用的位,它們的常量值為1,用于生成圖5-1所示狀態寄存器實現的綜合編譯器將這兩個未使用的位映射到8位上拉輸出上。其他綜合編譯器,或者指定不同的綜合約束,可能會以不同的方式映射相同的RTL功能,例如通過使用預設為1值的觸發器

示例5-2:使用連接運算符:帶進位的加法器
//`begin_keywords"1800-2012"
modulertl_adder
(inputlogica,b,ci,
outputlogicsum,co
);
timeunit1ns;timeprecision1ns;

assign{co,sum}=a+b+ci;

endmodule:rtl_adder
//`end_keywords

圖5-2:示例5-2的綜合結果:加法運算符(帶進位/輸出的加法器)
ba0e9016-0d44-11ed-ba43-dac502259ad0.png

用于生成圖5-2所示實現的綜合編譯器將RTL加法器功能映射到通用加法器塊——綜合的下一步將針對特定的ASICFPGA設備,通用加法器將在該步驟中映射到特定的加法器實現。

連接和復制運算符經常用于創建用作其他運算符操作數的表達式。這方面的例子將在本章后面的章節和后面的章節中看到。

在使用連接時,有一些重要的規則需要注意:

  • 可以將任何多個表達式連接在一起,只包括一個表達式,
  • 連接中的表達式必須具有固定大小。無大小的文字值不允許使用,例如數字5和’1,是不被允許的。
  • 連接的結果始終是無符號的,無論連接中表達式的符號是什么。

不要將連接與賦值列表混淆。SystemVerilog有一個包含在’{and}(賦值列表)標記之間的賦值列表運算符。雖然賦值列表運算符看起來類似于連接運算符,但其功能卻大不相同。賦值列表運算符將多個值連接在一起,以創建一個新的單個值。賦值列表運算符以撇號開頭(’),并且用于將單個值的集合分配給數組的單個元素或結構的單個成員。

審核編輯:湯梓紅


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

    關注

    1

    文章

    388

    瀏覽量

    60744
  • 運算符
    +關注

    關注

    0

    文章

    172

    瀏覽量

    11372

原文標題:SystemVerilog-連接和復制運算符

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    數字硬件建模SystemVerilog-按位運算符

    經過幾周的更新,SV核心部分用戶自定義類型和包內容已更新完畢,接下來就是RTL表達式運算符
    的頭像 發表于 08-12 14:27 ?3008次閱讀

    關于數字硬件建模SystemVerilog

    經過幾周的更新,SV核心部分用戶自定義類型和包內容已更新完畢,接下來就是RTL表達式運算符
    的頭像 發表于 09-01 08:50 ?1630次閱讀

    C語言程序設計--運算符表達式

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

    單片機C語言教程-運算符表達式

    單片機C語言教程-運算符表達式   單片機C語言教程-運算符表達式  運算符的種類、優先級和結合性  c語言中運
    發表于 03-27 17:13 ?2303次閱讀

    基于運算符信息的數學表達式檢索技術

    傳統的文本檢索技術主要面向一維文本,難以用于對二維結構數學表達式的檢索。針對該問題,通過引入公式描述結構,實現基于運算符信息的數學表達式檢索。利用公式描述結構提取算法獲取 Latex數學表達式
    發表于 04-29 15:58 ?2次下載
    基于<b class='flag-5'>運算符</b>信息的數學<b class='flag-5'>表達式</b>檢索技術

    RTL表達式運算符

    運算符對操作數執行操作。大多數運算符都有兩個操作數。
    的頭像 發表于 07-21 09:11 ?2171次閱讀

    SystemVerilog-運算符/表達式規則

    RTL建模中廣泛使用的運算符是條件運算符,也稱為三元運算符,該運算符用于在兩個表達式之間進行選擇
    的頭像 發表于 08-03 09:03 ?3600次閱讀

    關于RTL表達式運算符

    經過幾周的更新,SV核心部分用戶自定義類型和包內容已更新完畢,接下來就是RTL表達式運算符
    的頭像 發表于 09-01 09:13 ?2199次閱讀

    RTL表達式運算符

    經過幾周的更新,SV核心部分用戶自定義類型和包內容已更新完畢,接下來就是RTL表達式運算符
    的頭像 發表于 10-11 10:15 ?2153次閱讀

    RTL表達式運算符

    決策語句(Decision statements)允許程序塊的執行流程根據設計中信號的當前值分支到特定語句。SystemVerilog有兩個主要的決策語句:if…else語句和case語句,使用關鍵字case、case…inside,casex和casez。
    的頭像 發表于 10-21 09:04 ?1629次閱讀

    RTL表達式運算符

    經過幾周的更新,SV核心部分用戶自定義類型和包內容已更新完畢,接下來就是RTL表達式運算符
    的頭像 發表于 11-03 09:14 ?1691次閱讀

    運算符/表達式規則

    運算符對操作數執行操作。大多數運算符都有兩個操作數。例如,在運算a+b中,+(加法)運算的操作數是a和b。每個操作數都被稱為表達式
    的頭像 發表于 02-09 15:37 ?1326次閱讀
    <b class='flag-5'>運算符</b>/<b class='flag-5'>表達式</b>規則

    邏輯運算符表達式

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

    位邏輯運算符表達式

    位邏輯運算符與位邏輯表達式可以實現位的編輯,比如位的清零、設置、取反和取補等操作。使用位邏輯運算符與位邏輯表達式可以在不使用匯編的情況下實現部分匯編的功能
    的頭像 發表于 02-21 15:22 ?1625次閱讀
    位邏輯<b class='flag-5'>運算符</b>與<b class='flag-5'>表達式</b>

    C語言基本的算術運算符表達式

    注意:自增和自減運算符只能用于變量,而不能用于常量或表達式 **C語言算術表達式運算符的優先級與結合性 ** 在表達式求值時,
    的頭像 發表于 03-09 10:44 ?2042次閱讀
    主站蜘蛛池模板: 在线中文字幕视频 | 美国大臿蕉香蕉大视频 | 亚洲中文字幕在线第六区 | 亚洲视频在线免费看 | 永久精品视频无码一区 | 日本免费一区二区三区四区五六区 | 免费毛片网站在线观看 | 亚洲精品6久久久久中文字幕 | 在线日本高清日本免费 | 久久国语露脸精品国产 | 免费A级毛片无码无遮挡 | 99久久麻豆AV色婷婷综合 | 欧美日韩一区在线观看 | 综合色就爱涩涩涩综合婷婷 | 99re这里只有精品国产 | 午夜视频在线观看国产 | 一区二区三区无码被窝影院 | 久久久精品3d动漫一区二区三区 | 伸到同桌奶罩里捏她胸h | 欲香欲色天天综合和网 | www.av色| 久久精品电影网 | 国产精品路线1路线2路线 | 99久久伊人一区二区yy5099 | 日韩视频中文字幕精品偷拍 | 草久热的视频在线观看 | 另类重口bdsm日本tv | 在线播放国产视频 | 国产呦精品一区二区三区下载 | 88蜜桃人妻无码精品系列 | 又黄又肉到湿的爽文 | 全彩acg无翼乌火影忍者 | 亚洲国产成人久久一区www妖精 | 人妻夜夜爽99麻豆AV | 久久精品国产亚洲AV蜜臀 | 天天久久影视色香综合网 | 老司机亚洲精品影院 | 久久99综合国产精品亚洲首页 | 午夜影院c绿象 | 亚洲精品嫩草研究院久久 | 九九热这里都是精品 |