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 u
clk = 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 r
always
0 ~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 T
initial 時clk_out=1
0 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 a
http://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& d
parameter SYS_CYCLE = 12;
7 u, ?/ A$ N# O, |. R/ K, y3 G
initial 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