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

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

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

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

異步復(fù)位寄存器的0時(shí)刻是如何進(jìn)行賦值的呢?

ruikundianzi ? 來源:IC的世界 ? 2023-09-07 09:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Verilog規(guī)范告訴我們:negedge 事件指的是如表43所示的跳變,發(fā)生negedge事件時(shí)才會(huì)執(zhí)行操作。那么0時(shí)刻,是如何執(zhí)行操作的呢?

鴿子在Verilog標(biāo)準(zhǔn)中并沒有找到0時(shí)刻賦值明確的說明。如下代碼中,0時(shí)刻,rst_n為0,clk 處于低電平,那么cfg_mode的數(shù)值是多少呢?

always@(posedgeclkornegedgerst_n)
    if (!rst_n) begin
      cfg_mode                   <= 1'b0;
    end else   begin
      cfg_mode                   <= cfg_mode_in               ;
end

實(shí)際電路中:

在芯片上電之前,芯片的chip_reset一直處于復(fù)位狀態(tài),因此導(dǎo)致芯片內(nèi)部的rst_n一直為0,且芯片內(nèi)部PLL還沒有工作,也沒有產(chǎn)生clk,此時(shí)沒有任何信號(hào)的跳變,即clk沒有跳變,rst_n一直為0也沒有跳變。在實(shí)際電路中,從D觸發(fā)器的結(jié)構(gòu)圖可以看到,當(dāng)復(fù)位R一直是1時(shí),即使時(shí)鐘信號(hào)不跳變,Q端輸出也是0。

e1cbee1c-4ca1-11ee-a25d-92fbcf53809c.pnge1f6fd50-4ca1-11ee-a25d-92fbcf53809c.pnge217c45e-4ca1-11ee-a25d-92fbcf53809c.png

VCS在0時(shí)刻賦值

e22d4004-4ca1-11ee-a25d-92fbcf53809c.png

VCS 在0時(shí)刻會(huì)執(zhí)行一次always塊的賦值,而不是等到信號(hào)跳變。

e2528d78-4ca1-11ee-a25d-92fbcf53809c.png

module zero_time_test;
    reg rst_n;
 
    initial begin
        rst_n = 0;
        #20 rst_n = 1;
    end
 
    always@(posedge rst_n) begin: always_case1
        $display("The always case1 executed @Time %f", $time());
    end
 
    always@(negedge rst_n) begin: always_case2
        $display("The always case2 executed @Time %f", $time());
    end
 
    always@(rst_n) begin: always_case3
        $display("The always case3 executed @Time %f", $time());
    end
 
endmodule
e2640f12-4ca1-11ee-a25d-92fbcf53809c.png
module zero_time_test;
    reg rst_n;
 
    initial begin
        rst_n = 1;
        #20 rst_n = 0;
    end
 
    always@(posedge rst_n) begin: always_case4
        $display("The always case4 executed @Time %f", $time());
    end
 
    always@(negedge rst_n) begin: always_case5
        $display("The always case5 executed @Time %f", $time());
    end
 
    always@(rst_n) begin: always_case6
        $display("The always case6 executed @Time %f", $time());
    end
 
endmodule
e279355e-4ca1-11ee-a25d-92fbcf53809c.png ?






審核編輯:劉清

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124514
  • D觸發(fā)器
    +關(guān)注

    關(guān)注

    3

    文章

    173

    瀏覽量

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

    關(guān)注

    0

    文章

    128

    瀏覽量

    17614
  • PLL電路
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    6813
  • Verilog語(yǔ)言
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    8555

原文標(biāo)題:異步復(fù)位寄存器:0時(shí)刻賦值

文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    常見的FPGA復(fù)位設(shè)計(jì)

    在FPGA設(shè)計(jì)中,當(dāng)復(fù)位整個(gè)系統(tǒng)或功能模塊時(shí),需要將先關(guān)寄存器被清零或者賦初值,以保證整個(gè)系統(tǒng)或功能運(yùn)行正常。在大部分的設(shè)計(jì)中,我們經(jīng)常用“同步復(fù)位”或“異步
    發(fā)表于 05-14 14:49 ?2753次閱讀
    常見的FPGA<b class='flag-5'>復(fù)位</b>設(shè)計(jì)

    寄存器reg延遲問題

    各位看官好,最近小弟遇到了一個(gè)寄存器延遲的問題,雖然不是特別重要,但還是想弄明白,請(qǐng)各位看官指導(dǎo)。具體如下: 對(duì)于一個(gè)只有clk、reset、data_in、data_out的模,當(dāng)我們用如下
    發(fā)表于 11-14 10:10

    簡(jiǎn)談同步復(fù)位異步復(fù)位

    關(guān)鍵,必須要按住一會(huì)會(huì)。 那下面咱們就來詳細(xì)聊聊這三種類型。 一、無復(fù)位 沒見過這樣寫代碼的,竟然沒有復(fù)位,老師都說數(shù)字電路離不開復(fù)位的,沒有復(fù)位,
    發(fā)表于 01-30 11:01

    AD5410使用菊花鏈工作方式時(shí),上電后如何進(jìn)行軟件復(fù)位和控制寄存器配置?

    AD5410使用菊花鏈工作方式時(shí),上電后如何進(jìn)行軟件復(fù)位和控制寄存器配置?
    發(fā)表于 08-06 07:04

    單片機(jī)如何給寄存器賦值

    2020-11-15單片機(jī)中在給寄存器賦值時(shí),常常寫data|=0x03不直接寫data=0x03,是因?yàn)榍罢呖梢员Wo(hù)寄存器上其它位的值,只
    發(fā)表于 01-24 07:52

    什么樣的寄存器不需要復(fù)位?哪些寄存器是CPU能夠訪問的

    地址。當(dāng)CPU發(fā)一個(gè)0x46018000的地址下來,那么硬件會(huì)自動(dòng)根據(jù)它的基地址判斷它是去訪問I2C的。然后根據(jù)偏移地址便可以知道是訪問I2C的哪一個(gè)寄存器了。3、寄存器復(fù)位需不需要
    發(fā)表于 07-08 17:43

    AD5410使用菊花鏈工作方式時(shí),上電后如何進(jìn)行軟件復(fù)位和控制寄存器配置?

    AD5410使用菊花鏈工作方式時(shí),上電后如何進(jìn)行軟件復(fù)位和控制寄存器配置?
    發(fā)表于 12-11 06:26

    U0IIR寄存器原理下載

    U0IIR寄存器原理下載 U0IIR寄存器 BIT00:有中斷 1:沒有中斷 BI
    發(fā)表于 03-10 14:13 ?95次下載

    寄存器尋址方式

    寄存器尋址方式   寄存器尋址是對(duì)由指令選定的工作寄存器(R0--R7)進(jìn)行讀/寫,由指令操作碼字節(jié)的最低3位指明所尋址的工作
    發(fā)表于 03-14 15:29 ?2959次閱讀

    何進(jìn)行寄存器名稱和地址的映射分析

    首先要清楚的一點(diǎn),所有操作,最終目的都是操作寄存器一,對(duì)比51單片機(jī)和STM32對(duì)寄存器的操作
    發(fā)表于 06-21 17:43 ?2次下載
    如<b class='flag-5'>何進(jìn)行</b><b class='flag-5'>寄存器</b>名稱和地址的映射分析

    STM32復(fù)位來源(寄存器版)

    一篇很簡(jiǎn)單,有必要了解的文章 - STM32復(fù)位來源(寄存器版)
    的頭像 發(fā)表于 03-14 14:13 ?1.2w次閱讀
    STM32<b class='flag-5'>復(fù)位</b>來源(<b class='flag-5'>寄存器</b>版)

    Cortex-M3 內(nèi)部寄存器

    寄存器組R0-R12R0-R12,通用寄存器;R0-R12都是32位通用寄存器,用于數(shù)據(jù)操作;但是絕大多數(shù)16位Thumb指令只能訪問R
    發(fā)表于 11-26 16:21 ?39次下載
    Cortex-M3 內(nèi)部<b class='flag-5'>寄存器</b>

    配置STM32寄存器控制GPIO點(diǎn)亮LED

    STM32點(diǎn)亮LED 寄存器方式IO簡(jiǎn)介1、每個(gè)IO可以自由編程,但是IO口寄存器必須按照32位字被訪問。2、每個(gè)IO端口都有7個(gè)寄存器來控制。CRL 【0-7】端口配置
    發(fā)表于 01-13 16:15 ?3次下載
    配置STM32<b class='flag-5'>寄存器</b>控制GPIO點(diǎn)亮LED

    異步復(fù)位同步釋放問題解析

    使用 2 個(gè)帶異步復(fù)位寄存器,D端輸入邏輯 1(VCC)。
    的頭像 發(fā)表于 06-26 16:39 ?1905次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>同步釋放問題解析

    對(duì)于多位的異步信號(hào)如何進(jìn)行同步?

    對(duì)于多位的異步信號(hào)如何進(jìn)行同步異步信號(hào)(Asynchronous Signals)是指系統(tǒng)中發(fā)生的事件或者信號(hào),它們的發(fā)生時(shí)間不可預(yù)測(cè)、不可控制,與其他的進(jìn)程、線程以及系統(tǒng)中的各
    的頭像 發(fā)表于 09-12 11:18 ?1823次閱讀