<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

什么是文本值?

汽車電子技術 ? 來源:OpenFPGA ? 作者:碎碎思 ? 2023-02-09 14:29 ? 次閱讀

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

圖片

System Verilog 擴展了 Verilog 的 教據類型 , 增強了指定文本值的方法。在介紹文本值之前我們先簡單回憶一下HDL中的四個狀態數據值。

四個狀態數據值

對于RTL建模,System Verilog使用硅中可能出現的值的四值表示。

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

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

X的值不是實際的硅值。仿真器使用X來表示物理硅在特定情況下的行為的不確定性程度,例如,當仿真無法預測實際硅值是0還是1(或三態器件的Z)時,對于綜合,X值還為設計工程師提供了一種方法來指定“don’t-care”條件,工程師不關心實際硅在特定條件下是否具有0值或1值。

文本值-Literal values (numbers)

System Verilog 擴 展 了 Verilog 的 教 據 類 型 , 增 強 了 指 定 文 本 值 的 方 法。這里的Literal values是直譯,即字面量或常量、文本值。在我理解來看,Literal是指某一數據類型的具體值。

文本值是整數或實數(浮點數)。SystemVerilog提供了幾種指定文本值的方法,還有一些文本值的語義規則,在編寫RTL模型時需要理解這些規則。

文本整數值-Literal integer values

文本整數值是一個整數,沒有小數點。(IEEE 1800 SystemVerilog標準使用術語“整數文本integer literal”而不是“文本整數literal integer”),文本整數可以通過多種方式指定:

  • 簡單的十進制整數值
  • 二進制、八進制、十進制或十六進制整數值
  • 大小文本整數值
  • 有符號或無符號文本整數值

仿真和綜合工具都需要知道或假設文本整數值的特定特征。這些特點是:

  • 值的位寬度(向量大?。?/li>
  • 值的有符號性(有符號或無符號)
  • 值的基數(也稱為基數)
  • 2-state or 4-state value

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

簡單的十進制文本整數

文本整數值可以指定為簡單的數字,如數字9,如以下代碼段所示:

result = d + 9;

仿真和綜合將簡單的文本數視為:

  • 32位寬的值
  • 有符號
  • 十進制值
  • 2態值(沒有位可以是Z或X)

這些特征以及 d 的特征將影響加法的執行方式以及結果賦值的執行方式。

二進制、八進制、十進制和十六進制文本整數??梢詾槲谋菊麛抵抵付ǘM制、八進制、十進制或十六進制的特定基數,該基數使用撇號(’)指定(有時稱為“勾號”),后跟一個字母:b或B表示二進制,o或O表示八進制,d或D表示十進制,h或H表示十六進制。一些示例包括:

result=‘d9 + ‘h2F + ‘bl010;

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

  • 32位寬的值
  • 無符號值(注意與有符號的簡單文本整數的差異)
  • 規定的基準值
  • 4態值(任何或所有位可以是X或Z)

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

有符號文本整數。默認情況下,具有指定基的文本值在操作和賦值中被視為無符號值??梢酝ㄟ^在撇號之后和基本說明符之前添加字母s或S來覆蓋此默認值。

result=’sd9 + ‘sh2F + ‘sbl0l0;

在某些操作和賦值語句中,有符號值與無符號值的處理方式不同。后面討論了有符號和無符號值對運算符和運算的影響。

調整文本整數的大小

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

具有特定基的值也可以指定特定的位寬度。用于表示值的位數在撇號、有符號性和基本規范之前指定:

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

八進制值的使用已經過時幾十年了。文本十進制值很容易與其他數字混淆。

有個老工程笑話適用于這里。。。

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

世界上有10種人,懂二進制的和不懂二進制的

不匹配的大小和值檢測規則

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

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

SystemVerilog始終調整該值以匹配指定的大小。這些規則是:

  • 當大小小于值的位時,值的最左邊位被截斷。
  • 當大小大于該值的位數時,該值保持擴展。使用以下規則填充附加位:
  • 如果值的最左邊位為0或l,則額外的高位用0填充。
  • 如果該值的最左邊位為Z,則附加的高位用Z填充
  • 如果該值的最左側位為X,則額外的高位用X填充。

請注意,即使將文本整數指定為有符號整數,該值也不會進行符號擴展。符號擴展發生在有符號文本值用于操作和賦值語句時,這將在后面中討論。

前面代碼段的值調整為:

4’hFACE//截斷為4’hE
16’sh8//延伸至16’sh0008
32’bZ//擴展到32’bZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
最佳做法準則3-2
在綜合RTL模型之前,將lint檢查程序(也稱為建模規則檢查器)與仿真結合使用。

當發生截斷時,仿真器可能會報告非致命警告消息,但不需要報告警告。仿真器將無聲地擴展文本值以匹配大小,而不會生成任何警告。存在在仿真中驗證設計功能而未意識到尺寸/值不匹配的風險。使用lint檢查器時將顯示文本值中的任何不匹配。

附加文本值規則

問號(?)可以用來代替Z來表示高阻抗。在大多數情況下,字母Z是表示高阻抗的更直觀的方式。然而,有些運算符和編程語句使用高阻抗值來表示不關心狀態。對于這些不關心的情況,使用問號表示高阻抗會更直觀。

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

圖片

向量填充文本值

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

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

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

圖片

向量填充文本整數是建??缮炜s設計的一個重要構造,對于不同的設計配置,可具有不同的向量寬度。本章后面章節討論了可配置向量大小的建模。

這些向量填充文本整數不是傳統Verilog的一部分。它們是作為原始Verilog語言的SystemVeri1og擴展的一部分添加的。

浮點文本值(實數)

SystemVerilog將浮點值稱為實數。實數使用64位雙精度浮點表示。文本浮點值是通過在文本數字中使用小數點來指定的。必須在小數點的兩側指定一個值。

3.1567
5.0
0.5
筆記
RTL綜合編譯器通常不支持實(浮點)表達式。高級綜合(HLS)工具可用于復雜的算法設計。浮點和定點設計不在本系列RTL建模的范圍之內-
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    28

    文章

    1327

    瀏覽量

    109326
  • System
    +關注

    關注

    0

    文章

    161

    瀏覽量

    36581
  • 文本
    +關注

    關注

    0

    文章

    118

    瀏覽量

    16925
收藏 人收藏

    評論

    相關推薦

    SDL顯示文本

    ?? SDL2.0庫本身沒有文本數據顯示相關函數接口,文本顯示需要編譯安裝SDL_ttf庫。
    的頭像 發表于 09-29 16:32 ?1588次閱讀
    SDL顯示<b class='flag-5'>文本</b>

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

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

    新的文本隱寫分析方法

    通過對自然文本的建模和特征統計發現,在自然文本中,文本單詞平均長度與該文本詞匯表單詞的平均長度有較大差距,在通過構造法隱藏消息的隱密文本中,
    發表于 04-11 09:39 ?16次下載

    Web文本表示及其分類研究

    Web 文本挖掘是Web 數據挖掘的一個重要研究領域。文本挖掘的主要方法是文本分類和聚類。本文主要討論了在文本挖掘中文本的表示,以及
    發表于 08-28 10:31 ?4次下載

    用于文本分類和文本聚類的特征抽取方法的研究

    文本信息處理已成為一門日趨成熟、應用面日趨廣泛的學科。文本分類和聚類技術是應信息檢索和查詢需要而出現的自然語言處理領域的重要研究課題。面對急速膨脹的各種文本
    發表于 12-22 14:19 ?3次下載

    文本編輯器的實現

      本章的目的是建立一個文本編輯器,同時繼續介紹控件的用法。有兩類文本編輯器:單文檔和多文檔文本編輯器。單文檔文本編輯器一次只能打開一個文件,如果要打開另一
    發表于 11-11 11:13 ?0次下載

    ARM的文本框控件

    ARM的文本框控件一、實驗目的學習文本框控件的使用。掌握以二進制形式打開并讀取文件的方法。把一個二進制文件中的數字的內容在
    發表于 12-26 00:00 ?755次閱讀
    ARM的<b class='flag-5'>文本</b>框控件

    蟻群算法在文本聚類中的應用研究

    蟻群算法在文本聚類中的應用研究_張海濤
    發表于 01-03 17:41 ?0次下載

    海為PLC應用技巧:文本作為從機

    1臺PLC必須作為主機,10臺TP300文本作為從機,在文本編輯軟件中選擇Modbus Server協議,10臺文本的局號分別設為1~10。那么PLC作為主機就需要編寫通訊部分程序。文本
    發表于 10-09 09:19 ?14次下載
    海為PLC應用技巧:<b class='flag-5'>文本</b>作為從機

    文本聚類算法

    針對短文本特征極度稀疏、上下文依賴性強等特點,以自頂向下的策略,提出一種基于核心詞項平均劃分相似度的短文本聚類算法CTMPS。該方法首先在整個短文本語料庫中計算詞項之間的概率相關性,以此為基礎對短
    發表于 11-17 16:28 ?0次下載
    短<b class='flag-5'>文本</b>聚類算法

    基于超像素融合的文本分割

    提高復雜背景及噪聲干擾文本圖像的文本分割性能是文本識別研究中的重要問題和難點,為更好地解決這一難題,提出一種基于超像素融合的文本分割方法。首先對文本
    發表于 12-08 16:59 ?1次下載

    基于語義的文本語義分析

    文本情感傾向性研究是人工智能的分支學科,涉及了計算語言學,數據挖掘,自然語言處理等多個學科?;谡Z義的情感傾向研究和基于機器學習的情感傾向研究是情感傾向性分析的兩個方向。本文采用了基于語義的方法
    發表于 12-15 16:35 ?6次下載

    基于R-Grams文本相似度計算方法的文本聚類方法

    針對傳統文本聚類中存在著聚類準確率和召回率難以平衡等問題,提出了一種基于R-Grams文本相似度計算方法的文本聚類方法。該方法首先通過將待聚類文檔降序排列,其次采用R-C rams文本
    發表于 12-29 17:09 ?0次下載

    關于文本匹配的破城長矛

    搜索也好,檢索式對話也好,文本是一個很難繞開的話題,雖然語義是一個重要因素,用語義相似度直接梭,但是用戶的感知可不是如此,很多用戶的感知更多是文本層面的相似要高于語義相似,或者說,遇到語義相似和文本
    的頭像 發表于 03-31 17:33 ?1716次閱讀

    System Verilog-文本

    文本整數值是一個整數,沒有小數點。(IEEE 1800 SystemVerilog標準使用術語“整數文本integer literal”而不是“文本整數literal integer”),文本
    的頭像 發表于 04-13 10:55 ?1043次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>