音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

再問verilog? always的觸發(fā)事件?急????/

作者:wag 欄目:EDA技術
再問verilog? always的觸發(fā)事件?急????/
always @(posedge sign_t or negedge sel_t)
begin
if(!sel_t)
  begin coun=TEMP;TEMP=0;end
else
  TEMP=TEMP+1;
end
就上面一點東西,我想在sign_t的高電平記數(shù)。在sel_t的下降沿停止記數(shù)?墒俏以贛AX-PLUS下仿真看到coun在很快就結束了,我不理解,我只在下降沿才觸發(fā),怎么下降沿還沒有到就把coun改變了呢?????????????

2樓: >>參與討論
littleou
好好學習一下verilog HDL吧
這種寫法是不被接受的

3樓: >>參與討論
lotuson
你把‘or negedge sel_t’去掉試一試
 
4樓: >>參與討論
wag
去掉,肯定不行?因為就是要檢測下降沿。
請問,這種寫法錯在哪兒?我想設計成異步復位方式。always@(posedge clk or negedge reset),請高人指教!!!!!!!!!!!!!!!!!!

5樓: >>參與討論
nj21ic
use reg  <= is the best!!!
use reg  <= is the best!!!

6樓: >>參與討論
xjg1111
re
樓主的語法應該雖然是沒有錯誤的,
但“我想在sign_t的高電平記數(shù)。在sel_t的下降沿停止記數(shù)”
這種要求是不是不合理的?你想想~~~sign_t,sel_t都是控制信號,時鐘是什么??
你的要求明確了代碼應該很好寫~~
always @(posedge sign_t or negedge sel_t)這種格式一般用于異步復位或置位的的形式。
還有,最好用非阻塞觸發(fā)的格式編碼~~“ <= ”

7樓: >>參與討論
wag
謝謝,大家的幫助。!
使用<=付值不行,我設計的本意是這樣的,sign_t是一個一個的脈沖信號,而sel_t是一個在sign_t有脈沖時的一個高電平信號,我想在sel_t為高電平的時候對sign_t記數(shù)它的脈沖個數(shù)。
sel_t   __________|----------|__________
sign_t  __________|-|_|-|_|-|___________
就是這樣的信號

8樓: >>參與討論
xjg1111
re
如果有你有一個全局時鐘(當然比sign_t的步率要高,2倍以上),那樣的話實現(xiàn)起來很容易,也符合同步設計的思想。
如果沒有的話,那只能以sign_t為時鐘進行計數(shù),用sel_t作為使能端。代碼應該很好寫。不要要看你什么時候將這個計數(shù)值讀走~~~

* - 本貼最后修改時間:2005-1-8 9:54:55 修改者:xjg1111

9樓: >>參與討論
wag
我也一直認為很簡單,但是就是搞不定????????
 
10樓: >>參與討論
xjg1111
re
呵呵,其實你的要求還不是很明確,
對于這個計數(shù)值,你想怎么輸出?在什么時候讀。
sel_t信號一變低就不計數(shù)了,一直輸出計數(shù)值?還是這個信號本身就會比計數(shù)脈沖持續(xù)的時間要長,在它變低前已經(jīng)把數(shù)據(jù)讀走了?一變低就把計數(shù)值清0.
這些都需要明確,另外做出的程序符號自己的時序要求即可。


11樓: >>參與討論
wag
謝謝xjg1111。。。。!
sign_t信號有脈沖的時候和sel_t為高電平是一樣寬的,其實本來不需要sel_t信號的,我為了記數(shù)方便想引入的一個信號,設計的主要目的是對一個連續(xù)不斷的sign_t脈沖信號記數(shù),而sign_t信號的特點是:一會有脈沖,一會是一直的低電平,但是脈沖的個數(shù)是不同的.sign_t就是這樣一個變化而連續(xù)的信號。

sign_t:__________|-|_|-|_|-|___________|-|_|_______|-|_|-|_____

我引入sel_t就是在sign_t為高電平的時候set_t也是高,這樣在sel_t的上升沿開始記數(shù),在sel_t的下降沿停止記數(shù)并把數(shù)據(jù)(記數(shù)脈沖個數(shù)讀走),同時計數(shù)器清零等待下一次的開始。

12樓: >>參與討論
xjg1111
那這樣就容易了~~~
reg [n:0] coun;//n為你所需要的位寬
always @(posedge sign_t or negedge sel_t)
begin
if(!sel_t)
  coun<=0;
else
  coun<=coun+1;
end

con就為輸出,這樣你必段在sel_t變低前把coun讀走就行了,否則讀出的是0

13樓: >>參與討論
xjg1111
re
如果你有一個高速的全局時鐘的話,最好采用一個時鐘的同步設計,
通過檢測sign_t的上升沿來實現(xiàn)計數(shù)。
當實如果你用CPLD,這樣應該能實現(xiàn)的了。

14樓: >>參與討論
wag
很謝謝xjg1111你!!!!!!!
我也想在sel_t變低前把coun讀走,但是我怎么知道哪個時候是它要變低呢?我覺得你的代碼和我的意思是一樣的(只是付值方式不一樣)。

15樓: >>參與討論
wag
我已經(jīng)搞定,加一個變量,欺騙編譯器
 
16樓: >>參與討論
nj21ic
老兄您竟然沒加變量.
 
17樓: >>參與討論
wag
怎么回沒有加呢?只是在加了一個不過這樣資源的耗用就多了!
 
18樓: >>參與討論
風間逝
我的...
always @(posedge sign_t or posedge sel_t)
    begin
        if(sel_t == 1)   //檢查sel_t
            begin
            coun=TEMP;
            TEMP=0;
            end
        else
            TEMP=TEMP+1;  //記數(shù)
    end

//下面是我寫的模60的計數(shù)器,帶進位輸出和異步清0

MODULE M60Count (clk, clr, en, out, carry);

    input    clk, clr, en;
    OUTPUT    carry;
    OUTPUT    [7:0]out;

    reg [7:0]Count;
    reg Carry;
    
    always @(posedge clk or posedge clr) begin
        if (clr == 1) begin
            Count = 0;
        end else begin
            Count = Count + 1;
            Carry = 0;
            if (Count == 60) begin
                Count = 0;
                Carry = 1;
            end
        end
    end

endMODULE

19樓: >>參與討論
xjg1111
re
樓上的coding不好~
為什么都喜歡用阻塞觸發(fā)?
同一塊中分時做這么多事兒~~~


* - 本貼最后修改時間:2005-1-11 19:32:08 修改者:xjg1111

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
誰有CPLD芯片EPM7128SLC84的開發(fā)原理圖給我一份!
下載電纜還沒外接電源就有1v的電壓對嗎?
FPGA與CPLD的區(qū)別
verilog 不理解!
問一個初級問題?CPLD的PIA?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號