色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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)于Verilog語法你不知道的方法

FPGA之家 ? 來源:開源博客 ? 作者:電子電路開發(fā)學(xué)習(xí) ? 2021-03-21 10:01 ? 次閱讀

動(dòng)態(tài)截取固定長(zhǎng)度數(shù)據(jù)語法,即+:和-:的使用,這兩個(gè)叫什么符號(hào)呢?運(yùn)算符嗎?

Verilog比較方便的一個(gè)特點(diǎn)就是數(shù)據(jù)的截取和拼接功能了,截取使用方括號(hào)[],拼接使用大括號(hào){},例如

reg [7:0] vect; wire a; wire [3:0] b, wire [5:0] c; assign a = vect[1]; //取其中1Bit assign b[3:0] = vect[7:4];//截取4Bit assing c[5:0] = {a, b[3:0], 1‘b1}; //拼接

于是舉一反三(zi zuo cong ming),為了實(shí)現(xiàn)動(dòng)態(tài)截取固定長(zhǎng)度數(shù)據(jù)的功能,使用軟件編程的思維寫了如下語句,功能很好理解,根據(jù)cnt的值,每次截取vect的5Bit數(shù)據(jù)。:

reg [7:0] vect; reg [1:0] cnt; wire [4:0] out; assign out = vect[cnt+4:cnt];

一頓操作猛如虎,編譯一看傻如狗。使用ModelSim編譯之后,提示有如下語法錯(cuò)誤:

** Error: test.v(10): Range must be bounded by constant expressions.

提示vect的范圍必須為常量表達(dá)式。也就是必須為,vect[6:2]或vect[7:4],不能是vect[a:0],vect[4:b],或vect[a:b]。額,這該怎么辦呢?

既然有這個(gè)使用場(chǎng)景,那Verilog在設(shè)計(jì)之初就應(yīng)該會(huì)考慮到這個(gè)應(yīng)用吧!于是就去翻IEEE的Verilog標(biāo)準(zhǔn)文檔,在5.2.1章節(jié)發(fā)現(xiàn)了一個(gè)用法可以實(shí)現(xiàn)我這個(gè)需求,那就是+:和-:符號(hào),這個(gè)用法很少,在大部分關(guān)于FPGA和Verilog書籍中都沒有提到。

大致意思就是,可以實(shí)現(xiàn)動(dòng)態(tài)截取固定長(zhǎng)度的數(shù)據(jù),基本語法為:

vect[base+:width]或[base-:width]

其中base可以為變量,width必須為常量。

下面來舉幾個(gè)例子來理解這個(gè)符號(hào)。

有如下定義:

reg [7:0] vect_1; reg [0:7] vect_2; wire [2:0] out;

以下寫法分別表示什么呢?

vect_1[4+:3]; vect_1[4-:3]; vect_2[4+:3]; vect_2[4-:3];

分為三步:

1.先看定義。

vect_1[7:0]定義是大端模式,則vect_1[4+:3]和vect_1[4-:3]轉(zhuǎn)換后也一定為大端模式;vect_2[0:7]定義是小端模式,則vect_2[4+:3]和vect_2[4-:3]轉(zhuǎn)換后也一定為小端模式。

2.再看升降序。

其中+:表示升序,-:表示降序

3.看寬度轉(zhuǎn)換。

vect_1[4+:3]表示,起始位為4,寬度為3,**升序**,則vect_1[4+:3] = vect_1[6:4] vect_1[4-:3]表示,起始位為4,寬度為3,**降序**,則vect_1[4-:3] = vect_1[4:2]

90395bd0-8925-11eb-8b86-12bb97331649.jpg

同理,

vect_2[4+:3]表示,起始位為4,寬度為3,升序,則vect_2[4+:3] = vect_2[4:6] vect_2[4-:3]表示,起始位為4,寬度為3,降序,則vect_2[4-:3] = vect_2[2:4]

90935130-8925-11eb-8b86-12bb97331649.jpg

ModelSim仿真驗(yàn)證,新建test.v文件:

module test; reg [7:0] vect_1; reg [0:7] vect_2; initial begin vect_1 = ’b0101_1010; vect_2 = ‘b0101_1010; $display(“vect_1[7:0] = %b, vect_2[0:7] = %b”, vect_1, vect_2); $display(“vect_1[4+:3] = %b, vect_1[4-:3] = %b”, vect_1[4+:3], vect_1[4-:3]); $display(“vect_2[4+:3] = %b, vect_2[4-:3] = %b”, vect_2[4+:3], vect_2[4-:3]); $stop; end endmodule

在ModelSim命令窗口輸入:

//進(jìn)入到源文件所在文件夾 cd c:/users/whik/desktop/verilog //編譯 vlog test.v //仿真 vsim work.test //運(yùn)行 run -all //運(yùn)行結(jié)果 # vect_1[7:0] = 01011010, vect_2[0:7] = 01011010 # vect_1[4+:3] = 101, vect_1[4-:3] = 110 # vect_2[4+:3] = 101, vect_2[4-:3] = 011 # ** Note: $stop : test.v(15) # Time: 0 ps Iteration: 0 Instance: /test # Break in Module test at test.v line 15

這種語法表示需要注意,前者起始位可以是變量,后者的寬度必須是常量,即vect[idx+:cnt]不符合語法標(biāo)準(zhǔn),vect[idx+:4]或vect[idx-:4]才符合。
編輯:lyn

聲明:本文內(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)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110241
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3636

    瀏覽量

    93895

原文標(biāo)題:這個(gè)Verilog語法你一定不知道

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    測(cè)的值不定然后開始減小直到為0,不知道怎么回事?

    ADS1247對(duì)寄存器可讀可寫 可是配置完02這個(gè)地址的時(shí)(寫0x30)在vrefout測(cè)不到2.048v,測(cè)的值不定然后開始減小直到為0,不知道怎么回事?
    發(fā)表于 01-21 06:27

    Verilog 測(cè)試平臺(tái)設(shè)計(jì)方法 Verilog FPGA開發(fā)指南

    Verilog測(cè)試平臺(tái)設(shè)計(jì)方法Verilog FPGA開發(fā)中的重要環(huán)節(jié),它用于驗(yàn)證Verilog設(shè)計(jì)的正確性和性能。以下是一個(gè)詳細(xì)的Verilog
    的頭像 發(fā)表于 12-17 09:50 ?378次閱讀

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語法和風(fēng)格 VerilogVerilog語法更接近于 C 語言,對(duì)于有 C 語言背景的工程
    的頭像 發(fā)表于 12-17 09:44 ?277次閱讀

    Verilog硬件描述語言參考手冊(cè)

    一. 關(guān)于 IEEE 1364 標(biāo)準(zhǔn)二. Verilog簡(jiǎn)介三. 語法總結(jié)四. 編寫Verilog HDL源代碼的標(biāo)準(zhǔn)五. 設(shè)計(jì)流程
    發(fā)表于 11-04 10:12 ?2次下載

    Verilog語法中運(yùn)算符的用法

    verilog語法中使用以下兩個(gè)運(yùn)算符可以簡(jiǎn)化我們的位選擇代碼。
    的頭像 發(fā)表于 10-25 15:17 ?1192次閱讀
    <b class='flag-5'>Verilog</b><b class='flag-5'>語法</b>中運(yùn)算符的用法

    Verilog HDL的基礎(chǔ)知識(shí)

    本文繼續(xù)介紹Verilog HDL基礎(chǔ)知識(shí),重點(diǎn)介紹賦值語句、阻塞與非阻塞、循環(huán)語句、同步與異步、函數(shù)與任務(wù)語法知識(shí)。
    的頭像 發(fā)表于 10-24 15:00 ?544次閱讀
    <b class='flag-5'>Verilog</b> HDL的基礎(chǔ)知識(shí)

    關(guān)于陶瓷電路板不知道的事

    陶瓷電路板(Ceramic Circuit Board),又稱陶瓷基板,是一種以陶瓷材料為基體,通過精密的制造工藝在表面形成電路圖形的高技術(shù)產(chǎn)品,快來看看哪些是您還不知道的事?
    的頭像 發(fā)表于 10-21 11:55 ?398次閱讀
    <b class='flag-5'>關(guān)于</b>陶瓷電路板<b class='flag-5'>你</b><b class='flag-5'>不知道</b>的事

    又一電工不知道,施耐德變頻器怎么復(fù)位,如果不告訴,知道怎么復(fù)位嗎?

    維修 我給他說,可能以前沒接觸過施耐德的變頻器,就不知道它還有一個(gè)蓋子,要復(fù)位的話,就要把蓋子打開,第一次找不到也正常,要是經(jīng)常斷電重啟的話,對(duì)設(shè)備不好。 變頻器修理 之所以分享給大家,就是想告訴那些沒接觸過施耐
    的頭像 發(fā)表于 10-12 15:15 ?321次閱讀
    又一電工<b class='flag-5'>不知道</b>,施耐德變頻器怎么復(fù)位,如果不告訴<b class='flag-5'>你</b>,<b class='flag-5'>你</b><b class='flag-5'>知道</b>怎么復(fù)位嗎?

    不知道怎么進(jìn)行負(fù)載測(cè)試發(fā)電機(jī)嗎?

    測(cè)試一般的流程是怎樣的,知道嗎? ? 1、試驗(yàn)前準(zhǔn)備:確保發(fā)電機(jī)和試驗(yàn)設(shè)備處于良好的工作狀態(tài),檢查發(fā)電機(jī)的電源和燃料供應(yīng)是否正常,確保試驗(yàn)設(shè)備與發(fā)電機(jī)的連接正確可靠。 2、確定試驗(yàn)載荷:根據(jù)您的實(shí)際要求確定試驗(yàn)
    的頭像 發(fā)表于 07-03 17:36 ?1002次閱讀

    FPGA verilog HDL實(shí)現(xiàn)中值濾波

    錯(cuò)誤在哪里,這怎么會(huì)是錯(cuò)誤的呢,為什么不可以這樣寫,我覺得這樣寫才是正確的,這些就是在調(diào)試過程中本人的真實(shí)心情寫照呀。可是,沒有那么多為什么,verilog就是這樣編程的,只是不知道而已!這才
    發(fā)表于 06-18 18:50

    這些不知道的臥式共模電感的選型依據(jù)

    這些不知道的臥式共模電感的選型依據(jù) gujing 編輯:谷景電子 實(shí)際上關(guān)于臥式共模電感的選型已經(jīng)有討論過很多這方面的內(nèi)容,但一直都還有人在討論這些問題。本篇我們換幾個(gè)角度來探討一下臥式共模電感
    的頭像 發(fā)表于 04-29 22:42 ?383次閱讀

    關(guān)于靜電放電不知道的知識(shí)

    在整個(gè)半導(dǎo)體制造過程中,微粒污染、靜電放電損壞以及與此相關(guān)聯(lián)的設(shè)備停機(jī),是靜電帶來的三大問題。
    的頭像 發(fā)表于 03-27 11:12 ?799次閱讀

    輥壓機(jī)軸承位磨損修復(fù)不知道的那些事

    電子發(fā)燒友網(wǎng)站提供《輥壓機(jī)軸承位磨損修復(fù)不知道的那些事.docx》資料免費(fèi)下載
    發(fā)表于 03-12 15:10 ?0次下載

    吸塵器究竟是如何替“吃灰”的【其利天下技術(shù)】

    如今,吸塵器已成為大多數(shù)人居家必備的小家電產(chǎn)品,那么說起吸塵器,對(duì)吸塵器有了解多少呢?不知道大家知不知道它的原理是什么?今天我們就來說一說吸塵器究竟是如何替“吃灰”的。
    的頭像 發(fā)表于 03-07 21:17 ?924次閱讀
    吸塵器究竟是如何替<b class='flag-5'>你</b>“吃灰”的【其利天下技術(shù)】

    昨天看到消息Altera從Intel獨(dú)立出來了,不知道大家常用的FPGA是什么?

    昨天看到消息Altera從Intel獨(dú)立出來了,不知道大家常用的FPGA是什么?我這邊分成常規(guī)生產(chǎn)治具是altera的,算法和圖像相關(guān)的使用的是Xilinx的;
    發(fā)表于 03-06 13:39
    主站蜘蛛池模板: yellow在线观看免费观看大全| 草比比过程图| 帅小伙和警官同性3p| 女人被躁到高潮嗷嗷叫小| 精品一卡2卡三卡4卡乱码精品视频 | 亚洲无AV在线中文字幕| 亚洲haose在线观看| 小小水蜜桃视频高清在线观看免费 | 欧美日韩第一区| 男人的天堂色偷偷| 年轻夫妇韩剧中文版免费观看| 毛茸茸womansex| 免费果冻传媒2021在线看 | 2023国产精品一卡2卡三卡4卡| 在线免费观看国产精品| 自拍偷拍2| 91综合精品网站久久| 99视频免费观看| 99视频精品全部免费观看| WWW婷婷AV久久久影片| 草莓视频在线观看免费观看高清 | 久久久久久天天夜夜天天| 精品亚洲欧美中文字幕在线看| 九九在线免费视频| 久久视频精品38在线播放| 捆绑白丝粉色JK震动捧喷白浆 | 999久久久国产精品蜜臀AV| 99视频精品在线| 公交车被CAO到合不拢腿| 国产精品久久久久久久伊一| 国产九色在线| 久久不射网| 男人把女人桶到爽免费看视频| 妻中蜜在线播放| 少妇性饥渴BBBBBBBBB| 亚欧成人毛片一区二区三区四区| 亚洲人视频在线观看| 中国女人精69xxxxxx视频| 99热在线视频这里只精品| 多肉np一女多男高h爽文现代| 国产精品自在拍在线播放|