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

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

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

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

Verilog中的賦值語(yǔ)句的區(qū)別

電子設(shè)計(jì) ? 來(lái)源:博客園 ? 作者:nanoty ? 2020-11-26 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 連續(xù)賦值語(yǔ)句(Continuous Assignments)

連續(xù)賦值語(yǔ)句是Verilog數(shù)據(jù)流建模的基本語(yǔ)句,用于對(duì)線網(wǎng)進(jìn)行賦值,等價(jià)于門級(jí)描述,是從更高的抽象角度來(lái)對(duì)電路進(jìn)行描述。連續(xù)賦值語(yǔ)句必須以關(guān)鍵詞assign開始。

連續(xù)復(fù)制的主要特點(diǎn)是:

連續(xù)賦值語(yǔ)句的左值可以是一下類型之一:
①標(biāo)量線網(wǎng)
②向量線網(wǎng)
③矩陣中的一個(gè)元素(該矩陣可以是標(biāo)量線網(wǎng)類型的,也可以是向量線網(wǎng)類型的)
④向量線網(wǎng)的某一位
⑤向量線網(wǎng)的部分位

以及上述各種類型的拼接體

但是,不能是向量或向量寄存器。

連續(xù)賦值語(yǔ)句總是處于激活狀態(tài)。只要任意一個(gè)操作數(shù)發(fā)生變化,表達(dá)式就會(huì)被立即重新計(jì)算,并且將結(jié)果賦給等號(hào)左邊的線網(wǎng)。
操作數(shù)可以是標(biāo)量或向量的線網(wǎng)或寄存器,也可以是函數(shù)的調(diào)用。
賦值延遲用于控制對(duì)線網(wǎng)賦予新值的時(shí)間,根據(jù)仿真時(shí)間單位進(jìn)行說(shuō)明。賦值延遲類似于門延遲,對(duì)于描述實(shí)際電路中的時(shí)序是非常重要的。

2. 過(guò)程賦值語(yǔ)句(Procedural Assignments)

過(guò)程賦值語(yǔ)句的更新對(duì)象是寄存器、整數(shù)、實(shí)數(shù)或時(shí)間變量等。這些類型的變量在被賦值后,其值將保持不變,直到被其他過(guò)程賦值語(yǔ)句賦予新值。過(guò)程賦值語(yǔ)句只有在執(zhí)行到的時(shí)候才會(huì)起作用。過(guò)程賦值語(yǔ)句只能在initial或always語(yǔ)句內(nèi)進(jìn)行賦值,只能對(duì)變量數(shù)據(jù)類型賦值,同時(shí)initial和always中只能使用過(guò)程賦值語(yǔ)句。

過(guò)程賦值語(yǔ)句的左值可以是以下類型之一:

①reg、整形數(shù)、實(shí)型數(shù)、時(shí)間寄存器變量或存儲(chǔ)器單元

②上述各種類型的位選(例如:addr[3])

③上述各種類型的域選(例如:addr[31:16])

④上面三種類型的拼接

過(guò)程性賦值語(yǔ)句包括兩種類型的賦值語(yǔ)句:阻塞賦值(=)和非阻塞賦值(<=)(其主要區(qū)別詳見各類Verilog參考書,這里不再詳述)。

3. 過(guò)程連續(xù)賦值語(yǔ)句(Procedural Continuous Assignments)

過(guò)程連續(xù)賦值是在過(guò)程塊內(nèi)對(duì)變量或線網(wǎng)型數(shù)據(jù)進(jìn)行連續(xù)賦值,是一種過(guò)程性賦值,換言之,過(guò)程性連續(xù)賦值語(yǔ)句是一種能夠在always或initial語(yǔ)句塊中出現(xiàn)的語(yǔ)句。這種賦值可以改寫(Override)所有其他語(yǔ)句對(duì)線網(wǎng)或者變量的賦值。這種賦值允許賦值表達(dá)式被連續(xù)的驅(qū)動(dòng)進(jìn)入到變量或線網(wǎng)中去。

過(guò)程連續(xù)賦值語(yǔ)句有兩種類型:

①assign和deassign過(guò)程性語(yǔ)句:對(duì)變量進(jìn)行賦值。

②force和release過(guò)程性語(yǔ)句:主要用于對(duì)線網(wǎng)賦值,也可以用于對(duì)變量賦值。

3.1 assign和deassign語(yǔ)句

assign和deassign語(yǔ)句構(gòu)成了一類過(guò)程性連續(xù)賦值語(yǔ)句,只能用于對(duì)寄存器類型變量的連續(xù)賦值操作,不能用來(lái)對(duì)線網(wǎng)類型數(shù)據(jù)進(jìn)行連續(xù)賦值操作。

①assign語(yǔ)句

語(yǔ)法:assign <寄存器類型變量> =<賦值表達(dá)式>;

assign在執(zhí)行時(shí),寄存器類型變量將由賦值表達(dá)式進(jìn)行連續(xù)驅(qū)動(dòng),即進(jìn)入連續(xù)賦值狀態(tài)。如果此時(shí)有普通的過(guò)程賦值語(yǔ)句對(duì)該寄存器變量進(jìn)行過(guò)程賦值操作,由于過(guò)程連續(xù)賦值語(yǔ)句assign的優(yōu)先級(jí)高于普通過(guò)程賦值語(yǔ)句,所以出于連續(xù)賦值狀態(tài)的寄存器變量將忽略普通過(guò)程賦值語(yǔ)句對(duì)它的過(guò)程賦值操作,其邏輯狀態(tài)仍然由過(guò)程連續(xù)賦值語(yǔ)句內(nèi)的賦值表達(dá)式所決定。

如果先后有兩條assign語(yǔ)句對(duì)同一寄存器變量進(jìn)行了過(guò)程連續(xù)賦值操作,那么第二條assign的執(zhí)行將覆蓋第一條assign的執(zhí)行效果。

②deassign語(yǔ)句

語(yǔ)法:deassign <寄存器類型變量>;

deassign語(yǔ)句是一條撤銷連續(xù)賦值語(yǔ)句,用來(lái)結(jié)束對(duì)變量的連續(xù)賦值操作。當(dāng)deassign語(yǔ)句執(zhí)行后,原來(lái)由assign語(yǔ)句對(duì)該變量進(jìn)行的連續(xù)賦值操作將失效,寄存器變量被連續(xù)賦值的狀態(tài)將得到解除,該變量又可以由普通過(guò)程賦值語(yǔ)句進(jìn)行賦值操作了。這里需要注意一點(diǎn),當(dāng)執(zhí)行該語(yǔ)句撤銷對(duì)某寄存器變量的連續(xù)賦值后,該寄存器變量仍將保持使用該語(yǔ)句之前的原有值。

③示例:

上述語(yǔ)句執(zhí)行過(guò)程如下:

s0:在0時(shí)刻,out被賦值為0,并且保持這個(gè)取值;

s1:在10時(shí)刻,s1開始執(zhí)行,實(shí)現(xiàn)了對(duì)變量out的連續(xù)賦值操作,因此從10時(shí)刻開始,out將處于連續(xù)賦值狀態(tài);

s2:在20時(shí)刻,s2開始執(zhí)行,將覆蓋s1產(chǎn)生的作用,所以從20時(shí)刻開始,out將由c & d連續(xù)驅(qū)動(dòng);

s3:s3操作覆蓋掉s2操作;

s4:當(dāng)deassign語(yǔ)句得到執(zhí)行,變量out連續(xù)賦值狀態(tài)被解除,其取值將保持最后一次assign語(yǔ)句賦予的值,即“e & f”;

3.2 force和release語(yǔ)句

force和release語(yǔ)句與assign和deassign語(yǔ)句類似,也是一種過(guò)程連續(xù)賦值語(yǔ)句。這組賦值語(yǔ)句不僅能對(duì)寄存器類型變量產(chǎn)生作用,還能對(duì)線網(wǎng)類型數(shù)據(jù)進(jìn)行連續(xù)賦值操作。

①force語(yǔ)句

語(yǔ)法:force <寄存器變量或者線網(wǎng)數(shù)據(jù)> = <賦值表達(dá)式>>;

force語(yǔ)句應(yīng)用于寄存器類型變量時(shí),則在force語(yǔ)句執(zhí)行后,該寄存器變量將強(qiáng)制由進(jìn)行連續(xù)驅(qū)動(dòng),進(jìn)入被連續(xù)賦值的狀態(tài),此時(shí)將忽略其他較低優(yōu)先級(jí)的賦值語(yǔ)句對(duì)該寄存器變量的賦值操作,直到執(zhí)行一條release語(yǔ)句來(lái)釋放對(duì)該寄存器變量的連續(xù)賦值為止。

force語(yǔ)句應(yīng)用于線網(wǎng)數(shù)據(jù)時(shí),則force語(yǔ)句執(zhí)行后,對(duì)應(yīng)的線網(wǎng)數(shù)據(jù)將得到的連續(xù)驅(qū)動(dòng),此時(shí)將忽略該線網(wǎng)數(shù)據(jù)上較低優(yōu)先級(jí)的驅(qū)動(dòng),直到有一條release語(yǔ)句執(zhí)行為止。

②release語(yǔ)句

語(yǔ)法:release <寄存器變量或者線網(wǎng)數(shù)據(jù)>;

release語(yǔ)句執(zhí)行后,原先由force語(yǔ)句對(duì)變量或者線網(wǎng)施加的過(guò)程連續(xù)賦值將失效,變量將解除被被連續(xù)賦值的狀態(tài),較低優(yōu)先級(jí)的賦值語(yǔ)句的賦值操作將有效。

③示例:

s0:實(shí)現(xiàn)對(duì)變量var_reg1的過(guò)程賦值操作,即var_reg1被賦值為3'b000;

s1:執(zhí)行assign過(guò)程連續(xù)賦值語(yǔ)句,用來(lái)實(shí)現(xiàn)對(duì)變量var_reg2的連續(xù)賦值,從而var_reg2將被連續(xù)賦值為3'b001;

s2:在執(zhí)行本條語(yǔ)句時(shí),var_reg1未被assign語(yǔ)句進(jìn)行過(guò)連續(xù)賦值操作,因此var_reg1被force連續(xù)賦值為3'b100;

s3:執(zhí)行本條語(yǔ)句后,var_reg2被force連續(xù)賦值為3'b100;

s4:執(zhí)行本條語(yǔ)句時(shí),因?yàn)樽兞縱ar_reg1將退出連續(xù)賦值的狀態(tài),因?yàn)関ar_reg1未曾被assign語(yǔ)句進(jìn)行過(guò)連續(xù)賦值操作,故var_reg1取值保持不變,即保持force狀態(tài)時(shí)的值3'b100;

s5:執(zhí)行本語(yǔ)句時(shí),因?yàn)関ar_reg2在執(zhí)行s3之前已經(jīng)由s1實(shí)現(xiàn)了連續(xù)賦值,所以在本條語(yǔ)句s5執(zhí)行后,變量var_reg2將恢復(fù)到由assign語(yǔ)句s1確定的連續(xù)賦值狀態(tài),即3'b001;

4. 賦值語(yǔ)句的區(qū)別

4.1 連續(xù)賦值語(yǔ)句和過(guò)程賦值語(yǔ)句之間的區(qū)別

? 連續(xù)賦值語(yǔ)句由assign來(lái)標(biāo)示,而過(guò)程賦值語(yǔ)句不能包含這個(gè)關(guān)鍵詞;
? 連續(xù)賦值語(yǔ)句中左側(cè)的數(shù)據(jù)類型必須是線網(wǎng)數(shù)據(jù)類型,而過(guò)程賦值語(yǔ)句中的被賦值數(shù)據(jù)類型則必須是寄存器類型的變量;
? 連續(xù)賦值語(yǔ)句不能出現(xiàn)在過(guò)程塊(initial或always)中,而過(guò)程賦值語(yǔ)句可以;
? 連續(xù)賦值語(yǔ)句主要用來(lái)對(duì)組合邏輯電路進(jìn)行建模以及對(duì)線網(wǎng)數(shù)據(jù)間的連接進(jìn)行描述,而過(guò)程賦值語(yǔ)句主要用來(lái)對(duì)時(shí)序邏輯電路進(jìn)行行為描述;
? 連續(xù)賦值語(yǔ)句對(duì)被賦值線網(wǎng)型數(shù)據(jù)的賦值是“連續(xù)”的(即賦值表達(dá)式的任何變化都會(huì)在立刻反應(yīng)在線網(wǎng)數(shù)據(jù)的取值上),而過(guò)程性賦值語(yǔ)句,只有在過(guò)程賦值語(yǔ)句被執(zhí)行時(shí)才執(zhí)行賦值操作,語(yǔ)句執(zhí)行完后被賦值變量的取值不再受到賦值表達(dá)式的影響(注意這里的一次是指:在initial塊中,過(guò)程性賦值只順序執(zhí)行一次,而在always塊中,每一次滿足always的條件時(shí),都要順序執(zhí)行一次該always塊中的語(yǔ)句。)。
? 連續(xù)賦值與過(guò)程賦值的區(qū)別:

4.2 過(guò)程連續(xù)賦值語(yǔ)句和連續(xù)賦值語(yǔ)句之間的區(qū)別

? 過(guò)程連續(xù)賦值語(yǔ)句只能用在過(guò)程塊(initial過(guò)程快或always過(guò)程塊)內(nèi),而連續(xù)賦值語(yǔ)句不能出現(xiàn)在過(guò)程塊中。
? 過(guò)程連續(xù)賦值語(yǔ)句可以對(duì)寄存器類型變量進(jìn)行連續(xù)賦值(其中force-release語(yǔ)句還可以對(duì)線網(wǎng)進(jìn)行連續(xù)賦值),但是其賦值目標(biāo)不能是變量或線網(wǎng)的某一位或某幾位,而連續(xù)賦值語(yǔ)句只能對(duì)線網(wǎng)數(shù)據(jù)進(jìn)行賦值,賦值目標(biāo)可以是線網(wǎng)型數(shù)據(jù)的某一位或某幾位。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    39

    文章

    7753

    瀏覽量

    172169
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1374

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    FPGA 入門必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    很多開發(fā)者第一次接觸FPGA,都會(huì)有同樣的疑問(wèn):FPGA是硬件,不是軟件,怎么寫程序?答案就是用硬件描述語(yǔ)言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門,搞清楚FPGA編程
    的頭像 發(fā)表于 01-19 09:05 ?699次閱讀
    FPGA 入門必看:<b class='flag-5'>Verilog</b> 與 VHDL 編程基礎(chǔ)解析!

    條件的執(zhí)行語(yǔ)句

    條件執(zhí)行語(yǔ)句大多在if語(yǔ)句中使用,也在使用關(guān)系運(yùn)算符(<,==,>等) 或者布爾值表達(dá)式(,!等)計(jì)算復(fù)雜表達(dá)式時(shí)使用。對(duì)于包含函數(shù)調(diào) 用的代碼片段,由于函數(shù)返回值會(huì)被
    發(fā)表于 12-12 08:25

    verilog testbench運(yùn)行測(cè)試用例時(shí),運(yùn)行到make run_test出錯(cuò)怎么解決?

    按照胡老師書上的在verilog testbench運(yùn)行測(cè)試用例時(shí),在運(yùn)行到make run_test步驟時(shí)出錯(cuò),查了很多方案沒(méi)有解決。
    發(fā)表于 11-11 06:52

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打開仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過(guò)readmemh函數(shù)讀入.verilog文件實(shí)現(xiàn)的: 下面通過(guò)對(duì)NucleiStudio IDE進(jìn)行設(shè)置,實(shí)現(xiàn)將c
    發(fā)表于 11-05 07:07

    芯來(lái)e203移植開發(fā)分享(二)——仿真文件簡(jiǎn)述與itcm固化程序

    可以在makefile設(shè)置自己想要仿真的testcase,這里使用的rv32ui-p-add.verilog,這里我們把的這個(gè)文件復(fù)制的上次分享建立的文件testcase,讀取仿真。 仿真主要流程
    發(fā)表于 10-27 06:04

    NucleiStudio如何生成.verilog文件和.dasm文件,以及對(duì).dasm文件自定義指令反匯編結(jié)果分析

    文件,以及對(duì).dasm文件自定義指令反匯編結(jié)果分析。 一、如何生成.verilog和.dasm文件文件 項(xiàng)目右鍵選擇Properties 選擇C/C++ Build下面的Setting 更改
    發(fā)表于 10-24 06:33

    PCB設(shè)計(jì)單點(diǎn)接地與多點(diǎn)接地的區(qū)別與設(shè)計(jì)要點(diǎn)

    一站式PCBA加工廠家今天為大家講講PCB設(shè)計(jì)的單點(diǎn)接地與多點(diǎn)接地有什么區(qū)別?單點(diǎn)接地與多點(diǎn)接地區(qū)別與設(shè)計(jì)要點(diǎn)。在PCB設(shè)計(jì),接地系統(tǒng)的設(shè)計(jì)是影響電路性能的關(guān)鍵因素之一。單點(diǎn)接地和
    的頭像 發(fā)表于 10-10 09:10 ?2661次閱讀
    PCB設(shè)計(jì)<b class='flag-5'>中</b>單點(diǎn)接地與多點(diǎn)接地的<b class='flag-5'>區(qū)別</b>與設(shè)計(jì)要點(diǎn)

    人工智能行業(yè)如何使用for循環(huán)語(yǔ)句進(jìn)行循環(huán)

    : 支持range()函數(shù)生成數(shù)字序列 可結(jié)合else語(yǔ)句使用 Java的for循環(huán): 傳統(tǒng)結(jié)構(gòu):for(初始化; 條件; 增量) 增強(qiáng)for循環(huán):for(類型 變量 : 集合) 主要用于數(shù)組和集合
    的頭像 發(fā)表于 09-10 12:55 ?683次閱讀

    Unicore標(biāo)準(zhǔn)NEMA語(yǔ)句GSA及說(shuō)明

    本文介紹和芯星通的NEMA語(yǔ)句說(shuō)明。
    的頭像 發(fā)表于 07-16 11:39 ?820次閱讀
    Unicore標(biāo)準(zhǔn)NEMA<b class='flag-5'>語(yǔ)句</b>GSA及說(shuō)明

    matlab appdesigner 表格組件賦值問(wèn)題,求助

    如上圖所示,我在用matlab2021Ra APP模塊進(jìn)行編程的時(shí)候,想在表格調(diào)入自己編寫的結(jié)構(gòu)數(shù)組,我從網(wǎng)上AI了一個(gè)程序語(yǔ)句,看著沒(méi)問(wèn)題,但是就是給表格賦值不了,還請(qǐng)各位大神幫忙看一下這個(gè)是怎么回事,我是初學(xué)者,請(qǐng)各位幫
    發(fā)表于 07-12 11:45

    基礎(chǔ)篇3:掌握Python的條件語(yǔ)句與循環(huán)

    在Python編程語(yǔ)言中,條件語(yǔ)句和循環(huán)是構(gòu)成復(fù)雜邏輯和數(shù)據(jù)處理的基石。本篇基礎(chǔ)教程將幫助您深入了解Python的條件語(yǔ)句和循環(huán)結(jié)構(gòu),讓您能夠更好地控制程序流程。 條件語(yǔ)句 條件
    發(fā)表于 07-03 16:13

    《ESP32S3 Arduino開發(fā)指南》第三章 C/C++語(yǔ)言基礎(chǔ)

    要訪問(wèn)一個(gè)數(shù)組的某個(gè)元素,則需要使用以下語(yǔ)句。數(shù)組名稱[下標(biāo)] 需要注意的是,數(shù)組下標(biāo)是從0開始編號(hào)的。例如,將數(shù)組a的第一個(gè)元素賦值為1的語(yǔ)句
    發(fā)表于 06-10 09:20

    詳解TIA Portal SCL編程語(yǔ)言中的IF語(yǔ)句

    IF 語(yǔ)句是編程中最基本和最重要的控制結(jié)構(gòu)之一,它的主要作用是根據(jù)條件決定程序的執(zhí)行路徑,IF 語(yǔ)句是編程實(shí)現(xiàn)邏輯判斷和決策的基礎(chǔ)。
    的頭像 發(fā)表于 05-24 15:01 ?2124次閱讀
    詳解TIA Portal SCL編程語(yǔ)言中的IF<b class='flag-5'>語(yǔ)句</b>

    verilog模塊的調(diào)用、任務(wù)和函數(shù)

    在做模塊劃分時(shí),通常會(huì)出現(xiàn)這種情形,某個(gè)大的模塊包含了一個(gè)或多個(gè)功能子模塊,verilog是通過(guò)模塊調(diào)用或稱為模塊實(shí)例化的方式來(lái)實(shí)現(xiàn)這些子模塊與高層模塊的連接的.
    的頭像 發(fā)表于 05-03 10:29 ?1729次閱讀
    <b class='flag-5'>verilog</b>模塊的調(diào)用、任務(wù)和函數(shù)
    永登县| 桦川县| 名山县| 巫山县| 衡东县| 金溪县| 辽宁省| 同心县| 南丹县| 张家港市| 马边| 重庆市| 新乡市| 新乐市| 金昌市| 金寨县| 星座| 宁乡县| 土默特左旗| 三河市| 江孜县| 东平县| 时尚| 渑池县| 深州市| 化州市| 三门县| 广州市| 古浪县| 江源县| 隆昌县| 若羌县| 溧水县| 资中县| 台北市| 大宁县| 大新县| 台中县| 嫩江县| 长葛市| 河北省|