Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-3-24 20:30:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果想要在testbench裡面完成一個1/4的duty的clock
0 N7 Y! M+ K6 _% M# F" \% ~code要如何寫?
$ q0 U  }: U% o& K4 {" q需要用迴圈寫嗎
# ?4 [% o" W- {& ~* Y1 b
9 J7 {# P9 ^4 L我知道 duty=50%是
( V3 q2 D1 ~' ~- k& b3 @
& S+ I" E' X* K  d+ @4 x: M# ialways# Z5 D6 n1 S! J
#20   clk=~clk;: k" }' P8 \9 m
initial   begin
! J) ?1 B6 s# O, C- y9 m9 iclk = 0;7 z! e$ o8 q3 P1 n9 c
end
3 Y  {) _6 W4 j* l, r, f5 l. c
) n6 ^- t4 A! E6 E2 X1 F[ 本帖最後由 小人發 於 2008-3-24 08:45 PM 編輯 ]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-3-25 00:56:22 | 只看該作者
因為duty=50% => #20   clk=~clk;
, r; q" G4 [5 ?0 d* S- J所以duty=25% => #10  clk=~clk;
+ F, z9 D& g1 r1/4的duty high , 3/4 的duty low ==> clk = 1;
- w1 s% c9 P$ A+ ?( F所以這樣子改一下+ l  F* M! \. w: Z! w/ ~
always5 y& [# t- a7 a
#10   clk=~clk;
0 C% t0 Y% s9 T* ^5 N$ m) L" minitial   begin
: q" X3 X2 ~4 P; e- ^6 Sclk = 1;* H" z- D2 B% y. Q" A  x* c
end/ S% j! C8 p  h" E* Z; I
試試看
3#
 樓主| 發表於 2008-3-25 15:48:22 | 只看該作者

回復 2# 的帖子

#20   clk=~clk;. p# c$ j1 y+ g7 N' P
#10  clk=~clk;( ?4 ]0 G+ E3 |1 i( j. [5 U5 ?
" V2 D& B- S8 _4 E, ]- ]* W) O
版主寫的這兩個  應該都是duty=50%的頻率吧
. _5 k) E$ I8 O8 |$ G( z  W8 l只是出來的頻率不一樣! _( }) B2 u& q9 L6 |
應該沒辦法達成duty=25%
) Q; O! V' v& p& Q: `, e( R8 N! z0 T還是說我沒看懂?
4#
發表於 2008-3-25 22:34:58 | 只看該作者
應該加一級counter , 以 clk 為 clock , clk_out 為輸出  t9 Q" x6 W2 a& w. O0 _
initial 時clk_out=1. ?% Y9 _3 }7 y, s
數到1把 clk_out=~clk_out, A* K$ L, G2 ]- Y) f3 \5 J
數到4就 reset 並  clk_out=~clk_out
5#
發表於 2008-3-26 07:46:52 | 只看該作者
你的問題應該跟這位大大類似7 o) p' ~! ?# T5 `+ f; s. Z
http://www.chip123.com/phpBB/vie ... extra=page%3D5#zoom7 U9 L% J" R+ P* ^7 T1 ^
這是另一種實現方法
6#
發表於 2008-3-26 17:39:32 | 只看該作者

delay運算問題

`timescale 1ns/10ps
6 c1 m  @# D4 e. hparameter        SYS_CYCLE = 12;
* w  D+ B0 h/ @  [initial begin5 u1 k/ |8 S' u% J1 q' V! P; o
        sck = 0;, K( `: C" `& j6 O, [& i
        forever begin7 ~6 E% ]8 P; E& d  _; S; W
          #(500/SYS_CYCLE) sck = ~sck;  y" b+ z5 a: d% Z8 F1 a
        end
5 {+ r- O" p& J. nend       
4 [# J# A% p  ]' z* N2 q3 G結果sck為82ns的clock, 請問如何變成82.334ns的clock, 也就說怎麼做小數點的運算?
7#
發表於 2008-4-1 00:12:23 | 只看該作者
#(500/(SYS_CYCLE*0.1)) sck = ~sck;
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 11:23 PM , Processed in 0.133016 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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