一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

你們知道always,assign和always@(*)之間的區(qū)別嗎

FPGA之家 ? 來(lái)源:碎碎思 ? 作者:碎碎思 ? 2021-06-27 11:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.always@后面內(nèi)容是敏感變量,always@(*)里面的敏感變量為*,意思是說(shuō)敏感變量由綜合器根據(jù)always里面的輸入變量自動(dòng)添加,也就是所有變量都是敏感列表,不用自己考慮。2.如果沒(méi)有@,那就是不會(huì)滿足特定條件才執(zhí)行,而是執(zhí)行完一次后立馬執(zhí)行下一次,一直重復(fù)執(zhí)行,比如testbench里面產(chǎn)生50Mhz的時(shí)鐘就(假設(shè)時(shí)間尺度是1ns)可以寫(xiě)成

always #25 CLK_50Mhz = ~CLK_50Mhz;

一般always@(*)是指里面的語(yǔ)句是組合邏輯的。*代替了敏感變量。

而一般時(shí)序邏輯要寫(xiě)成

always@(posedge clk or negedge rst)

時(shí)鐘信號(hào)clk上升沿或者復(fù)位信號(hào)rst下降沿的時(shí)候執(zhí)行always塊內(nèi)的代碼。

assign 用于描述組合邏輯always@(敏感事件列表) 用于描述時(shí)序邏輯敏感事件 上升沿 posedge,下降沿 negedge,或電平敏感事件列表中可以包含多個(gè)敏感事件,但不可以同時(shí)包括電平敏感事件和邊沿敏感事件,也不可以同時(shí)包括同一個(gè)信號(hào)的上升沿和下降沿,這兩個(gè)事件可以合并為一個(gè)電平敏感事件。在新的verilog2001中“,”和“or”都可以用來(lái)分割敏感事件了,可以用“*”代表所有輸入信號(hào),這可以防止遺漏。合法的寫(xiě)法:

always@ *

always@ (posedge clk1,negedge clk2)

always@ (a or b)

`timescale 100ns/100ns //定義仿真基本周期為100nsalways #1 clk=~clk //#1代表一個(gè)仿真周期即100ns

所有的assign 和 always 塊都是并行發(fā)生的!并行塊、順序塊將要并行執(zhí)行的語(yǔ)句寫(xiě)在

fork//語(yǔ)句并行執(zhí)行join

將要順序執(zhí)行的語(yǔ)句寫(xiě)在

begin//語(yǔ)句順序執(zhí)行end

并行塊和順序塊都可以寫(xiě)在initial 或 always@ 之后,也就是說(shuō)寫(xiě)在塊中的語(yǔ)句是時(shí)序邏輯的對(duì)assign之后不能加塊,實(shí)現(xiàn)組合邏輯只能用逐句的使用assign組合邏輯如果不考慮門(mén)的延時(shí)的話當(dāng)然可以理解為瞬時(shí)執(zhí)行的,因此沒(méi)有并行和順序之分,并行和順序是針對(duì)時(shí)序邏輯來(lái)說(shuō)的。值得注意的是所有的時(shí)序塊都是并行執(zhí)行的。initial塊只在信號(hào)進(jìn)入模塊后執(zhí)行1次而always塊是由敏感事件作為中斷來(lái)觸發(fā)執(zhí)行的。

2:assign 組合邏輯和always@(*)組合邏輯verilog描述組合邏輯一般常用的有兩種:assign賦值語(yǔ)句和always@(*)語(yǔ)句。兩者之間的差別有: 1. 被assign賦值的信號(hào)定義為wire型,被always@(*)結(jié)構(gòu)塊下的信號(hào)定義為reg型,值得注意的是,這里的reg并不是一個(gè)真正的觸發(fā)器,只有敏感列表為上升沿觸發(fā)的寫(xiě)法才會(huì)綜合為觸發(fā)器,在仿真時(shí)才具有觸發(fā)器的特性。 2. 另外一個(gè)區(qū)別則是更細(xì)微的差別:舉個(gè)例子,

wire a;reg b;assign a = 1‘b0;always@(*)b = 1’b0;

在這種情況下,做仿真時(shí)a將會(huì)正常為0, 但是b卻是不定態(tài)。這是為什么?verilog規(guī)定,always@(*)中的*是指該always塊內(nèi)的所有輸入信號(hào)的變化為敏感列表,也就是仿真時(shí)只有當(dāng)always@(*)塊內(nèi)的輸入信號(hào)產(chǎn)生變化,該塊內(nèi)描述的信號(hào)才會(huì)產(chǎn)生變化,而像always@(*) b = 1‘b0; 這種寫(xiě)法由于1’b0一直沒(méi)有變化,所以b的信號(hào)狀態(tài)一直沒(méi)有改變。

由于b是組合邏輯輸出,所以復(fù)位時(shí)沒(méi)有明確的值(不定態(tài)),而又因?yàn)閍lways@(*)塊內(nèi)沒(méi)有敏感信號(hào)變化,因此b的信號(hào)狀態(tài)一直保持為不定態(tài)。事實(shí)上該語(yǔ)句的綜合結(jié)果有可能跟assign一樣(本人沒(méi)有去嘗試),但是在功能仿真時(shí)就差之千里了。

編輯:jq

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

    關(guān)注

    14

    文章

    2039

    瀏覽量

    62118
  • 綜合器
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    6592
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    127

    瀏覽量

    17605

原文標(biāo)題:Verilog 里面,always,assign和always@(*)區(qū)別

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    隔離屏障的概念以及工作電壓和測(cè)試電壓之間區(qū)別

    電源中的電氣隔離不僅僅是關(guān)乎安全——它更是性能和可靠性的基石。本文將探討隔離屏障的概念以及工作電壓和測(cè)試電壓之間區(qū)別。它還將討論標(biāo)準(zhǔn)為何重要?幫助工程師設(shè)計(jì)出滿足當(dāng)今嚴(yán)苛法規(guī)和應(yīng)用需求的穩(wěn)健系統(tǒng)。
    的頭像 發(fā)表于 07-08 15:29 ?178次閱讀

    【高云GW5AT-LV60 開(kāi)發(fā)套件試用體驗(yàn)】點(diǎn)亮LED

    clkout0 ); wire sys_rst_n = lock; reg [26:0]delay_cnt; always@(posedge clk_100M or negedge sys_rst_n
    發(fā)表于 06-18 17:16

    # quartus ii 9.1對(duì)registered adder仿真出錯(cuò),但硬件上能夠?qū)崿F(xiàn),怎么解決?

    ,Cout,reset,Clock); input[3:0] A,B;//定義兩個(gè)四位變量 output[3:0] C,D;//CD用來(lái)將AB輸入顯示到LED燈上 assign C=A; assign
    發(fā)表于 04-14 21:35

    HSE子系統(tǒng)HSE_H、HSE_M和HSE_B之間有什么區(qū)別

    我想知道 HSE 子系統(tǒng) HSE_H、HSE_M 和 HSE_B 之間有什么區(qū)別? 區(qū)別是它們?cè)谀膫€(gè)板上運(yùn)行,還是也存在功能差異?
    發(fā)表于 03-20 07:37

    S32G DMA和Noc之間區(qū)別是什么?

    當(dāng)我閱讀 S32G3 參考手冊(cè)時(shí),我對(duì) S32G DMA 和 Noc 之間區(qū)別有疑問(wèn)。由于 NoC 支持內(nèi)核、外設(shè)和 SRAM 之間的通信,并且 DMA 還可以在內(nèi)存塊和 I/O 塊之間
    發(fā)表于 03-17 08:25

    中航光電亮相2025年韓國(guó)儲(chǔ)能電池展

    近日,備受關(guān)注的韓國(guó)儲(chǔ)能電池展盛大啟幕。中航光電以“Always-on Power, Always-on Site”為主題,攜新能源汽車(chē)、光伏儲(chǔ)能及液冷技術(shù)領(lǐng)域的互連方案驚艷亮相。
    的頭像 發(fā)表于 03-07 17:53 ?627次閱讀

    TXB0104與TXS0102兩者之間有什么區(qū)別嗎?

    兩款芯片的區(qū)別;TXB0104是buffered-type;TXS0102是switch-type請(qǐng)問(wèn)這兩者之間有什么區(qū)別嗎?
    發(fā)表于 02-10 08:42

    電源適配器和開(kāi)關(guān)電源之間區(qū)別

    們使用的開(kāi)關(guān)電源又有哪些區(qū)別呢?今天就來(lái)為大家分析下關(guān)于電源適配器和開(kāi)關(guān)電源之間區(qū)別。 開(kāi)關(guān)電源:   開(kāi)關(guān)電源是將220V電壓變成低壓直流的一種方法,他區(qū)別于傳統(tǒng)的工頻變壓器。采用
    發(fā)表于 01-16 10:57

    ADS8684與ADS8684A之間區(qū)別是什么?

    看了半天,看不出哪里不一樣,求告知ADS8684 與 ADS8684A 之間區(qū)別。
    發(fā)表于 12-23 06:09

    verilog計(jì)數(shù)器代碼為什么要使用這句話if (count===8\'bxxxxxxxx)count=8\'b0000_0000;

    and declarations of other variables used in the file./ always@(posedge clk)//Function realization
    發(fā)表于 12-21 14:49

    晶圓/晶粒/芯片之間區(qū)別和聯(lián)系

    本文主要介紹??????晶圓 (wafer)/晶粒 (die)/芯片 (chip)之間區(qū)別和聯(lián)系。 ? 晶圓(Wafer)——原材料和生產(chǎn)平臺(tái)?? 晶圓是半導(dǎo)體制造的基礎(chǔ)材料,通常由高純度的硅
    的頭像 發(fā)表于 11-26 11:37 ?1812次閱讀

    ADS8691無(wú)法寫(xiě)入范圍選擇寄存器是哪里出了問(wèn)題?

    ;b100000; always@(posedge clk_200 or negedge rst_n)begin if(!rst_n)begin rvs_a&lt
    發(fā)表于 11-21 06:34

    公有IP與私有IP之間區(qū)別

    今天我們來(lái)分享私有IP地址和公有IP地址的有什么區(qū)別?主要從接入方式、特點(diǎn)以及各自的優(yōu)勢(shì)來(lái)說(shuō)明。
    的頭像 發(fā)表于 09-21 10:49 ?1077次閱讀

    環(huán)網(wǎng)柜、箱變之間區(qū)別是什么?

    蜀瑞創(chuàng)新小編告訴你:環(huán)網(wǎng)柜和箱變?cè)陔娏ο到y(tǒng)中雖然都扮演著重要的角色,但它們之間存在一些關(guān)鍵的區(qū)別,主要體現(xiàn)在功能、結(jié)構(gòu)、應(yīng)用場(chǎng)合以及額定電壓等方面。
    的頭像 發(fā)表于 08-07 17:16 ?2605次閱讀

    修改“u-boot”設(shè)備樹(shù)中的電源后,使用\"STM32CubeProgrammer\"下載會(huì)一直重復(fù)下載,為什么?

    ;; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-boot-on; }; v3v3
    發(fā)表于 07-23 07:57