Chip123 科技應用創新平台
標題:
clock 的duty ratio問題
[打印本頁]
作者:
小人發
時間:
2008-3-24 08:30 PM
標題:
clock 的duty ratio問題
如果想要在testbench裡面完成一個1/4的duty的clock
6 j0 W% I, I/ E( ^/ r0 a% L
code要如何寫?
( x1 U! b+ \' I6 r& ^, N: `
需要用迴圈寫嗎
5 c" D/ ]- C& J! G) y
+ H% w% ~ j2 z0 p1 l% P2 W
我知道 duty=50%是
$ N' U d6 o! ~! Y$ d' i1 i
! V" B$ ?. e- F9 T3 S6 m& m
always
$ q, @6 [5 c) a0 J! Z3 T7 m
#20 clk=~clk;
4 ]) N. w, Q- J* [" ?& G! T
initial begin
- ^. n. N Z5 D0 ~
clk = 0;
8 N/ b& H$ \7 G8 {" K8 d3 @! p
end
( S, E1 ^7 }6 c3 X' G: b. B- z
: N1 _' [+ Z8 ^. V
[
本帖最後由 小人發 於 2008-3-24 08:45 PM 編輯
]
作者:
masonchung
時間:
2008-3-25 12:56 AM
因為duty=50% => #20 clk=~clk;
& w4 G7 C, F3 p. t5 ^9 v; w
所以duty=25% => #10 clk=~clk;
}6 c; N1 ^, ~& G7 A8 a. o
1/4的duty high , 3/4 的duty low ==> clk = 1;
* p$ b% X% }6 K$ `) J
所以這樣子改一下
9 J3 \" J/ {, q/ s
always
9 }# P% V# i" |5 C8 w" W2 P$ N
#10 clk=~clk;
# |2 {! t) C9 C% `! R& {
initial begin
$ Y- w, f+ g: _( f: l
clk = 1;
/ U! I' @$ U9 \9 [
end
) p( ^9 ~5 \ L: @5 z) j4 \
試試看
作者:
小人發
時間:
2008-3-25 03:48 PM
標題:
回復 2# 的帖子
#20 clk=~clk;
$ j2 F7 H, H+ f; Y
#10 clk=~clk;
- c0 ^" C3 h/ O3 R0 b' a' |# \' _7 O
! P$ d2 L& z. }9 y( ~3 L
版主寫的這兩個 應該都是duty=50%的頻率吧
/ D9 m6 ]- [* i- j- m' o8 X
只是出來的頻率不一樣
# `/ C) B' a1 P( L) A
應該沒辦法達成duty=25%
( q& I+ b+ j4 k
還是說我沒看懂?
作者:
masonchung
時間:
2008-3-25 10:34 PM
應該加一級counter , 以 clk 為 clock , clk_out 為輸出
! H0 G# i9 G' [8 T1 W
initial 時clk_out=1
" N, D1 K8 Z6 T: a1 ?
數到1把 clk_out=~clk_out
) \- w u+ y3 R1 Y% P
數到4就 reset 並 clk_out=~clk_out
作者:
masonchung
時間:
2008-3-26 07:46 AM
你的問題應該跟這位大大類似
) P5 ?' M! `, H$ @3 M" ^
http://www.chip123.com/phpBB/vie ... extra=page%3D5#zoom
! R% V* S Y2 {: i) Q+ Y) g
這是另一種實現方法
作者:
klim
時間:
2008-3-26 05:39 PM
標題:
delay運算問題
`timescale 1ns/10ps
# p4 A7 f& n- u+ J
parameter SYS_CYCLE = 12;
. e c F, R" X" S" j/ { a
initial begin
$ _6 R% g' b x: ~' Q
sck = 0;
/ c f& @0 X9 t* h, ? W
forever begin
, e- W: L* E9 S: v8 |
#(500/SYS_CYCLE) sck = ~sck;
' P5 J( K& q) J" ^1 _
end
- [$ C4 _! K' p& h% y
end
0 w& w& _. b) |. v! }
結果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