哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

System Verilog-文本值

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-04-13 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

文本值-Literal values (numbers)

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

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

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

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

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

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

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

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

簡單的十進制文本整數(shù)

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

result=d+9;

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

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

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

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

result=‘d9+‘h2F+‘bl010;

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

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

二進制值的每個位可以是0、l、X或Z;八進制值的每個3位組可以是0~7、X或Z;十進制值的每個位可以是0~9、X或Z;十六進制值的每個4位組可以是0~9、a~F、X或Z。

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

result=’sd9+‘sh2F+‘sbl0l0;

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

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

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

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

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

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

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

Thereare10typesofpeopleintheworld,thosethatunderstandbinary,andthosethatdon’t

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

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

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

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

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

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

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

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

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

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

附加文本值規(guī)則

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

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

3da065f8-bad4-11ec-aa7f-dac502259ad0.png

向量填充文本值

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

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

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

3db35622-bad4-11ec-aa7f-dac502259ad0.png

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

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

浮點文本值(實數(shù))

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

3.1567
5.0
0.5
筆記
RTL綜合編譯器通常不支持實(浮點)表達式。高級綜合(HLS)工具可用于復雜的算法設計。浮點和定點設計不在本系列RTL建模的范圍之內(nèi)-

審核編輯 :李倩


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

    關注

    31

    文章

    1374

    瀏覽量

    114722
  • System
    +關注

    關注

    0

    文章

    166

    瀏覽量

    38828
  • 整數(shù)
    +關注

    關注

    0

    文章

    13

    瀏覽量

    6710

原文標題:SystemVerilog(五)-文本值

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    啟動屏幕的文本被模糊化,怎么處理?

    誰能幫我解決這個問題嗎?啟動屏幕的文本被模糊化。但在登錄頁面上,這是正常的。 誰能幫我嗎?
    發(fā)表于 03-30 07:46

    Verilog HDL語法學習筆記

    Verilog HDL 語 言 最 初 是 作為 Gateway Design Automation 公 司 ( Gateway DesignAutomation 公司后來被著名的 Cadence Design Systems 公司收購)模擬器產(chǎn)品開發(fā)的硬件建模語言。
    的頭像 發(fā)表于 03-04 15:04 ?5780次閱讀
    <b class='flag-5'>Verilog</b> HDL語法學習筆記

    Linux Shell文本處理神器合集:15個工具+實戰(zhàn)例子,效率直接翻倍

    在 Linux 系統(tǒng)中,文本是數(shù)據(jù)交互的 “通用語言”—— 日志文件、配置文件、數(shù)據(jù)報表、程序輸出幾乎都以文本形式存在。手動編輯文本不僅繁瑣,還容易出錯,而掌握 Shell 文本處理工
    的頭像 發(fā)表于 02-03 15:42 ?2732次閱讀
    Linux Shell<b class='flag-5'>文本</b>處理神器合集:15個工具+實戰(zhàn)例子,效率直接翻倍

    詳解DBC的Signal與JSON文本結合

    為了優(yōu)化CAN數(shù)據(jù)發(fā)送與接收的操作流程,更改以前手動輸入狀態(tài)對應數(shù)據(jù)的模式,采用下拉列表選擇內(nèi)容,但這需要用到超出DBC原有承載能力的信息。因此,將JSON與其結合,采用JSON格式文本寫入Signal的Comment屬性,將Comment屬性的字符串通過JSON文本拓展
    的頭像 發(fā)表于 01-06 10:57 ?424次閱讀
    詳解DBC的Signal與JSON<b class='flag-5'>文本</b>結合

    IBM Storage Scale System 6000煥新升級

    沒有數(shù)據(jù)的 AI 工廠就像沒有燃料的引擎,根本無法運轉。IBM Storage Scale System 6000 的全局命名空間和 Active File Management (AFM) 功能
    的頭像 發(fā)表于 11-30 09:12 ?790次閱讀

    請問verilog文件開頭部分的@00080000是什么意思?

    請問verilog文件開頭部分的@00080000是什么意思??
    發(fā)表于 11-06 08:10

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打開仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過readmemh函數(shù)讀入.verilog文件實現(xiàn)的: 下面通過對NucleiStudio IDE進行設置,實現(xiàn)將c
    發(fā)表于 11-05 07:07

    芯來e203移植開發(fā)分享(二)——仿真文件簡述與itcm固化程序

    可以在makefile中設置自己想要仿真的testcase,這里使用的rv32ui-p-add.verilog,這里我們把的這個文件復制的上次分享建立的文件testcase中,讀取仿真。 仿真主要流程
    發(fā)表于 10-27 06:04

    NucleiStudio如何生成.verilog文件和.dasm文件,以及對.dasm文件中自定義指令反匯編結果分析

    硬件設計需要.verilog文件來運行加NICE后的tb仿真、軟件組需要.dasm來確定自定義指令有無被正確編譯。今天,我們來分享一下NucleiStudio如何生成.verilog文件和.dasm
    發(fā)表于 10-24 06:33

    【NCS隨筆】如何進入system_off深度睡眠模式以及配置GPIO中斷喚醒

    【NCS隨筆】如何進入system_off深度睡眠模式以及配置GPIO中斷喚醒 本文章主要是講解NCS下面使用nRF54L15如何進入system_off模式,以及如何配置通過按鍵喚醒 一、如何進
    的頭像 發(fā)表于 09-29 00:56 ?933次閱讀
    【NCS隨筆】如何進入<b class='flag-5'>system</b>_off深度睡眠模式以及配置GPIO中斷喚醒

    飛書富文本組件庫RichTextVista開源

    近日,飛書正式將其自研的富文本組件庫 RichTextVista(簡稱“RTV”)開源,并上線OpenHarmony 三方庫中心倉。該組件以領先的性能、流暢的渲染體驗與高度的開放性,為鴻蒙生態(tài)提供了更高效的富文本解決方案。
    的頭像 發(fā)表于 07-16 16:47 ?1150次閱讀

    飛書開源“RTV”富文本組件 重塑鴻蒙應用富文本渲染體驗

    近日,飛書正式將其自研的富文本組件庫?RichTextVista(簡稱“RTV”)開源,并上線OpenHarmony?三方庫中心倉。該組件以領先的性能、流暢的渲染體驗與高度的開放性,為鴻蒙生態(tài)提供了
    的頭像 發(fā)表于 07-11 15:20 ?785次閱讀
    飛書開源“RTV”富<b class='flag-5'>文本</b>組件 重塑鴻蒙應用富<b class='flag-5'>文本</b>渲染體驗

    SVA斷言的用法教程

    SVA是System Verilog Assertion的縮寫,即用SV語言來描述斷言。斷言是對設計的屬性的描述,用以檢查設計是否按照預期執(zhí)行。
    的頭像 發(fā)表于 05-15 11:39 ?3765次閱讀
    SVA斷言的用法教程

    System Level EOS Testing Method”可以翻譯為: “系統(tǒng)級電性過應力測試方法”

    System Level EOS Testing Method”可以翻譯為: “系統(tǒng)級電性過應力測試方法”
    的頭像 發(fā)表于 05-05 15:55 ?1099次閱讀
    “<b class='flag-5'>System</b> Level EOS Testing Method”可以翻譯為: “系統(tǒng)級電性過應力測試方法”

    verilog模塊的調(diào)用、任務和函數(shù)

    在做模塊劃分時,通常會出現(xiàn)這種情形,某個大的模塊中包含了一個或多個功能子模塊,verilog是通過模塊調(diào)用或稱為模塊實例化的方式來實現(xiàn)這些子模塊與高層模塊的連接的.
    的頭像 發(fā)表于 05-03 10:29 ?1737次閱讀
    <b class='flag-5'>verilog</b>模塊的調(diào)用、任務和函數(shù)
    娄底市| 台东市| 开封县| 湄潭县| 绥江县| 韶关市| 桦川县| 赣榆县| 墨江| 托克托县| 永清县| 温宿县| 湖南省| 博爱县| 敦化市| 兴安盟| 雷波县| 常熟市| 西贡区| 广宁县| 招远市| 海晏县| 夹江县| 宁波市| 阿勒泰市| 平邑县| 靖江市| 南开区| 奉节县| 海门市| 平武县| 游戏| 荥阳市| 革吉县| 长春市| 益阳市| 乌鲁木齐市| 平远县| 平利县| 高碑店市| 莒南县|