Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-3-24 20:30:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果想要在testbench裡面完成一個1/4的duty的clock) v5 Z2 W4 J8 T" u- W% Q
code要如何寫?
. B3 g" k5 X- L6 V需要用迴圈寫嗎" ^0 y1 d3 L* ^( h  i6 s) m

5 s$ X* {6 A6 T. L6 m5 t我知道 duty=50%是
" _$ R  g* q) R# G3 u1 g1 }( a
% V2 ]) f5 ^, K! G  u0 s- ~always; }% F: e+ [; ~3 R* y& F4 K
#20   clk=~clk;; d+ s! B, k9 O  t! q
initial   begin; l5 F5 |: f* v' U6 u
clk = 0;
0 Q, V+ Z  h2 o, }6 xend
6 j6 ]( E  o2 Y) i; w
" l- j# F; o* m. i7 n. H2 |[ 本帖最後由 小人發 於 2008-3-24 08:45 PM 編輯 ]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-3-25 00:56:22 | 只看該作者
因為duty=50% => #20   clk=~clk;1 ?) _: @$ y! h) D% Q% j0 M( ~( }& R
所以duty=25% => #10  clk=~clk;
+ c8 j. Z4 P0 t( c, s0 x: z8 _1/4的duty high , 3/4 的duty low ==> clk = 1;
) z2 c* y# I* f5 M所以這樣子改一下
  c0 S* S0 c2 {  zalways' p' e0 Y* H+ x; g: f
#10   clk=~clk;
# D$ r  m1 W4 }- X) h: Rinitial   begin) n$ e& j7 ~2 y; K5 t
clk = 1;
7 x. G. x* U; Lend% P+ z3 H4 L* u4 e
試試看
3#
 樓主| 發表於 2008-3-25 15:48:22 | 只看該作者

回復 2# 的帖子

#20   clk=~clk;3 h8 v. C& E" g
#10  clk=~clk;- A; O0 G$ M  ]1 o
9 i6 E7 x( z" V: O5 ~+ @
版主寫的這兩個  應該都是duty=50%的頻率吧! p6 M6 k& F6 j& F7 ^; j
只是出來的頻率不一樣: C2 C2 M" H  _0 b3 s* l
應該沒辦法達成duty=25%4 e- V1 h8 m6 J) @- r  a1 n( @
還是說我沒看懂?
4#
發表於 2008-3-25 22:34:58 | 只看該作者
應該加一級counter , 以 clk 為 clock , clk_out 為輸出
1 [1 B& i" I; L) }. Tinitial 時clk_out=1
0 }  u( b- ?5 R5 m" z* r9 M- p( I數到1把 clk_out=~clk_out
* d" P4 K. l. g6 Y# C' f! S2 u數到4就 reset 並  clk_out=~clk_out
5#
發表於 2008-3-26 07:46:52 | 只看該作者
你的問題應該跟這位大大類似! K  k% _8 Y! _* X/ F1 o
http://www.chip123.com/phpBB/vie ... extra=page%3D5#zoom! o% J+ c) I: q! j
這是另一種實現方法
6#
發表於 2008-3-26 17:39:32 | 只看該作者

delay運算問題

`timescale 1ns/10ps
" ?) l1 C  `! @: U8 P2 Fparameter        SYS_CYCLE = 12;# t4 r; M. r0 ~; A+ A& O  ^1 _& B
initial begin1 `; a* ~4 w: f! Z# T( r/ A
        sck = 0;# W1 {! f5 r& k" _1 e; R7 d
        forever begin
" n- V$ c. Z( T3 [  i' k          #(500/SYS_CYCLE) sck = ~sck;/ v3 T* o, n3 l4 P
        end
! g& i! v; |. oend       
5 U; ?' f/ F4 v! Q  ?1 f5 ~2 s結果sck為82ns的clock, 請問如何變成82.334ns的clock, 也就說怎麼做小數點的運算?
7#
發表於 2008-4-1 00:12:23 | 只看該作者
#(500/(SYS_CYCLE*0.1)) sck = ~sck;
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-20 07:56 PM , Processed in 0.171600 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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