Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 3701|回復: 6
打印 上一主題 下一主題

[問題求助] clock 的duty ratio問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-3-24 20:30:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果想要在testbench裡面完成一個1/4的duty的clock
. N* f! k& R8 m1 m' I: u: x# F8 Kcode要如何寫?
" w  ~& ?$ e/ q需要用迴圈寫嗎2 S8 H$ G9 t1 ~, N; t

! y& E% I9 |' }: w5 @; W0 {我知道 duty=50%是
. m7 Q9 k  Q2 Y! o& a) O5 O' o
4 o/ v* Q9 j" C& ]$ C: `always
# p/ O8 Q, M& `#20   clk=~clk;6 m' [/ N4 ^* U' p; R1 E: |
initial   begin
: I; ?, V# k. l# Cclk = 0;
9 J; {; e- ~& O; C& O3 Send
, Y% x( _) n* t) L/ J) J' \. f. Y& m7 l
[ 本帖最後由 小人發 於 2008-3-24 08:45 PM 編輯 ]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-3-25 00:56:22 | 只看該作者
因為duty=50% => #20   clk=~clk;3 U2 `* K) J. j$ {% Q8 _! ?
所以duty=25% => #10  clk=~clk;$ L$ I& _3 f8 [" R1 A& V
1/4的duty high , 3/4 的duty low ==> clk = 1;
: J% n3 M% K1 u所以這樣子改一下
1 `0 t# C# c5 ~. Salways
( i& a3 T% y$ p& j- ?#10   clk=~clk;
! D( T! S1 c- f4 {9 Jinitial   begin$ l4 Z1 R5 k% s% _# J+ A- i5 G1 J$ }
clk = 1;
2 @# r5 T- ]5 a3 d: l$ Mend' W6 b$ r3 i" O( C: {2 I$ R! {- \
試試看
3#
 樓主| 發表於 2008-3-25 15:48:22 | 只看該作者

回復 2# 的帖子

#20   clk=~clk;8 z! O1 Y* |2 W% ^- Z
#10  clk=~clk;4 g3 o. g! d' \! e  s( [1 P+ r

, v3 |9 P% L2 {7 Q版主寫的這兩個  應該都是duty=50%的頻率吧
+ u' J3 L% c: n只是出來的頻率不一樣( r( F1 e' J7 {" Y# u- a. M
應該沒辦法達成duty=25%. p# C: Y) K% e  Z) ^
還是說我沒看懂?
4#
發表於 2008-3-25 22:34:58 | 只看該作者
應該加一級counter , 以 clk 為 clock , clk_out 為輸出2 _& T  [/ H! y' `% t
initial 時clk_out=1
) r/ N6 e5 n& j- y' s+ U8 c& c& X1 |. j數到1把 clk_out=~clk_out
8 K! ~# p: \8 X6 B" ]4 S# f數到4就 reset 並  clk_out=~clk_out
5#
發表於 2008-3-26 07:46:52 | 只看該作者
你的問題應該跟這位大大類似
( q$ _% d( h( T/ y2 [1 Jhttp://www.chip123.com/phpBB/vie ... extra=page%3D5#zoom+ G& T9 a1 Y, {" K& C
這是另一種實現方法
6#
發表於 2008-3-26 17:39:32 | 只看該作者

delay運算問題

`timescale 1ns/10ps
. z; ^( w- D& f8 lparameter        SYS_CYCLE = 12;# T' D& n5 E+ G. }5 o4 W& @
initial begin
# v* [9 A: _7 P        sck = 0;1 D7 a( T1 g+ q. A/ }
        forever begin
, q  `: p3 I+ R" c2 U: N0 N          #(500/SYS_CYCLE) sck = ~sck;% H9 K& N6 w" S/ I* t. ?& x
        end: _7 h+ H  t5 h8 e% ?
end        $ _3 x& s2 V6 c7 o
結果sck為82ns的clock, 請問如何變成82.334ns的clock, 也就說怎麼做小數點的運算?
7#
發表於 2008-4-1 00:12:23 | 只看該作者
#(500/(SYS_CYCLE*0.1)) sck = ~sck;
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-14 01:25 PM , Processed in 0.110006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表