Chip123 科技應用創新平台

標題: clock 的duty ratio問題 [打印本頁]

作者: 小人發    時間: 2008-3-24 08:30 PM
標題: clock 的duty ratio問題
如果想要在testbench裡面完成一個1/4的duty的clock$ w6 I1 F4 n5 c/ t# Z5 H( _2 b! z
code要如何寫?* v" `. R5 x) a- @! \2 x# Z; M* e
需要用迴圈寫嗎5 J- c' M: X2 h9 B5 q

3 @8 c9 n9 f& G/ l我知道 duty=50%是' G3 j" W8 |: C1 o
! j/ f  k% Y9 m$ N. J; }
always
) t9 ~9 M! U0 W5 l% _#20   clk=~clk;* _1 ]1 U/ E8 c) Z
initial   begin
+ _6 |0 l# T1 E- X7 ?0 uclk = 0;! g1 k6 v1 H, l; l
end* f+ M* B. l+ r1 @& S
+ l) H- K% [$ Z( Q, n( L
[ 本帖最後由 小人發 於 2008-3-24 08:45 PM 編輯 ]
作者: masonchung    時間: 2008-3-25 12:56 AM
因為duty=50% => #20   clk=~clk;: P' u# C; O  Z' f/ k6 v
所以duty=25% => #10  clk=~clk;
  A' D2 Y9 ^! l8 |. l5 Z( [1/4的duty high , 3/4 的duty low ==> clk = 1;/ n7 N! G  e  p0 |: x# i. w
所以這樣子改一下
0 M5 _2 p1 O, {4 ralways0 ~2 P! k5 @" l6 F; f: H% y& {3 U
#10   clk=~clk;) c- @1 ^. `9 G, Y9 b2 V1 V
initial   begin
1 _' i9 M4 G' [clk = 1;6 Y/ x8 T5 l% T' N8 Q9 c
end$ U- R. H2 x  S' q6 r7 \
試試看
作者: 小人發    時間: 2008-3-25 03:48 PM
標題: 回復 2# 的帖子
#20   clk=~clk;
0 s' o- |- A$ Y2 Y' Q. M9 Y% E/ n7 Z; T#10  clk=~clk;
. ]6 k' g9 K" k% |
- ^8 t) x/ |. ?: l版主寫的這兩個  應該都是duty=50%的頻率吧
4 V0 |$ m4 J' Y1 l3 V( J  ^" n只是出來的頻率不一樣( w9 i  e5 Z1 i; e) u2 M' n
應該沒辦法達成duty=25%
& R% R& M' k& Y% Y: |還是說我沒看懂?
作者: masonchung    時間: 2008-3-25 10:34 PM
應該加一級counter , 以 clk 為 clock , clk_out 為輸出
2 |5 K( s# ~& n' \2 Tinitial 時clk_out=10 U  A( g/ R& @: @& Z1 @$ ^: T5 L  M
數到1把 clk_out=~clk_out( P' a5 I% D/ X5 ?1 K, W- S) c
數到4就 reset 並  clk_out=~clk_out
作者: masonchung    時間: 2008-3-26 07:46 AM
你的問題應該跟這位大大類似
% Q3 F% o. l/ z0 ahttp://www.chip123.com/phpBB/vie ... extra=page%3D5#zoom
) D& x5 q* y2 X0 A7 v9 K1 v- w; A2 w這是另一種實現方法
作者: klim    時間: 2008-3-26 05:39 PM
標題: delay運算問題
`timescale 1ns/10ps
% O/ l4 R7 \1 x5 L+ c& dparameter        SYS_CYCLE = 12;
7 u, ?/ A$ N# O, |. R/ K, y3 Ginitial begin
5 b1 J- O7 ^6 K6 ^4 I- \' ]        sck = 0;/ b! `2 }' j' p) [% O8 n& b
        forever begin
; T1 P# P3 D$ U/ S+ C          #(500/SYS_CYCLE) sck = ~sck;) ]( t5 U7 o9 K
        end) `# i& u* X& @! F
end       
- v5 O7 ^0 i/ m$ F2 P2 q6 m# s" X! a結果sck為82ns的clock, 請問如何變成82.334ns的clock, 也就說怎麼做小數點的運算?
作者: jarodz    時間: 2008-4-1 12:12 AM
#(500/(SYS_CYCLE*0.1)) sck = ~sck;




歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/) Powered by Discuz! X3.2