看板Electronics
標 題Re: 請問關於verilog語法中有可以偵測信號變化的指 …
發信站交大資科_BBS (Mon Feb 13 20:21:00 2006)
轉信站ptt!ctu-reader!Spring!feeder.seed.net.tw!news.ntu!mars.scc.ntnu!ctu-pe
==> 在 [email protected] (要減肥囉^^) 的文章中提到:
> ※ 引述《devilsaint ( )》之銘言:
> : 大概是類似VHDL中的屬性EVENT的用
> : 就是偵測某個其他信號的值有發生改變時便在輸出產生一個pulse
> : _______|﹉|__(持續一個週期後又回到原本的值),這該如何麼寫呢?
always @(clk)
-> both edge
> clk : system clock
> event : 偵測的訊號
> out : 結果
> always@(posedge clk)
> if(event==1)
> out<=1;
> else
> out<=0;
> 上面是個簡單的例子... 如果你要event=0 或是 (event從0-->1 和1-->0)
> 都讓out=1也是屬於類似的寫法 留給你去思考囉...
> 不過在真正的chip中 我們應該比較喜歡下面的寫法
> always@(posedge clk or negedge reset_n)
> if(~reset_n)
> out<=0;
> else
> if(event)
> out<=1;
> else
> out<=0;
> 原因是因為一般來說 我們希望整個chip中的DFF 能夠一致
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
1F:推 Jkson:這樣的寫法你確定有這樣的電路?? 02/13 23:43
2F:→ Jkson:還有一般用clk去trig的寫法 我都希望它合成 DFF 02/13 23:45
3F:→ Jkson:如果是單純always@( a or b)這樣的電路會是一個組合電路 02/13 23:46
4F:→ Jkson:所以一般用clk去trig的寫法中不會這樣用 02/13 23:47
5F:推 fallenball:在這裡回他看不到喔:P 02/14 00:23