<form id="19fnf"><nobr id="19fnf"></nobr></form>

          <form id="19fnf"></form>
          <form id="19fnf"><nobr id="19fnf"></nobr></form>

          <form id="19fnf"></form>

          <address id="19fnf"></address>

                <form id="19fnf"><listing id="19fnf"></listing></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

                    文章

                    867

                    瀏覽量

                    103167
                  • 按位運算符
                    +關注

                    關注

                    0

                    文章

                    2

                    瀏覽量

                    4526
                  收藏 人收藏

                    評論

                    相關推薦

                    芯片設計之仿真工具

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

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

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

                    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 ? 70次 閱讀

                    Verilog基礎知識

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

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

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

                    Uart協議及Verilog代碼

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

                    關于對Verilog代碼的維護問題

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

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

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

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

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

                    ModelSim手動仿真教程

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

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

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

                    數字電路設計的基本流程

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

                    Verilog testbench總結

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

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

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

                    verilog的一些基本概念

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

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

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

                    Verilog/FPGA開源項目介紹

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

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

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

                    西電verilog實驗報告

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

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

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

                    Verilog編碼風格

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

                    $unit聲明空間

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

                    8位數碼管顯示-verilog-xlinx

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

                    基于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 ? 7829次 閱讀

                    Johnson約翰遜計數器Verilog實現

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

                    SystemVerilog包的簡介與使用

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

                    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 ? 453次 閱讀

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

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

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

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

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

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

                    Verilog的塊語句

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

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

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

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

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

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

                    gitee-tinyriscv.zip
                    發表于 04-25 10:26 ? 121次 閱讀
                    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 ? 15860次 閱讀
                    請問一下,如何用開發板外接的蜂鳴器(驅動信號要求為2k-5kHz)播放音樂?

                    Nyuzi開源圖形處理器

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

                    System Verilog-文本值

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

                    分享一個APB slave的verilog實例

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

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

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

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

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

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

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

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

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

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

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

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

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

                    用CPEN211LAB做一臺RISC-V電腦

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

                    Verilog系統函數和邊沿檢測

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

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

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

                    Verilog賦值和結構說明語句

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

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

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

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

                    `timescale命令用于在文件中指明時間單位和時間精度,通常在對文件進行仿真時體現。EDA工具可....
                    的頭像 FPGA之家 發表于 03-15 11:24 ? 710次 閱讀

                    Verilog時序邏輯中同步計數器的功能和應用

                    沒有任何寄存器邏輯,RTL設計是不完整的。RTL是寄存器傳輸級或邏輯,用于描述依賴于當前輸入和過去輸....
                    的頭像 OpenFPGA 發表于 03-15 11:06 ? 1087次 閱讀

                    Verilog設計中函數和任務的作用分析

                    任務和函數在Verilog中用于描述常用的功能行為。與其在不同的地方復制相同的代碼,不如根據需求使用....
                    的頭像 OpenFPGA 發表于 03-15 11:01 ? 624次 閱讀

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

                    由于賦值語句有阻塞賦值和非阻塞賦值兩類,建議讀者使用阻塞賦值語句“=”,原因將在“阻塞賦值和非阻塞賦....
                    的頭像 FPGA之家 發表于 03-15 10:40 ? 665次 閱讀

                    硬件開源編程利器MyHDL簡介

                    自從1995年Verilog HDL 1364-1995標準發布至今已經20多年了,說他經久不衰并不....
                    的頭像 OpenFPGA 發表于 03-14 10:30 ? 466次 閱讀
                    双腿挂他肩上撞击轻哼

                            <form id="19fnf"><nobr id="19fnf"></nobr></form>

                            <form id="19fnf"></form>
                            <form id="19fnf"><nobr id="19fnf"></nobr></form>

                            <form id="19fnf"></form>

                            <address id="19fnf"></address>

                                  <form id="19fnf"><listing id="19fnf"></listing></form>