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

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

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

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

什么是文本值?

汽車電子技術(shù) ? 來(lái)源:OpenFPGA ? 作者:碎碎思 ? 2023-02-09 14:29 ? 次閱讀

數(shù)字硬件建模SystemVerilog(五)-文本值

圖片

System Verilog 擴(kuò)展了 Verilog 的 教據(jù)類型 , 增強(qiáng)了指定文本值的方法。在介紹文本值之前我們先簡(jiǎn)單回憶一下HDL中的四個(gè)狀態(tài)數(shù)據(jù)值。

四個(gè)狀態(tài)數(shù)據(jù)值

對(duì)于RTL建模,System Verilog使用硅中可能出現(xiàn)的值的四值表示。

  • 0表示抽象數(shù)字低電平,沒有與之相關(guān)的電壓或電流
  • 1表示抽象數(shù)字高電平,無(wú)電壓或電流,
  • Z表示抽象數(shù)字高阻抗,在多驅(qū)動(dòng)器電路中,值為0或1將覆蓋Z。一些編程運(yùn)算符和編程語(yǔ)句將Z值視為無(wú)關(guān)緊要的值。
  • X表示多驅(qū)動(dòng)器電路中的未初始化值、不確定值或值沖突。在某些RTL模型上下文中,綜合編譯器將X值視為不關(guān)心值。

0、1和Z的值是實(shí)際硅中可能存在的值的抽象。

X的值不是實(shí)際的硅值。仿真器使用X來(lái)表示物理硅在特定情況下的行為的不確定性程度,例如,當(dāng)仿真無(wú)法預(yù)測(cè)實(shí)際硅值是0還是1(或三態(tài)器件的Z)時(shí),對(duì)于綜合,X值還為設(shè)計(jì)工程師提供了一種方法來(lái)指定“don’t-care”條件,工程師不關(guān)心實(shí)際硅在特定條件下是否具有0值或1值。

文本值-Literal values (numbers)

System Verilog 擴(kuò) 展 了 Verilog 的 教 據(jù) 類 型 , 增 強(qiáng) 了 指 定 文 本 值 的 方 法。這里的Literal values是直譯,即字面量或常量、文本值。在我理解來(lái)看,Literal是指某一數(shù)據(jù)類型的具體值。

文本值是整數(shù)或?qū)崝?shù)(浮點(diǎn)數(shù))。SystemVerilog提供了幾種指定文本值的方法,還有一些文本值的語(yǔ)義規(guī)則,在編寫RTL模型時(shí)需要理解這些規(guī)則。

文本整數(shù)值-Literal integer values

文本整數(shù)值是一個(gè)整數(shù),沒有小數(shù)點(diǎn)。(IEEE 1800 SystemVerilog標(biāo)準(zhǔn)使用術(shù)語(yǔ)“整數(shù)文本integer literal”而不是“文本整數(shù)literal integer”),文本整數(shù)可以通過(guò)多種方式指定:

  • 簡(jiǎn)單的十進(jìn)制整數(shù)值
  • 二進(jìn)制、八進(jìn)制、十進(jìn)制或十六進(jìn)制整數(shù)值
  • 大小文本整數(shù)值
  • 有符號(hào)或無(wú)符號(hào)文本整數(shù)值

仿真和綜合工具都需要知道或假設(shè)文本整數(shù)值的特定特征。這些特點(diǎn)是:

  • 值的位寬度(向量大小)
  • 值的有符號(hào)性(有符號(hào)或無(wú)符號(hào))
  • 值的基數(shù)(也稱為基數(shù))
  • 2-state or 4-state value

這些特征影響值的操作和賦值。

簡(jiǎn)單的十進(jìn)制文本整數(shù)

文本整數(shù)值可以指定為簡(jiǎn)單的數(shù)字,如數(shù)字9,如以下代碼段所示:

result = d + 9;

仿真和綜合將簡(jiǎn)單的文本數(shù)視為:

  • 32位寬的值
  • 有符號(hào)
  • 十進(jìn)制值
  • 2態(tài)值(沒有位可以是Z或X)

這些特征以及 d 的特征將影響加法的執(zhí)行方式以及結(jié)果賦值的執(zhí)行方式。

二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制文本整數(shù)。可以為文本整數(shù)值指定二進(jìn)制、八進(jìn)制、十進(jìn)制或十六進(jìn)制的特定基數(shù),該基數(shù)使用撇號(hào)(’)指定(有時(shí)稱為“勾號(hào)”),后跟一個(gè)字母:b或B表示二進(jìn)制,o或O表示八進(jìn)制,d或D表示十進(jìn)制,h或H表示十六進(jìn)制。一些示例包括:

result=‘d9 + ‘h2F + ‘bl010;

仿真和綜合將未指定大小的顯式基本文本數(shù)視為:

  • 32位寬的值
  • 無(wú)符號(hào)值(注意與有符號(hào)的簡(jiǎn)單文本整數(shù)的差異)
  • 規(guī)定的基準(zhǔn)值
  • 4態(tài)值(任何或所有位可以是X或Z)

二進(jìn)制值的每個(gè)位可以是0、l、X或Z;八進(jìn)制值的每個(gè)3位組可以是07、X或Z;十進(jìn)制值的每個(gè)位可以是09、X或Z;十六進(jìn)制值的每個(gè)4位組可以是09、aF、X或Z。

有符號(hào)文本整數(shù)。默認(rèn)情況下,具有指定基的文本值在操作和賦值中被視為無(wú)符號(hào)值。可以通過(guò)在撇號(hào)之后和基本說(shuō)明符之前添加字母s或S來(lái)覆蓋此默認(rèn)值。

result=’sd9 + ‘sh2F + ‘sbl0l0;

在某些操作和賦值語(yǔ)句中,有符號(hào)值與無(wú)符號(hào)值的處理方式不同。后面討論了有符號(hào)和無(wú)符號(hào)值對(duì)運(yùn)算符和運(yùn)算的影響。

調(diào)整文本整數(shù)的大小

默認(rèn)情況下,在操作、編程語(yǔ)句和賦值語(yǔ)句中,簡(jiǎn)單文本數(shù)和指定了基數(shù)的文本數(shù)被視為32位值。此默認(rèn)值不能準(zhǔn)確表示使用其他向量大小的硬件模型。

具有特定基的值也可以指定特定的位寬度。用于表示值的位數(shù)在撇號(hào)、有符號(hào)性和基本規(guī)范之前指定:

Result = 16 ‘d9 + 8 ‘h2F + 4 ‘bl010;
筆記
當(dāng)文本值的大小與賦值語(yǔ)句左側(cè)的變量不同時(shí),綜合編譯器和lint檢查器可能會(huì)生成警告消息。這些大小不匹配警告消息可能會(huì)隱藏其他需要注意的消息。使用顯式大小的文本值將防止大小不匹配警告。
最佳做法準(zhǔn)則3-1
在RTL模型中僅使用二進(jìn)制和十六進(jìn)制文本整數(shù)。這些數(shù)字基在數(shù)字邏輯中具有直觀的意義

八進(jìn)制值的使用已經(jīng)過(guò)時(shí)幾十年了。文本十進(jìn)制值很容易與其他數(shù)字混淆。

有個(gè)老工程笑話適用于這里。。。

There are 10 types of people in the world, those that understand binaryand those that don’t

世界上有10種人,懂二進(jìn)制的和不懂二進(jìn)制的

不匹配的大小和值檢測(cè)規(guī)則

下面的規(guī)則是編寫HDL代碼中最難檢查的,也是大部分人不注意的!

指定一個(gè)位寬不同于表示該值所需位數(shù)的文本整數(shù)是合法的。例如:

SystemVerilog始終調(diào)整該值以匹配指定的大小。這些規(guī)則是:

  • 當(dāng)大小小于值的位時(shí),值的最左邊位被截?cái)唷?/li>
  • 當(dāng)大小大于該值的位數(shù)時(shí),該值保持?jǐn)U展。使用以下規(guī)則填充附加位:
  • 如果值的最左邊位為0或l,則額外的高位用0填充。
  • 如果該值的最左邊位為Z,則附加的高位用Z填充
  • 如果該值的最左側(cè)位為X,則額外的高位用X填充。

請(qǐng)注意,即使將文本整數(shù)指定為有符號(hào)整數(shù),該值也不會(huì)進(jìn)行符號(hào)擴(kuò)展。符號(hào)擴(kuò)展發(fā)生在有符號(hào)文本值用于操作和賦值語(yǔ)句時(shí),這將在后面中討論。

前面代碼段的值調(diào)整為:

4’hFACE//截?cái)酁?span id="a5mgapgs4i"    class="hljs-number">4’hE
16’sh8//延伸至16’sh0008
32’bZ//擴(kuò)展到32’bZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
最佳做法準(zhǔn)則3-2
在綜合RTL模型之前,將lint檢查程序(也稱為建模規(guī)則檢查器)與仿真結(jié)合使用。

當(dāng)發(fā)生截?cái)鄷r(shí),仿真器可能會(huì)報(bào)告非致命警告消息,但不需要報(bào)告警告。仿真器將無(wú)聲地?cái)U(kuò)展文本值以匹配大小,而不會(huì)生成任何警告。存在在仿真中驗(yàn)證設(shè)計(jì)功能而未意識(shí)到尺寸/值不匹配的風(fēng)險(xiǎn)。使用lint檢查器時(shí)將顯示文本值中的任何不匹配。

附加文本值規(guī)則

問號(hào)(?)可以用來(lái)代替Z來(lái)表示高阻抗。在大多數(shù)情況下,字母Z是表示高阻抗的更直觀的方式。然而,有些運(yùn)算符和編程語(yǔ)句使用高阻抗值來(lái)表示不關(guān)心狀態(tài)。對(duì)于這些不關(guān)心的情況,使用問號(hào)表示高阻抗會(huì)更直觀。

在文本值中的任何位置都可以使用分割以下的字符(_),仿真、綜合編譯器等都可以解析,同時(shí)SystemVerilog代碼的工具會(huì)忽略下劃線。在數(shù)字中添加一個(gè)下劃線有助于使長(zhǎng)數(shù)字更具可讀性,尤其是二進(jìn)制值-下劃線也可用于顯示值中的子字段,

圖片

向量填充文本值

SystemVerilog提供了一種特殊形式的無(wú)大小文本整數(shù),它將任何大小的向量的所有位設(shè)置為0、l、X或Z。文本值的向量大小根據(jù)其上下文自動(dòng)確定。

  • ‘0用0填充左側(cè)的所有位
  • ‘1用1填充左側(cè)的所有位
  • ‘z或’Z用z填充左側(cè)的所有位T
  • ‘x或’X用x填充左側(cè)的所有位

使用向量填充文本整數(shù)的示例如下:

圖片

向量填充文本整數(shù)是建模可伸縮設(shè)計(jì)的一個(gè)重要構(gòu)造,對(duì)于不同的設(shè)計(jì)配置,可具有不同的向量寬度。本章后面章節(jié)討論了可配置向量大小的建模。

這些向量填充文本整數(shù)不是傳統(tǒng)Verilog的一部分。它們是作為原始Verilog語(yǔ)言的SystemVeri1og擴(kuò)展的一部分添加的。

浮點(diǎn)文本值(實(shí)數(shù))

SystemVerilog將浮點(diǎn)值稱為實(shí)數(shù)。實(shí)數(shù)使用64位雙精度浮點(diǎn)表示。文本浮點(diǎn)值是通過(guò)在文本數(shù)字中使用小數(shù)點(diǎn)來(lái)指定的。必須在小數(shù)點(diǎn)的兩側(cè)指定一個(gè)值。

3.1567
5.0
0.5
筆記
RTL綜合編譯器通常不支持實(shí)(浮點(diǎn))表達(dá)式。高級(jí)綜合(HLS)工具可用于復(fù)雜的算法設(shè)計(jì)。浮點(diǎn)和定點(diǎn)設(shè)計(jì)不在本系列RTL建模的范圍之內(nèi)-
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110095
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    165

    瀏覽量

    36942
  • 文本
    +關(guān)注

    關(guān)注

    0

    文章

    118

    瀏覽量

    17086
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在Altium Designer中搜索特定對(duì)象的標(biāo)準(zhǔn)通常是將參數(shù)與某些字符串(文本匹配。#pcb設(shè)計(jì)

    altiumEDA工具標(biāo)準(zhǔn)字符串Designer
    Altium
    發(fā)布于 :2022年09月20日 15:35:31

    文本分類的原理是什么?#硬聲創(chuàng)作季

    文本
    電子學(xué)習(xí)
    發(fā)布于 :2022年11月20日 21:09:28

    multi-listbox多列表框中如何每次只寫入一個(gè)單元格的文本

    各位好,多列表框中寫入文本是用二維字符數(shù)組,可是如果只想改變其中一單元格的文本,除了操作二維數(shù)據(jù)更新,還有其它的辦法嗎?二維數(shù)據(jù)每次更新是整個(gè)控件的文本
    發(fā)表于 04-12 15:20

    實(shí)數(shù)錯(cuò)誤

    不明白為什么當(dāng)我將數(shù)字轉(zhuǎn)換為顯示的文本時(shí),它仍然無(wú)法正確顯示它。采用real64數(shù)字95.96這個(gè)數(shù)字出現(xiàn)在95.9599999999999999這真的弄亂了我的報(bào)告和顯示。我可以處理它的唯一
    發(fā)表于 03-20 07:51

    請(qǐng)問怎么輸出調(diào)試消息到IDE?

    我使用了大約十幾種不同的開發(fā)環(huán)境,在幾乎所有的開發(fā)環(huán)境中,都有一種方法將調(diào)試文本輸出到IDE中的“控制臺(tái)”、“輸出”或“調(diào)試”標(biāo)簽中。IVE在PSoC Creator中到處尋找,在調(diào)試中運(yùn)行時(shí)
    發(fā)表于 08-29 10:17

    如何通過(guò)屬性節(jié)點(diǎn)修改布爾控件的“開時(shí)文本”和“關(guān)時(shí)文本

    現(xiàn)在有個(gè)項(xiàng)目要該多種語(yǔ)言顯示,界面上用了很多布爾控件,開關(guān)文本顯示不一樣。如何通過(guò)屬性節(jié)點(diǎn)來(lái)設(shè)置布爾控件的“開時(shí)文本”和“關(guān)時(shí)文本”的
    發(fā)表于 10-25 15:24

    【學(xué)習(xí)打卡】OpenHarmony的TextClock組件介紹

    時(shí)間字體大小、顏色、樣式等。不能直接修改時(shí)間,但可以自己創(chuàng)建一個(gè)子類來(lái)實(shí)現(xiàn)設(shè)置時(shí)間功能。只能從DigitalClock獲取文本以獲取 Hour 和 Minute 時(shí)間。TextC
    發(fā)表于 07-30 22:33

    使用Touchgfx框架可以做到分解項(xiàng)目符號(hào)列表嗎

    我有一個(gè)可能包含大量文本的應(yīng)用程序。最好將下一個(gè)分解為項(xiàng)目符號(hào)列表或編號(hào)列表。使用 Touchgfx 框架是否有聰明的方法來(lái)做到這一點(diǎn)?我認(rèn)為為每個(gè)塊輸入文本對(duì)于我將要處理的文本量來(lái)
    發(fā)表于 12-15 08:22

    TouchGFX如何使用滑塊旋鈕位置移動(dòng)文本

    、容器等構(gòu)建一個(gè)漂亮的 UI,但有一件事我找不到解決方案。我創(chuàng)建了一個(gè)帶有垂直滑塊和自定義指示器圖像(圓形旋鈕)的自定義容器。在這個(gè)旋鈕上,我想在頂部設(shè)置一個(gè)文本字段,其取決于滑塊 (1-10
    發(fā)表于 02-03 11:08

    一種有效的文本圖像二化方法

    針對(duì)一般文本圖像二化方法--全局閾值法和局部閾值法所存在的不足,提出了一種整體與局部相結(jié)合的二化方法,該方法根據(jù)文本圖像的特點(diǎn),自適應(yīng)調(diào)整局部二
    發(fā)表于 06-11 09:08 ?13次下載

    基于相容粗集的二文本圖像數(shù)字水印方法

    針對(duì)二文本圖像像素簡(jiǎn)單、紋理復(fù)雜、信息隱藏的免疫力差的特點(diǎn),提出了一種基于相容粗糙集的數(shù)字水印嵌入位置選擇方法。該方法把二文本載體圖像劃分為不同的等價(jià)類
    發(fā)表于 08-12 16:54 ?14次下載

    基于灰度直方圖和譜聚類的文本圖像二化方法

    基于灰度直方圖和譜聚類的文本圖像二化方法:在自動(dòng)文本提取中,經(jīng)定位獲得的字符區(qū)域需二化后方能有效識(shí)別,由于背景的復(fù)雜,常用的閾值化方法不能有效分割自然環(huán)境下
    發(fā)表于 10-29 13:08 ?18次下載

    基于短文本的突發(fā)事件過(guò)程展示

    針對(duì)當(dāng)前短文本的突發(fā)事件分析不能較為簡(jiǎn)易且準(zhǔn)確地描述事件發(fā)展過(guò)程的問題,提出一種新的基于短文本的突發(fā)事件發(fā)展過(guò)程表示方法。首先,提出一種事件狀態(tài),它被用于描述事件在各個(gè)時(shí)間點(diǎn)的狀態(tài),以便于用戶分析
    發(fā)表于 12-17 10:22 ?0次下載

    System Verilog-文本

    文本整數(shù)值是一個(gè)整數(shù),沒有小數(shù)點(diǎn)。(IEEE 1800 SystemVerilog標(biāo)準(zhǔn)使用術(shù)語(yǔ)“整數(shù)文本integer literal”而不是“文本整數(shù)literal integer”),文本
    的頭像 發(fā)表于 04-13 10:55 ?1298次閱讀

    從串行監(jiān)視器讀取文本到你的Android的應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《從串行監(jiān)視器讀取文本到你的Android的應(yīng)用程序.zip》資料免費(fèi)下載
    發(fā)表于 12-22 15:22 ?0次下載
    從串行監(jiān)視器讀取<b class='flag-5'>文本</b>或<b class='flag-5'>值</b>到你的Android的應(yīng)用程序
    主站蜘蛛池模板: 热re久久精品国产99热| 亚洲午夜久久久久久噜噜噜| 亚洲第一成人影院| 两性色午夜视频免费播放| 天天看片夜夜爽| 夜色成人网| 国产精品视频久久久| 国色天香精品亚洲精品| 欧美第一色| 日日操夜夜操天天操| 免看一级a毛片一片成人不卡| 日本a级影院| 天天操人人干| 久久久久激情免费观看| 你懂得网址在线观看| 四虎h789fcom| 福利视频一区二区| 国产专区日韩精品欧美色| 国产真实野战在线视频| 一级待一黄aaa大片在线还看| 韩日色图| 伊人黄色网| 三级黄色在线视频中文| 女人张开腿让男人做爽爽| 天天操天天射天天| 精品成人| 国产一区二区三区在线观看影院| 成人精品第一区二区三区| 唯美久草| 夜夜操com| 久久精品国产亚洲婷婷| 激情综合网五月婷婷| 手机在线完整视频免费观看| 色多多在线观看视频| 天堂网传媒| 亚洲欧美在线播放| 永久免费在线观看| sss欧美一区二区三区| 成人精品亚洲| 欧美日韩一卡2卡三卡4卡新区| 好色999|