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

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

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

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

關(guān)于Verilog語(yǔ)法你不知道的方法

FPGA之家 ? 來(lái)源:開(kāi)源博客 ? 作者:電子電路開(kāi)發(fā)學(xué)習(xí) ? 2021-03-21 10:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

動(dòng)態(tài)截取固定長(zhǎng)度數(shù)據(jù)語(yǔ)法,即+:和-:的使用,這兩個(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ù)的功能,使用軟件編程的思維寫(xiě)了如下語(yǔ)句,功能很好理解,根據(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編譯之后,提示有如下語(yǔ)法錯(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ū)籍中都沒(méi)有提到。

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

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

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

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

有如下定義:

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

以下寫(xiě)法分別表示什么呢?

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

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

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

    關(guān)注

    31

    文章

    1374

    瀏覽量

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

    關(guān)注

    90

    文章

    3723

    瀏覽量

    97435

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    風(fēng)火輪NAS主機(jī)養(yǎng)龍蝦:給AI私人助手注入靈魂

    區(qū)別,問(wèn)我答,都很有禮貌,很通用,一點(diǎn)個(gè)性也沒(méi)有。 但是這只“龍蝦”不認(rèn)識(shí),他不知道是一個(gè)程序員還是UI設(shè)計(jì)師,不知道
    的頭像 發(fā)表于 03-18 17:40 ?962次閱讀
    風(fēng)火輪NAS主機(jī)養(yǎng)龍蝦:給AI私人助手注入靈魂

    的EMC瓶頸,不是經(jīng)驗(yàn)不夠,是體系不全

    EMC的EMC瓶頸,不是經(jīng)驗(yàn)不夠,是體系不全現(xiàn)在的狀態(tài),是不是這樣?產(chǎn)品送測(cè)前,心里完全沒(méi)底,不知道哪一項(xiàng)會(huì)掛傳導(dǎo)發(fā)射超標(biāo),換了十幾種電容電感,還是壓不下去靜電打幾下,系統(tǒng)重啟,
    的頭像 發(fā)表于 03-10 16:41 ?478次閱讀
    <b class='flag-5'>你</b>的EMC瓶頸,不是經(jīng)驗(yàn)不夠,是體系不全

    Verilog HDL語(yǔ)法學(xué)習(xí)筆記

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

    組合導(dǎo)航不知道怎么選,看這里

    單一導(dǎo)航難適配復(fù)雜作業(yè)?MEMS組合導(dǎo)航來(lái)幫你,通過(guò)融合衛(wèi)星定位與慣性測(cè)量技術(shù),以“1+1>2”優(yōu)勢(shì)破解全行業(yè)導(dǎo)航難題。 我司組合導(dǎo)航提供三種方案可選,從01到03到05,搭載從導(dǎo)航級(jí)到戰(zhàn)術(shù)級(jí)到消費(fèi)級(jí)MEMS陀螺儀與加速度計(jì),通過(guò)微機(jī)電技術(shù)集成在毫米芯片上,搭載衛(wèi)星模塊以及其他器件,尺寸僅有65mm*70mm*45.5mm,以下是三種方案詳細(xì)介紹: 超高精度方案—ER-GNSS/MINS-01 產(chǎn)品定位 一款擁有測(cè)繪級(jí)超高精度的組合導(dǎo)航,是市面上采用MEMS技術(shù)組合導(dǎo)航系統(tǒng)中
    的頭像 發(fā)表于 01-08 15:47 ?370次閱讀

    C語(yǔ)言中一些令人震驚的結(jié)構(gòu)介紹

    = a++ + b; 因此, 這段代碼持行后a = 6, b = 7, c = 12。 如果知道答案,或猜出正確答案,做得好。 如果不知道答案,我也不把這個(gè)當(dāng)作問(wèn)題。我發(fā)
    發(fā)表于 12-23 08:15

    斷電時(shí),的后備電源真能啟動(dòng)嗎?多數(shù)人不知道的UPS保養(yǎng)真相

    斷電那一刻,的后備電源真的能頂上嗎?深夜,機(jī)房警報(bào)突然響起,屏幕瞬間熄滅——不是演習(xí),市電真的斷了。所有人的心都提到了嗓子眼,三秒后,服務(wù)器指示燈重新亮起,UPS電源的顯示屏穩(wěn)定地閃爍著運(yùn)行
    的頭像 發(fā)表于 12-05 13:37 ?1981次閱讀
    斷電時(shí),<b class='flag-5'>你</b>的后備電源真能啟動(dòng)嗎?多數(shù)人<b class='flag-5'>不知道</b>的UPS保養(yǎng)真相

    覺(jué)得哪個(gè)軟件寫(xiě)verilog體驗(yàn)最好?有什么優(yōu)勢(shì)?

    覺(jué)得哪個(gè)軟件寫(xiě)verilog體驗(yàn)最好?有什么優(yōu)勢(shì)?請(qǐng)?jiān)谠u(píng)論區(qū)留言跟大家分享一下吧。
    發(fā)表于 11-10 07:47

    語(yǔ)法糾錯(cuò)和testbench的自動(dòng)生成

    在編寫(xiě)Verilog代碼時(shí),我一般都是先在編輯器上寫(xiě)完,因?yàn)榫庉嬈鱲scode或者notepad++可以提供語(yǔ)法高亮和自動(dòng)補(bǔ)全等功能,然后用仿真器跑仿真,但是在編寫(xiě)過(guò)程中不可避免的會(huì)有一些語(yǔ)法的錯(cuò)誤
    發(fā)表于 10-27 07:07

    如何解決將e203的rtl導(dǎo)入vivado后報(bào)語(yǔ)法錯(cuò)誤的問(wèn)題

    主要內(nèi)容是介紹一下如何解決將e203的rtl導(dǎo)入vivado后,報(bào)語(yǔ)法錯(cuò)誤的問(wèn)題。 二、分享內(nèi)容 如圖所示,導(dǎo)入源碼后跑仿真,會(huì)報(bào)語(yǔ)法錯(cuò)誤。 這是因?yàn)檫@些文件里面有用system verilog
    發(fā)表于 10-24 09:49

    電話配線架的“隱藏技能”——不知道的五大應(yīng)用場(chǎng)景

    1. 應(yīng)急通信:災(zāi)難中的“生命線” 場(chǎng)景:地震、洪水等災(zāi)害導(dǎo)致基站癱瘓時(shí),配線架可快速切換至衛(wèi)星電話或備用線路。 案例: 2008年汶川地震中,某醫(yī)院通過(guò)配線架將內(nèi)部電話系統(tǒng)切換至應(yīng)急電臺(tái),保障醫(yī)療調(diào)度。 2. 數(shù)據(jù)中心:光與電的“翻譯官” 場(chǎng)景:在光纖與銅纜混合的數(shù)據(jù)中心,配線架實(shí)現(xiàn)光信號(hào)(如SFP模塊)與電信號(hào)(如RJ45)的轉(zhuǎn)換。 優(yōu)勢(shì): 統(tǒng)一管理不同介質(zhì)線路,簡(jiǎn)化布線復(fù)雜度。 支持高速數(shù)據(jù)傳輸(如40G/100G以太網(wǎng))。 3. 智能家居:全屋電話
    的頭像 發(fā)表于 10-14 10:18 ?536次閱讀

    現(xiàn)在流行來(lái)中國(guó)看賽博朋克

    中國(guó)以外的人不知道中國(guó)有多強(qiáng)
    的頭像 發(fā)表于 10-10 22:43 ?4638次閱讀
    現(xiàn)在流行來(lái)中國(guó)看賽博朋克

    工業(yè)數(shù)據(jù)連接器的穩(wěn)定重要性不會(huì)不知道吧?

    我曾參與一家汽車(chē)零部件工廠的智能化改造項(xiàng)目,本以為升級(jí)設(shè)備就能大幅提升生產(chǎn)效率,卻因一時(shí)疏忽選用了穩(wěn)定性欠佳的工業(yè)數(shù)據(jù)連接器。試運(yùn)行期間,生產(chǎn)線頻繁出現(xiàn)數(shù)據(jù)傳輸中斷,導(dǎo)致機(jī)械臂動(dòng)作錯(cuò)亂,生產(chǎn)出大量殘次品,直接經(jīng)濟(jì)損失高達(dá)數(shù)十萬(wàn)元。這次教訓(xùn)讓我深刻明白,在工業(yè)領(lǐng)域,數(shù)據(jù)連接器的穩(wěn)定容不得半點(diǎn)馬虎。 工業(yè)數(shù)據(jù)連接器,作為工業(yè)設(shè)備間數(shù)據(jù)交互的核心樞紐,其穩(wěn)定性決定著整個(gè)工業(yè)生產(chǎn)系統(tǒng)能否正常運(yùn)轉(zhuǎn)。不同于普通消
    的頭像 發(fā)表于 07-03 16:32 ?667次閱讀

    關(guān)于OFDM 不知道的那些事?#OFDM #5G技術(shù) #通信技術(shù)

    通信技術(shù)
    安泰儀器維修
    發(fā)布于 :2025年06月24日 18:31:22

    編譯錯(cuò)誤: error: unrecognizable insn,不知道原因,請(qǐng)教!

    用start_gui.exe生成的代碼,再用SEGGER Embedded打開(kāi),編譯有錯(cuò),不知道是什么原因,請(qǐng)教各位大佬?
    發(fā)表于 06-23 14:45

    不知道怎么畫(huà)原理圖了

    時(shí),這樣的問(wèn)題,也有這么多?!1、電阻的表示方法是第一種,還是第二種?中間是方框還是折線?方框做多大?現(xiàn)場(chǎng)一片混亂立馬分成N派。普通的電阻都這樣,這么多種電阻現(xiàn)
    的頭像 發(fā)表于 04-30 18:40 ?1148次閱讀
    <b class='flag-5'>不知道</b>怎么畫(huà)原理圖了
    浪卡子县| 台州市| 宾阳县| 宁乡县| 福清市| 吴桥县| 遵义县| 安阳县| 望都县| 始兴县| 克什克腾旗| 上犹县| 吉木乃县| 巫山县| 萝北县| 大关县| 龙井市| 阿图什市| 周口市| 彰化县| 颍上县| 宕昌县| 延寿县| 云安县| 乐都县| 和林格尔县| 灵丘县| 洛阳市| 屏山县| 凉山| 无锡市| 营山县| 固原市| 镇赉县| 栖霞市| 海南省| 淳化县| 邢台市| 赣榆县| 烟台市| 商丘市|