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

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

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

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

關(guān)于數(shù)字硬件建模SystemVerilog

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

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

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

39b60faa-298e-11ed-ba43-dac502259ad0.png

邏輯運(yùn)算符

邏輯運(yùn)算符對(duì)其操作數(shù)求值,并返回一個(gè)值,該值指示求值結(jié)果是真還是假(true or false)。例如,運(yùn)算a && b測(cè)試a和b是否都為真,如果兩個(gè)操作數(shù)都為真,則運(yùn)算符返回真。否則,運(yùn)算符返回false。

邏輯運(yùn)算符返回值。SystemVerilog沒有內(nèi)置的true或false布爾值。相反,邏輯運(yùn)算符的返回使用邏輯值1’b1(一個(gè)一位寬的邏輯l)表示真,1’b0表示假。邏輯運(yùn)算符還可以返回1’bx,指示仿真無法確定實(shí)際邏輯門的評(píng)估結(jié)果是否為真或假的模糊條件。

判斷一個(gè)表達(dá)式是真是假。要確定操作數(shù)是真是假,SystemVerilog使用以下規(guī)則:

如果所有位均為0,則操作數(shù)為假

如果所有位均為1,則操作數(shù)為真

如果所有位均為X或Z,且沒有位為1,則操作數(shù)未知X

表5-1列出了RTL綜合編譯器普遍支持的邏輯運(yùn)算符。

表5-11:RTL建模的邏輯運(yùn)算符 39c6061c-298e-11ed-ba43-dac502259ad0.png

邏輯求反運(yùn)算符通常被稱為“not運(yùn)算符”,它是“not true”的縮寫。

邏輯運(yùn)算符通過對(duì)每個(gè)操作數(shù)進(jìn)行歸約OR來執(zhí)行其運(yùn)算,從而產(chǎn)生一個(gè)1位結(jié)果。然后對(duì)該結(jié)果進(jìn)行求值,以確定其為真還是假。對(duì)于not運(yùn)算符,1位的結(jié)果首先被反轉(zhuǎn),然后求值為真或假。

表5-12和5-13顯示了這些邏輯運(yùn)算符對(duì)幾個(gè)示例值的結(jié)果。

表5-12:邏輯AND and OR運(yùn)算的示例結(jié)果 39e6f73c-298e-11ed-ba43-dac502259ad0.png 表5-13:邏輯求反運(yùn)算的示例結(jié)果 3a1365d8-298e-11ed-ba43-dac502259ad0.png

邏輯求反運(yùn)算符(!)和按位反轉(zhuǎn)運(yùn)算符(~)之間的區(qū)別

練習(xí)題目《HDLBits: 在線學(xué)習(xí) SystemVerilog(一)-Problem 2-6》Problem 4

應(yīng)注意不要混淆邏輯求反運(yùn)算符(!)以及按位反轉(zhuǎn)運(yùn)算符(~)。求反運(yùn)算符對(duì)其操作數(shù)執(zhí)行真/假求值,并返回表示真、假或未知結(jié)果的1位值。按位反轉(zhuǎn)運(yùn)算符對(duì)操作數(shù)的每一位(補(bǔ)碼)執(zhí)行邏輯反轉(zhuǎn),并返回與操作數(shù)相同位寬的值。

在某些操作中,這些操作的結(jié)果恰好相同,但在其他操作中,它們返回的值非常不同。當(dāng)運(yùn)算符與決策語(yǔ)句一起被錯(cuò)誤使用時(shí),這種差異可能導(dǎo)致錯(cuò)誤代碼。考慮下面的例子:

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

前面代碼片段的最后兩行之所以不同,是因?yàn)檫@兩個(gè)運(yùn)算符的工作方式不同——邏輯求反運(yùn)算符(!)通過將兩位相加或相減,對(duì)2位選擇執(zhí)行真/假計(jì)算,然后反轉(zhuǎn)1位結(jié)果,按位反轉(zhuǎn)運(yùn)算符(~)只反轉(zhuǎn)2位選擇向量的每一位的值,并返回2位結(jié)果。if語(yǔ)句然后對(duì)2位向量進(jìn)行真/假測(cè)試,該向量的計(jì)算結(jié)果為真,因?yàn)榉崔D(zhuǎn)后的值仍有一位設(shè)置為1。

最佳實(shí)踐指南5-1
使用按位反轉(zhuǎn)運(yùn)算符反轉(zhuǎn)值的位,不要使用按位反轉(zhuǎn)運(yùn)算符對(duì)邏輯求反運(yùn)算符求反。相反,使用邏輯求反運(yùn)算符來否定真/假測(cè)試的結(jié)果。不要使用邏輯求反運(yùn)算符反轉(zhuǎn)值。
最佳實(shí)踐指南5-2
僅使用邏輯求反運(yùn)算符求反來測(cè)試標(biāo)量(1位)值,而不是 對(duì)向量執(zhí)行真/假測(cè)試。

如果向量的任何位為1,邏輯運(yùn)算將返回true,這可能會(huì)導(dǎo)致在測(cè)試特定位時(shí)出現(xiàn)設(shè)計(jì)錯(cuò)誤。計(jì)算向量值時(shí),使用等式或關(guān)系運(yùn)算符測(cè)試可接受的值。

示例5-7說明了一個(gè)小型RTL模型,該模型使用邏輯NOT、邏輯AND和邏輯OR運(yùn)算符。該設(shè)計(jì)是一個(gè)邏輯比較器,如果兩個(gè)數(shù)據(jù)值中的任何一個(gè)在可配置的值范圍內(nèi),則設(shè)置一個(gè)flag。

示例5-7:使用邏輯運(yùn)算符:當(dāng)值在某個(gè)范圍內(nèi)時(shí)設(shè)置flag 3a67887a-298e-11ed-ba43-dac502259ad0.png

圖5-7顯示了示例5-7中的RTL模型綜合結(jié)果

圖5-7:示例5-7的綜合結(jié)果:邏輯運(yùn)算符(范圍內(nèi)比較) 3a9d8e5c-298e-11ed-ba43-dac502259ad0.png

不可綜合的邏輯運(yùn)算符

SV-2009增加了兩個(gè)額外的邏輯運(yùn)算符,它們是蘊(yùn)涵和等價(jià)運(yùn)算符,在本文編寫時(shí)RTL綜合編譯器通常不支持這些運(yùn)算符。表5-14列出了這兩個(gè)運(yùn)算符的標(biāo)記和描述。

表5-14:不可綜合邏輯運(yùn)算符 3ad2c126-298e-11ed-ba43-dac502259ad0.png

審核編輯:彭靜
聲明:本文內(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)投訴
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3417

    瀏覽量

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

    關(guān)注

    1

    文章

    386

    瀏覽量

    60172
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1645

    瀏覽量

    49465

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在SystemVerilog中為狀態(tài)機(jī)的命令序列的生成建模

     我們將展示如何在SystemVerilog中為狀態(tài)機(jī)的命令序列的生成建模,并且我們將看到它是如何實(shí)現(xiàn)更高效的建模,以及實(shí)現(xiàn)更好的測(cè)試生成。?
    發(fā)表于 01-01 06:05

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

    介紹歸約運(yùn)算符對(duì)單個(gè)操作數(shù)的所有位執(zhí)行運(yùn)算,并返回標(biāo)量(1位)結(jié)果。表5-9列出了歸約運(yùn)算符。表5-9:RTL建模的歸約運(yùn)算符歸約運(yùn)算符包括一個(gè)NAND和一個(gè)NOR運(yùn)算符,這是按位運(yùn)算符所沒有
    發(fā)表于 10-20 15:03

    SystemVerilog對(duì)硬件功能如何進(jìn)行建模

    本文定義了通常用于描述使用SystemVerilog對(duì)硬件功能進(jìn)行建模的詳細(xì)級(jí)別的術(shù)語(yǔ)。
    的頭像 發(fā)表于 03-30 11:42 ?1836次閱讀

    數(shù)字硬件建模SystemVerilog-網(wǎng)絡(luò)

    每個(gè)SystemVerilog網(wǎng)絡(luò)類型都有特定的語(yǔ)義規(guī)則,這些規(guī)則會(huì)影響多個(gè)驅(qū)動(dòng)程序的解析方式。雖然所有網(wǎng)絡(luò)類型都表示硅行為,但并非所有網(wǎng)絡(luò)類型都可以用標(biāo)準(zhǔn)ASIC和FPGA技術(shù)表示。表3-3列出了ASIC和FPGA綜合編譯器支持的網(wǎng)絡(luò)類型。
    的頭像 發(fā)表于 05-09 09:26 ?2104次閱讀

    數(shù)字硬件建模SystemVerilog-結(jié)構(gòu)體

    默認(rèn)情況下,結(jié)構(gòu)體會(huì)被非壓縮的。這意味著結(jié)構(gòu)體的成員被視為獨(dú)立變量或常量,并以一個(gè)共同的名稱分組在一起。SystemVerilog沒有指定軟件工具應(yīng)該如何存儲(chǔ)非壓縮結(jié)構(gòu)體的成員。不同的軟件工具具對(duì)于結(jié)構(gòu)體的存儲(chǔ)分布也是不同的。
    的頭像 發(fā)表于 06-30 09:54 ?1543次閱讀

    關(guān)于數(shù)字硬件建模SystemVerilog聯(lián)合體

    聯(lián)合體是一個(gè)可以有多個(gè)數(shù)據(jù)類型表示的單個(gè)存儲(chǔ)元素,聯(lián)合體的聲明類似結(jié)構(gòu)體,但推斷出的硬件非常不同。
    的頭像 發(fā)表于 07-07 09:05 ?1132次閱讀

    IEEE SystemVerilog標(biāo)準(zhǔn):統(tǒng)一的硬件設(shè)計(jì)規(guī)范和驗(yàn)證語(yǔ)言

    IEEE SystemVerilog標(biāo)準(zhǔn):統(tǒng)一的硬件設(shè)計(jì)規(guī)范和驗(yàn)證語(yǔ)言
    發(fā)表于 08-25 15:52 ?1次下載

    使用Verilog/SystemVerilog硬件描述語(yǔ)言練習(xí)數(shù)字硬件設(shè)計(jì)

    HDLBits 是一組小型電路設(shè)計(jì)習(xí)題集,使用 Verilog/SystemVerilog 硬件描述語(yǔ)言 (HDL) 練習(xí)數(shù)字硬件設(shè)計(jì)~
    的頭像 發(fā)表于 08-31 09:06 ?1832次閱讀

    數(shù)字硬件建模SystemVerilog-組合邏輯建模(1)連續(xù)賦值語(yǔ)句

    SystemVerilog有三種在可綜合RTL級(jí)別表示組合邏輯的方法:連續(xù)賦值語(yǔ)句、always程序塊和函數(shù)。接下來幾篇文章將探討每種編碼風(fēng)格,并推薦最佳實(shí)踐編碼風(fēng)格。
    的頭像 發(fā)表于 12-07 15:31 ?1692次閱讀

    FPGA學(xué)習(xí)-SystemVerilog語(yǔ)言簡(jiǎn)介

    SystemVerilog是一種硬件描述和驗(yàn)證語(yǔ)言(HDVL),它基于IEEE1364-2001 Verilog硬件描述語(yǔ)言(HDL),并對(duì)其進(jìn)行了擴(kuò)展,包括擴(kuò)充了 C語(yǔ)言 數(shù)據(jù)類型、結(jié)構(gòu)、壓縮和非
    的頭像 發(fā)表于 12-08 10:35 ?2308次閱讀

    RTL和門級(jí)建模

    SystemVerilog能夠在許多不同的細(xì)節(jié)級(jí)別(稱為“抽象級(jí)別”)對(duì)數(shù)字邏輯進(jìn)行建模。抽象意味著缺乏細(xì)節(jié)。數(shù)字模型越抽象,它所代表的硬件
    的頭像 發(fā)表于 02-09 14:20 ?1189次閱讀
    RTL和門級(jí)<b class='flag-5'>建模</b>

    數(shù)字硬件建模SystemVerilog之Interface方法概述

    SystemVerilog Interface是modport的一種,但比簡(jiǎn)單的輸入、輸出或輸入輸出端口的功能更多。
    的頭像 發(fā)表于 04-28 14:10 ?3008次閱讀
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>硬件</b><b class='flag-5'>建模</b><b class='flag-5'>SystemVerilog</b>之Interface方法概述

    數(shù)字硬件建模SystemVerilog之Interface和modport介紹

    SystemVerilog Interface是modport的一種,但比簡(jiǎn)單的輸入、輸出或輸入輸出端口的功能更多。
    的頭像 發(fā)表于 04-28 14:12 ?4567次閱讀
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>硬件</b><b class='flag-5'>建模</b><b class='flag-5'>SystemVerilog</b>之Interface和modport介紹

    SystemVerilog的覆蓋率建模方式

    為了確保驗(yàn)證的完備性,我們需要量化驗(yàn)證目標(biāo)。SystemVerilog提供了一套豐富的覆蓋率建模方式。
    的頭像 發(fā)表于 06-25 10:44 ?1300次閱讀

    SystemVerilog硬件設(shè)計(jì)部分有哪些優(yōu)勢(shì)

    Language,硬件描述語(yǔ)言),而SystemVerilog則是HDVL(Hardware Design and Verification Language,硬件設(shè)計(jì)與驗(yàn)證語(yǔ)言)。由此可見,
    的頭像 發(fā)表于 10-19 11:19 ?1480次閱讀
    <b class='flag-5'>SystemVerilog</b>在<b class='flag-5'>硬件</b>設(shè)計(jì)部分有哪些優(yōu)勢(shì)
    主站蜘蛛池模板: 柏木舞子在线 | RUN AWAY无删减全集动漫 | 国产综合自拍 偷拍在线 | 亚洲区 bt下载 | 成年人视频在线免费播放 | 亚洲看片网站 | 亚洲AV人无码综合在线观看蜜桃 | 武侠古典久久亚洲精品 | 久久WWW免费人成一看片 | 欧美成人免费一区二区三区不卡 | 精品国产品国语在线不卡丶 | 亚洲另类欧美综合在线 | 色噜噜噜视频 | 国产成人 免费观看 | 亚洲欧美综合在线中文 | 九热这里只有精品 | 欧美一级黄色影院 | 99久久精品免费看国产一区二区 | 亚洲日本在线不卡二区 | 九九久久精品 | 午夜毛片在线观看 | 超碰公开在线caopon | jizz老师| 免费麻豆国产黄网站在线观看 | 中文字幕无码一区二区免费 | 香蕉久久av一区二区三区 | 久久久久婷婷国产综合青草 | 国产精品国产三级国产AV麻豆 | 亚洲视频免费观看 | av淘宝 在线观看 | 日本漫画无彩翼漫画 | brazzers情欲狂欢 | 亚洲AV美女成人网站P站 | 精品人妻无码一区二区三区蜜桃臀 | 有人有片的观看免费视频 | 国产一区二区三区乱码在线观看 | 日本精品无码久久久久APP | 在线中文高清资源免费观看 | 亚洲精品成人在线 | 久久91精品国产91久 | 青青国产在线观看视频 |