在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Verilog中clk為什么要用posedge,而不用negedge

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 作者:FPGA設(shè)計(jì)論壇 ? 2022-08-31 15:51 ? 次閱讀

取某個(gè)信號(hào)的上升沿或下降沿信號(hào)

取一個(gè)信號(hào)的上升沿或下降沿信號(hào),可以通過將信號(hào)delay后,然后將原信號(hào)和delay信號(hào),通過不同的與非操作,獲取上升沿信號(hào)或下降沿信號(hào): 階段一: reg delay; // delay信號(hào) always @ ( posedge clk or negedge rstn ) if( !rstn ) delay <= 0; else delay <= orig;? ?// orig是原信號(hào) wire pos_signal = orig && ( ~delay ); // 原信號(hào)上升沿位置處產(chǎn)生的pulse信號(hào) wire neg_signal = ( ~orig ) && delay; // 原信號(hào)下降沿位置處產(chǎn)生的pulse信號(hào) 階段二: 上述操作會(huì)存在亞穩(wěn)態(tài)問題,并且得到的上升沿信號(hào)pos_signal和下降沿信號(hào)neg_signal無法被原采樣時(shí)鐘clk采樣。正確做法是,先將原信號(hào)用采樣時(shí)鐘delay 2次(打兩拍),得到和采樣時(shí)鐘同時(shí)鐘域的信號(hào)delay2,然后再按上述方法獲取上升沿和下降沿信號(hào),這時(shí)得到的上升沿或下降沿就可以被原采樣時(shí)鐘采樣。 例句如下: reg ori_signal;// 需取上升沿或下降沿的原信號(hào) reg delay1; reg delay2; always @ ( posedge clk or negedge rstn ) if( !rstn ) delay1 <= 0; else delay1 <= ori_signal;? ? always @ ( posedge clk or negedge rstn ) if( !rstn ) delay2 <= 0; else delay2 <= delay1;? // delay2 已與clk同域 reg delay3; always @ ( posedge clk or negedge rstn ) if( !rstn ) delay3 <= 0; else delay3 <= delay2;? ? wire pos_signal = delay2 && ( ~delay3 ); // 原信號(hào)上升沿位置處產(chǎn)生的pulse信號(hào) wire neg_signal = ( ~delay2 ) && delay3; // 原信號(hào)下降沿位置處產(chǎn)生的pulse信號(hào) 上升沿電路如下:465c7812-2901-11ed-ba43-dac502259ad0.jpg ? ? ? ?注意:前兩個(gè)觸發(fā)器的運(yùn)用就是起同步作用,將某個(gè)信號(hào)同步到采樣時(shí)鐘域,以后要重點(diǎn)注意使用。 階段三: 用階段二的語句會(huì)比較繁瑣,可以用下述語句簡化: reg[2:0] delay; always @ ( posedge clk or negedge rstn ) if( !rstn ) delay <= 0; else delay <= { delay[1:0], ori_signal} ; // ori_signal是原信號(hào) wire pos_signal = delay[1] && ( ~delay[2] ); // 原信號(hào)上升沿位置處產(chǎn)生的pulse信號(hào) wire neg_signal = ( ~delay[1] ) && delay[2]; // 原信號(hào)下降沿位置處產(chǎn)生的pulse信號(hào)

Verilog中clk為什么要用posedge,而不用negedge

posedge是上升沿,電平從低到高跳變

negedge是下降沿,電平從高到低跳變

對于典型的counter邏輯

always @(posedge sys_clk or negedge sys_rst_n) begin

if(!sys_rst_n)

counter <= 24'd0;//十進(jìn)制0

else if(counter < led_time) begin

flag_counter = 1'b0;

counter <= counter + 1'b1;

end

else begin

counter <= 24'd0;

flag_counter = 1'b1;

end

end

clk為什么要用posedge,而不用negedge呢?

一般情況下,系統(tǒng)中統(tǒng)一用posedge,避免用negedge,降低設(shè)計(jì)的復(fù)雜度,可以減少出錯(cuò)。

在ModelSim仿真中,時(shí)鐘是很嚴(yán)格的,但是在真實(shí)的晶振所產(chǎn)生的clock卻是不嚴(yán)格的,比如高電平和低電平的時(shí)間跨度不一樣,甚至非周期性的微小波動(dòng)。如果只使用posedge,則整個(gè)系統(tǒng)的節(jié)拍都按照clock上升沿對齊,如果用到了negedge,則系統(tǒng)的節(jié)拍沒有統(tǒng)一到一個(gè)點(diǎn)上。上升沿到上升沿肯定是一個(gè)時(shí)鐘周期,但是上升沿到下降沿卻很可能不是半個(gè)周期。這都會(huì)出現(xiàn)問題。

FPGA特有的東西:Global CLK。FPGA內(nèi)部有專門的CLK“線”,和一般的邏輯門的走法不一樣,目的是為了保證整個(gè)FPGA片內(nèi)的時(shí)鐘一致,這個(gè)東西就叫GlobalCLK

467e5dce-2901-11ed-ba43-dac502259ad0.png

審核編輯 :李倩


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

    關(guān)注

    28

    文章

    1364

    瀏覽量

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

    關(guān)注

    14

    文章

    2029

    瀏覽量

    61789
  • 上升沿
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1851

原文標(biāo)題:Verilog學(xué)習(xí)筆記

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

收藏 人收藏

    評(píng)論

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

    尋找verilog高手,有報(bào)酬

    我采集了一塊電路板正常工作時(shí)的數(shù)據(jù),基于這些數(shù)據(jù)我想用EPM7128slc84-15(sys_clk:50Mhz)測試電路板,尋求一位verilog高手,有償
    發(fā)表于 03-08 16:31

    Verilogsigned和$signed()的用法

    嗎?其實(shí)不是的,因?yàn)橛蟹?hào)數(shù)和無符號(hào)數(shù)據(jù)的加法強(qiáng)結(jié)果和乘法器結(jié)構(gòu)是一樣的,signed的真正作用是決定如何對操作數(shù)擴(kuò)位的問題。 2、verilog的加法和乘法操作前,會(huì)先對操作數(shù)據(jù)擴(kuò)位成結(jié)果相同的位寬,然后進(jìn)行加法或者乘法處理。比如a/b都為4位數(shù)據(jù),c為5位數(shù)據(jù),c
    的頭像 發(fā)表于 02-17 17:47 ?431次閱讀
    <b class='flag-5'>Verilog</b><b class='flag-5'>中</b>signed和$signed()的用法

    請問AFE4400為什么要用22位AD轉(zhuǎn)換不用16位?

    AFE4400為什么要用22位AD轉(zhuǎn)換不用16位?除了精度的原因,還有什么別的原因嗎?
    發(fā)表于 12-24 06:53

    Verilog 電路仿真常見問題 Verilog 在芯片設(shè)計(jì)的應(yīng)用

    。然而,在實(shí)際應(yīng)用,設(shè)計(jì)師可能會(huì)遇到各種問題,這些問題可能會(huì)影響仿真的準(zhǔn)確性和設(shè)計(jì)的可靠性。 Verilog電路仿真常見問題 仿真環(huán)境的搭建問題 仿真環(huán)境的搭建是進(jìn)行Verilog仿真的第一步。設(shè)計(jì)師需要選擇合適的仿真工具,并
    的頭像 發(fā)表于 12-17 09:53 ?969次閱讀

    Verilog 與 ASIC 設(shè)計(jì)的關(guān)系 Verilog 代碼優(yōu)化技巧

    Verilog與ASIC設(shè)計(jì)的關(guān)系 Verilog作為一種硬件描述語言(HDL),在ASIC設(shè)計(jì)扮演著至關(guān)重要的角色。ASIC(Application Specific Integrated
    的頭像 發(fā)表于 12-17 09:52 ?787次閱讀

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

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

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

    Verilog 與 VHDL 比較 1. 語法和風(fēng)格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學(xué)習(xí)曲線較平緩。它支持結(jié)構(gòu)化編程,代碼更直觀,易于
    的頭像 發(fā)表于 12-17 09:44 ?1273次閱讀

    如何自動(dòng)生成verilog代碼

    介紹幾種自動(dòng)生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?846次閱讀
    如何自動(dòng)生成<b class='flag-5'>verilog</b>代碼

    Verilog硬件描述語言參考手冊

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

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

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

    FPGA Verilog HDL有什么奇技巧?

    時(shí)賦初值,不用復(fù)位賦初值,當(dāng)整個(gè)系統(tǒng)需要復(fù)位重啟時(shí),F(xiàn)PGA 只能通過重新上電來獲取初值,這可能比較麻煩甚至在某些系統(tǒng)不可實(shí)現(xiàn)。 另外,在 RTL 文件不能使用 initial
    發(fā)表于 09-12 19:10

    如何動(dòng)態(tài)修改ssid和密碼不破壞mdf的原有關(guān)聯(lián)?

    你好,在wifi下面,使用mdf組網(wǎng)以后,因?yàn)槲覀兊目蛻舴稚ⅲ麄兊穆酚蓅sid和pwd都不一樣,以前試過修改mdf的一個(gè),但是發(fā)現(xiàn),沒有用。修改一個(gè)其他也要重新進(jìn)行配網(wǎng)關(guān)聯(lián)。請問怎么動(dòng)態(tài)修改這個(gè)ssid和pwd,而且不用動(dòng)態(tài)重新關(guān)聯(lián)?因?yàn)槲覀?/div>
    發(fā)表于 06-28 09:43

    Verilog:【8】基于FPGA實(shí)現(xiàn)SD NAND FLASH的SPI協(xié)議讀寫

    ,seg_data_0}) ); always@(posedge clk or negedge rst_n) begin if(rst_n == 1\'b0) wr_cnt <= 10\'d0
    發(fā)表于 06-21 17:58

    關(guān)于Verilog的一些基本語法

    一、了解不同的變量類型 ①、wire和reg的區(qū)別 verilog的變量類型有wire類型和reg類型。在實(shí)際的電路wire類型對應(yīng)的就是一根導(dǎo)線,只存在傳輸?shù)淖饔谩?b class='flag-5'>而reg類型在
    發(fā)表于 05-31 18:31

    關(guān)于FX3同步Slave FIFO非突發(fā)傳輸?shù)囊蓡柷蠼?/a>

    的嗎?比如下面的Verilog代碼片段: always@(posedge clk)begin ... //該時(shí)鐘沿之前的兩個(gè)時(shí)鐘周期SLRD為低 if(flag==1\'d1)//如果對應(yīng)地址的flag為高,則采樣數(shù)據(jù)總線 da
    發(fā)表于 05-31 06:28
    主站蜘蛛池模板: 婷婷激情狠狠综合五月 | 视色4se成人午夜精品 | 视频一区二区在线观看 | 大黄网站在线观看 | 欧美性猛交aa一级 | 日本骚视频 | 日韩国产片 | 在线免费观看h视频 | 国产精品永久免费自在线观看 | 看屁屁www视频免费观看 | 九草伊人 | 手机看片福利在线 | 欧美色视频日本片高清在线观看 | 狠狠色噜噜狠狠狠狠黑人 | 丁香激情六月 | 成人欧美一区二区三区视频不卡 | 国产干美女 | 国产色丁香久久综合 | 毛片你懂的 | 亚洲午夜久久久久久噜噜噜 | 免费看一毛一级毛片视频 | 91在线网址 | 四虎精品视频 | 亚洲一区二区三区免费视频 | 午夜爱爱网站 | 福利一区在线观看 | 日本污视频网站 | 欧美一级特黄乱妇高清视频 | 日本大黄在线观看 | 97人人视频 | 欧美色图色就是色 | 欧美五月婷婷 | 成年男人永久免费看片 | 韩国三级hd中文字幕 | 亚洲色图日韩精品 | 亚洲精品理论 | 欧美人交性视频在线香蕉 | 赛罗奥特曼银河帝国普通话免费版 | 国产一线在线观看 | 电影天堂在线观看三级 | 在线播放国产不卡免费视频 |