<noframes id="pzttd">
<noframes id="pzttd"><address id="pzttd"></address>
<form id="pzttd"></form><address id="pzttd"></address>
<address id="pzttd"><nobr id="pzttd"><progress id="pzttd"></progress></nobr></address>
<noframes id="pzttd"><address id="pzttd"></address>
<noframes id="pzttd">

<form id="pzttd"><nobr id="pzttd"><meter id="pzttd"></meter></nobr></form>

還未設置個性簽名
成為VIP會員 享9項特權: 開通會員

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

3天內不再提示

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

OpenFPGA ? 來源:OpenFPGA ? 作者:碎碎思 ? 2022-08-12 14:27 ? 次閱讀

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

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

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

00f8259a-19ee-11ed-ba43-dac502259ad0.png

介紹

(按)位運算符(Bitwise operators)

位運算符一次執行一位操作,從最右邊的位(最低有效位)向最左邊的位(最高有效位)移動。表5-3列出了按位運算符功能。

表5-3:RTL建模的位運算符
運算符 示例用法 描述
~ ~m 將m(1的補碼)的每一位反轉
& m&n m和n的每一位相與(AND)
^ m ^ n m與n的每一位相異或(XOR)
^~或者~^ m ^~n m和n的每一位相同或
I mIn m和n的每一位相或(OR)

(I代表 | - 或操作)

沒有位NAND或NOR運算符。NAND或NOR操作是分別反轉AND或OR操作的結果,如~(m&n)。需要括號,以便先執行AND運算。

位運算要求兩個操作數的向量大小相同。在執行操作之前,較小的操作數將擴展以匹配較大操作數的大小。

(按)位反轉

按位反轉(Bitwise inversion.)。位反轉運算符將其單個操作數的每一位反轉,從右向左操作,結果是操作數值的一個補數。位反轉運算符是X-pessimistic-反轉X或Z值的結果始終是X。表5-4顯示了位反轉的真值表。表中的結果針對操作數的每一位。

表5-4:位反轉真值表
~ 結果
0 1
1 0
X X
Z X

位反轉操作的一個示例結果是:

0127f2f2-19ee-11ed-ba43-dac502259ad0.png

(按)位AND

按位和(Bitwise AND)。位AND運算符對第一個操作數的每一位與第二個操作數中的對應位進行布爾AND運算,從右到左運算。位AND運算符是X-optimistic:0與任何值的AND運算都將得到0。表5-5顯示了位AND的真值表。表中的結果針對兩個操作數的每一位。

表5-5:位AND真值表
014758ae-19ee-11ed-ba43-dac502259ad0.png

位AND運算的一些示例結果如下:

016a1402-19ee-11ed-ba43-dac502259ad0.png

(按)位OR

按位或(Bitwise OR)。位OR運算符對第一個操作數的每一位與第二個操作數中的對應位進行布爾OR運算,從右向左進行運算。位OR運算符是X-optimistic-與任何值進行OR運算結果都是1。表5-6顯示了位OR的真值表。

表5-6:位OR真值表
018acc60-19ee-11ed-ba43-dac502259ad0.png

按位OR運算的一些結果示例如下:

01bdb9ae-19ee-11ed-ba43-dac502259ad0.png01d7dabe-19ee-11ed-ba43-dac502259ad0.png

(按)位XOR

按位異或(Bitwise XOR)。位XOR運算符對第一個操作數的每一位與第二個操作數的對應位進行布爾異或XOR運算,從右到左進行運算。按位異或運算符為X-pessimistic——對X或Z值進行異或運算的結果始終為X。表5-7顯示了按位異或的真值表。

表5-7:按位異或真值表
01fc2dec-19ee-11ed-ba43-dac502259ad0.png

按位異或運算的一些示例結果如下:

0210b488-19ee-11ed-ba43-dac502259ad0.png

(按)位XNOR

按位XNOR(Bitwise XNOR)。位XNOR運算符對第一個操作數的每一位與第二個操作數的對應位進行布爾XNOR運算,從右到左進行運算。位XNOR運算符為X-pessimistic ——對X或Z值進行XNOR運算的結果為X。表5-8顯示了按位XNOR的真值表。

表5-8:按位XNOR真值表
02369482-19ee-11ed-ba43-dac502259ad0.png

按位XNOR運算的一些示例結果如下:

02548870-19ee-11ed-ba43-dac502259ad0.png

示例5-5說明了一個利用按位運算符的小型RTL模型。

示例5-5:使用按位運算符:多路N位寬和/異或操作
//`begin_keywords"1800-2012"//useSystemVerilog-2012keywords

//User-definedtypedefinitions
packagedefinitions_pkg;
typedefenumlogic{AND_OP,XOR_OP}mode_t;
endpackage:definitions_pkg

//MultiplexedN-bitwidebitwise-ANDorbitwise-XORoperation
moduleand_xor
importdefinitions_pkg::*;
#(parameterN=4)//opsize(default8-bits)
(inputmode_tmode,//1-bitenumeratedinput
inputlogic[N-1:0]a,b,//scalableinputsize
outputlogic[N-1:0]result//scalableoutputsize
);
timeunit1ns;timeprecision1ns;

always_comb
case(mode)
AND_OP:result=a&b;
XOR_OP:result=a^b;
endcase
endmodule:and_xor
//`end_keywords

圖5-5顯示了示例5-5中的RTL模型綜合結果,如上一節前面所述,綜合創建的實現可能受到多個因素的影響,包括:目標設備、與運算符一起使用的任何其他運算符或編程語句、使用的綜合編譯器以及指定的綜合選項和約束。

 
圖5-5:示例5-5的綜合結果:按位AND和OR運算
027822a8-19ee-11ed-ba43-dac502259ad0.png

審核編輯:湯梓紅
  • Verilog
    +關注

    關注

    25

    文章

    871

    瀏覽量

    103201
  • 按位運算符
    +關注

    關注

    0

    文章

    2

    瀏覽量

    4529
收藏 人收藏

    評論

    相關推薦

    RTL設計中如何做到低功耗設計

    整個二級Top模塊掉電休眠,掉電后將所有需要保存的數據寫到memory中,等下一次模塊喚醒上電啟動時....
    的頭像 倩倩 發表于 08-15 16:25 ? 101次 閱讀

    芯片設計之門級仿真

    綜上,門級仿真基于測試平臺文件、門級網表文件、時序反標文件、庫文件,可以進行更精確的仿真。設計人員除....
    的頭像 倩倩 發表于 08-15 14:50 ? 46次 閱讀

    verilog仿真工具編譯

    Icarus Verilog(以下簡稱iverilog )號稱“全球第四大”數字芯片仿真器,也是一個....
    的頭像 FPGA之家 發表于 08-15 09:11 ? 141次 閱讀

    Verilog的基礎知識

    本節主要講解了 Verilog 的基礎知識,包括 7 個小節,下面我們分別給大家介紹這 7 個小節的....
    的頭像 我快閉嘴 發表于 08-15 09:04 ? 110次 閱讀

    芯片設計之仿真工具

    WINDOWS系統主要運用于可編程邏輯器件,如CPLD、FPGA的仿真,這是因為進行驗證的工程師(芯....
    的頭像 倩倩 發表于 08-12 15:01 ? 101次 閱讀

    實際電路中延時分為哪兩種

    傳輸延遲一般為輸入信號變化到對應輸出信號變化經過的時間,不會對輸入信號進行濾除處理,所以傳輸延遲是一....
    發表于 08-10 09:29 ? 59次 閱讀

    IEEE Verilog硬件描述語言標準

    IEEE Standard for Verilog Hardware Description La....
    發表于 08-08 14:42 ? 12次 閱讀

    Verilog HDL語言的一些基本知識

    Verilog HDL 入門教程
    發表于 08-08 14:36 ? 11次 閱讀

    Verilog HDL指定用戶定義原語UDP的能力

    在前一章中,我們介紹了Verilog HDL提供的內置基本門。本章講述Verilog HDL指定用戶....
    的頭像 FPGA之家 發表于 08-08 11:46 ? 78次 閱讀

    Verilog基礎知識

    對于Verilog描述初學者來說,最難的莫過于編寫測試代碼并判斷自己寫的是否正確。在這里我推薦一個H....
    的頭像 FPGA之家 發表于 08-03 09:06 ? 63次 閱讀

    Verilog在設計時候的不方便地方

    從Verilog發布到今天,其已經經歷了四十年的風雨,早期的“電路”設計Verilog的確很方便,尤....
    發表于 08-02 10:08 ? 123次 閱讀

    Uart協議及Verilog代碼

    如果使用Xlinx的片子,建議使用全局時鐘資源(IBUFG后面連接BUFG的方法是最基本的全局時鐘資....
    的頭像 FPGA之家 發表于 07-31 10:26 ? 223次 閱讀

    關于對Verilog代碼的維護問題

    在不容易被發現的計數器的部分,別給這個計數器清零,讓他自己上溢,然后再從0開始計數,這樣還可以在滿足....
    發表于 07-29 09:58 ? 59次 閱讀

    深入理解FPGA Verilog HDL語法(一)

    今天給大俠帶來的是一周掌握FPGA Verilog HDL 語法,今天開啟第一天,下面咱們廢話就不多....
    發表于 07-18 09:47 ? 325次 閱讀

    SpinalHDL的UInt與SInt數據類型能夠進行有符號/無符號數操作

    在Bits的基礎上,SpinalHDL提供了UInt、SInt數據類型,從而能夠進行有符號/無符號數操作。 變量定義/初始化 UInt/S...
    發表于 07-14 14:45 ? 2476次 閱讀

    ModelSim手動仿真教程

    在開始動手仿真之前,首先,我們需要創建一個文件夾用來放置我們的 ModelSim 仿真工程文件,這里....
    的頭像 FPGA之家 發表于 07-11 10:58 ? 184次 閱讀

    Verilog進行組合邏輯設計時的一些注意事項

    always 模塊的敏感表為電平敏感信號的電路可幾乎可以完成對所有組合邏輯電路的建模。always模....
    發表于 07-11 10:54 ? 158次 閱讀

    數字電路設計的基本流程

    數字電路設計是數字電路最為關鍵及重要的一步,今天我們將從各個流程為大家介紹完整的數字電路設計!
    的頭像 電路和微電子考研 發表于 07-10 17:14 ? 690次 閱讀

    Verilog testbench總結

    對于testbench而言,端口應當和被測試的module一一對應。端口分為input,output....
    發表于 07-07 15:23 ? 189次 閱讀

    從仿真器的角度對Verilog語言的語法規則進行解讀

    綜合工具讀入源文件,通過綜合算法將設計轉化為網表,比如DC。能夠綜合的特性要求Verilog語言能夠....
    發表于 07-07 09:53 ? 149次 閱讀

    verilog的一些基本概念

    FPGA各位和數字IC設計崗位面試時常常會問下verilog的一些基本概念,做了下整理,面試時一定用....
    的頭像 FPGA之家 發表于 07-07 09:51 ? 211次 閱讀

    Verilog寫法:組合邏輯+時序邏輯

    這種寫法沒什么問題,但是有一點,覆蓋率不好收,如果一些情況沒跑到需要一個個分析。覆蓋率會把數據信號當....
    的頭像 FPGA之家 發表于 07-07 09:37 ? 336次 閱讀

    Verilog/FPGA開源項目介紹

    脈沖神經網絡( Spiking neural network-SNN ) 是更接近自然神經網絡的人工....
    的頭像 FPGA技術江湖 發表于 07-03 16:06 ? 446次 閱讀

    復旦微電子學院楊帆:介紹openDACS物理設計&建模驗證SIG,發布開源Verilog Parser

    作為openDACS工作委員會委員,復旦微電子學院教授楊帆(博士生導師)于 2021 年 10 月 16 日在 CCF DAC 2021大會的“o...
    發表于 07-01 14:35 ? 1001次 閱讀

    西電verilog實驗報告

    實驗報告
    發表于 06-30 14:50 ? 65次 閱讀

    處理以太網幀以及IP,UDP和ARP的模塊

    頂層千兆和10G MAC模塊是eth_mac_ *,具有各種接口,并且帶有/不帶有FIFO。頂層10....
    的頭像 FPGA之家 發表于 06-30 09:51 ? 253次 閱讀

    Verilog編碼風格

    parameter關鍵字定義模塊特定的參數,該參數在特定模塊實例的范圍生效。參數用于為模塊實例提供不....
    的頭像 FPGA之家 發表于 06-26 10:46 ? 419次 閱讀

    $unit聲明空間

    對unit聲明空間中定義的任何更改都需要重新編譯構成設計和驗證測試臺的所有源代碼,因為任何地方的任何....
    的頭像 OpenFPGA 發表于 06-21 09:40 ? 214次 閱讀

    8位數碼管顯示-verilog-xlinx

    ARTIX7-xlinx 版本FPGA開發,8位數碼管模塊
    發表于 06-20 11:06 ? 47次 閱讀

    基于Verilog語言的交通燈設計

    用狀態機設計一個十字路口交通燈控制器。十字路口東西、南北各有紅、黃、綠指示燈,其中綠 燈、黃燈和紅燈....
    發表于 06-20 10:11 ? 47次 閱讀

    EpicFV面向Verilog的形式化驗證工具

    ./oschina_soft/gitee-EpicFV.zip
    發表于 06-17 14:53 ? 40次 閱讀
    EpicFV面向Verilog的形式化驗證工具

    用Verilog設計數字溫度計?

    1.eda 用Verilog設計數字溫度計 2.子模塊設計 3.整機系統設計 4.仿真驗證 5.在實驗裝置上進行硬件測試 6.設計報告 ...
    發表于 06-17 13:52 ? 7946次 閱讀

    Johnson約翰遜計數器Verilog實現

    扭環形計數器,約翰遜計數器,每次狀態變化時僅有一個觸發器發生翻轉,譯碼不存在競爭冒險,在n(n≥3)....
    的頭像 FPGA之家 發表于 06-15 09:27 ? 332次 閱讀

    SystemVerilog包的簡介與使用

    最初的Verilog語言沒有一個可用于多個模塊的定義。每個模塊都必須有任務、函數、常量和其他共享定義....
    的頭像 OpenFPGA 發表于 06-15 09:18 ? 377次 閱讀

    sv2v將SystemVerilog轉換為Verilog

    ./oschina_soft/sv2v.zip
    發表于 06-13 11:20 ? 66次 閱讀
    sv2v將SystemVerilog轉換為Verilog

    Verilog的塊語句fork...join 和 begin...end

    begin_end順序塊,用于將多條語句組成順序塊,語句按順序一條一條執行(除了帶有內嵌延遲控制的非....
    的頭像 FPGA之家 發表于 06-09 10:30 ? 468次 閱讀

    高覆蓋率的Verilog代碼的編寫技巧

    設計工程師需要關心的主要有行覆蓋率(Block),條件覆蓋率(Expression),翻轉覆蓋率(T....
    的頭像 FPGA之家 發表于 05-26 17:30 ? 2136次 閱讀

    vcs學習筆記(常用選項/仿真流程/代碼覆蓋率/綜合后仿真/圖一樂技巧)

    VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉化為C....
    的頭像 路科驗證 發表于 05-23 16:04 ? 2054次 閱讀

    Verilog HDL語言的數據類型和運算符

    reg是寄存器數據類型的關鍵字,是數據存儲單元的抽象,通過賦值語句可以改變寄存器存儲的值。reg型數....
    的頭像 FPGA之家 發表于 05-18 10:34 ? 475次 閱讀

    Verilog的塊語句

    begin_end順序塊,用于將多條語句組成順序塊,語句按順序一條一條執行(除了帶有內嵌延遲控制的非....
    的頭像 FPGA之家 發表于 05-18 10:29 ? 323次 閱讀

    什么是張量處理單元(TPU)

    該項目的目的是創建一個與谷歌的張量處理單元具有相似架構的機器學習協處理器。該實現的資源可定制,可以以....
    的頭像 OpenFPGA 發表于 04-27 09:27 ? 691次 閱讀

    如何在Verilog中創建有限狀態機

    本文描述了有限狀態機的基礎知識,并展示了在 Verilog 硬件描述語言中實現它們的實用方法。
    的頭像 科技觀察員 發表于 04-26 16:20 ? 991次 閱讀
    如何在Verilog中創建有限狀態機

    tinyriscv通俗易懂的微型RISC-V處理器核

    gitee-tinyriscv.zip
    發表于 04-25 10:26 ? 123次 閱讀
    tinyriscv通俗易懂的微型RISC-V處理器核

    FIR濾波器的MATLAB與FPGA設計

    數字濾波器從實現結構上劃分,有FIR和IIR兩種。FIR的特點是:線性相位、消耗資源多;IIR的特點....
    的頭像 FPGA設計論壇 發表于 04-24 14:40 ? 939次 閱讀

    請問一下,如何用開發板外接的蜂鳴器(驅動信號要求為2k-5kHz)播放音樂?

    開發板外接的蜂鳴器的驅動信號要求為2k-5kHz,所以輸出也只能是2k-5kHz的聲音嗎?但是音樂的Do、Re、Mi...的頻率都是幾百...
    發表于 04-21 17:56 ? 15956次 閱讀
    請問一下,如何用開發板外接的蜂鳴器(驅動信號要求為2k-5kHz)播放音樂?

    Nyuzi開源圖形處理器

    NyuziProcessor.zip
    發表于 04-15 10:00 ? 90次 閱讀
    Nyuzi開源圖形處理器

    System Verilog-文本值

    文本整數值是一個整數,沒有小數點。(IEEE 1800 SystemVerilog標準使用術語“整數....
    的頭像 OpenFPGA 發表于 04-13 10:55 ? 423次 閱讀

    分享一個APB slave的verilog實例

    APB是AMBA中相對比較簡單的接口協議。 采用這種簡單的協議,你可以輕松地將自定義外設掛在AMBA總線上。 許多A...
    發表于 04-07 10:10 ? 1611次 閱讀

    如何利用system verilog的fork join_none實現信號打拍操作呢

    利用system verilog的fork join_none,能夠實現打拍操作。從而不需要寫其他的邏輯來實現打拍操作。 下面,介紹下,如何實現。...
    發表于 04-02 17:25 ? 8821次 閱讀

    《Verilog HDL數字系統設計教程》(第四版)學習筆記 part1 Verilog數字設計基礎——第二三章知識點總結

    博主最近剛開始學習FPGA設計,選用的開發語言是目前比較流行的Verilog,教材選用的是北京航空航天大學出版的《夏宇聞Veril...
    發表于 03-30 18:12 ? 2651次 閱讀

    自動連線的神器——emacs verilog mode

    Verilog-mode是由Michael McNamara mac@verilog.com和Wil....
    的頭像 li5236 發表于 03-29 14:56 ? 1766次 閱讀
    自動連線的神器——emacs verilog mode

    《Verilog HDL數字系統設計教程》(第四版)學習筆記 part1 Verilog數字設計基礎——第二 三章知識點總結

    博主最近剛開始學習FPGA設計,選用的開發語言是目前比較流行的Verilog,教材選用的是北京航空航天大學出版的《夏宇聞Veril...
    發表于 03-22 10:33 ? 1365次 閱讀

    《Verilog HDL數字系統設計教程》(第四版)學習筆記 part1 Verilog數字設計基礎——第一章知識點總結

    博主最近剛開始學習FPGA設計,選用的開發語言是目前比較流行的Verilog,教材選用的是北京航空航天大學出版的《夏宇聞Veril...
    發表于 03-22 10:26 ? 1347次 閱讀

    Verilog數字系統設計教程(第3版)

    《Verilog數字系統設計教程》 本書講述利用硬件描述語言(Verilog HDL)設計復雜數字系統的方法。這種方法源自 20 世紀90年...
    發表于 03-21 13:46 ? 4940次 閱讀

    用CPEN211LAB做一臺RISC-V電腦

    CPEN211LAB,做一臺RISC-V電腦。 軟件架構: 僅包括 Verilog 文件和測試臺,您....
    發表于 03-18 09:31 ? 77次 閱讀

    Verilog系統函數和邊沿檢測

    “ 本文主要分享了在Verilog設計過程中一些經驗與知識點,主要包括Verilog仿真時常用的系統....
    的頭像 FPGA之家 發表于 03-15 13:34 ? 629次 閱讀

    Verilog設計過程中的一些經驗與知識點

     “ 本文主要分享了在Verilog設計過程中一些經驗與知識點,主要包括塊語句、阻塞賦值和非阻塞賦值....
    的頭像 FPGA之家 發表于 03-15 12:19 ? 908次 閱讀

    Verilog賦值和結構說明語句

    從仿真結果可以看出:在順序塊中,15ns的時候,l1被賦值為8’h2,在25ns的時候,l2被賦值為....
    的頭像 FPGA之家 發表于 03-15 11:51 ? 555次 閱讀

    Verilog邏輯設計中的循環語句和運算符

    “ 本文主要分享了在Verilog設計過程中一些經驗與知識點,主要包括循環語句(forever、re....
    的頭像 FPGA之家 發表于 03-15 11:41 ? 1160次 閱讀

    Verilog HDL中常用預編譯命令介紹

    `timescale命令用于在文件中指明時間單位和時間精度,通常在對文件進行仿真時體現。EDA工具可....
    的頭像 FPGA之家 發表于 03-15 11:24 ? 715次 閱讀
    被吊起来双腿大张供人玩弄

    <noframes id="pzttd">
    <noframes id="pzttd"><address id="pzttd"></address>
    <form id="pzttd"></form><address id="pzttd"></address>
    <address id="pzttd"><nobr id="pzttd"><progress id="pzttd"></progress></nobr></address>
    <noframes id="pzttd"><address id="pzttd"></address>
    <noframes id="pzttd">

    <form id="pzttd"><nobr id="pzttd"><meter id="pzttd"></meter></nobr></form>