Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-3-24 20:30:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果想要在testbench裡面完成一個1/4的duty的clock
. u; t% q; ?# W# O$ rcode要如何寫?
$ X" K2 |4 b' }9 C4 n需要用迴圈寫嗎/ d# \' S- s1 z

1 ]* L' Q4 q2 g我知道 duty=50%是
: k+ A9 W; n) `+ M8 }* A9 t% B' I/ n% t+ ~
always# _- V- A, ^/ _5 f# h
#20   clk=~clk;
  A" a8 }7 g: L9 p7 u5 Uinitial   begin9 C9 f6 E! F' O
clk = 0;  J4 Q; K8 k- l
end6 c; K5 Y/ a% o0 _5 G2 d7 N
  N% b7 w; d/ B# G! E( B
[ 本帖最後由 小人發 於 2008-3-24 08:45 PM 編輯 ]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-3-25 00:56:22 | 只看該作者
因為duty=50% => #20   clk=~clk;* T- A8 a' y% I! e3 V; c
所以duty=25% => #10  clk=~clk;
* v2 _) s$ k. S: ~. s1/4的duty high , 3/4 的duty low ==> clk = 1;+ S4 w: E/ u  L: S1 D
所以這樣子改一下
% G6 T; s7 v% A6 S* W  Talways
+ X. K  v) M/ y' K) d0 W' }3 Y#10   clk=~clk;
) l6 m. |. f: y8 f5 D+ _initial   begin8 |) P) ?; v$ J. D3 f" ^0 \
clk = 1;
4 I% o" K, |1 ]. I6 }1 O: Mend% t4 ]: Z0 r. X. S4 F
試試看
3#
 樓主| 發表於 2008-3-25 15:48:22 | 只看該作者

回復 2# 的帖子

#20   clk=~clk;6 N* N( V7 K$ y( S
#10  clk=~clk;* }- Z+ I0 P" h7 W

5 ~6 E7 B: f+ U# [版主寫的這兩個  應該都是duty=50%的頻率吧7 C; i7 ^+ V1 N6 I! p) J, @0 F: h
只是出來的頻率不一樣1 E6 P8 F/ d: X5 H( I7 k
應該沒辦法達成duty=25%. q& [& |3 s2 m
還是說我沒看懂?
4#
發表於 2008-3-25 22:34:58 | 只看該作者
應該加一級counter , 以 clk 為 clock , clk_out 為輸出
; M0 o* C* A0 ^- v- v  L6 Zinitial 時clk_out=1' R/ ]! w3 r% D) }
數到1把 clk_out=~clk_out* \% y  E. |& s! V
數到4就 reset 並  clk_out=~clk_out
5#
發表於 2008-3-26 07:46:52 | 只看該作者
你的問題應該跟這位大大類似
- W6 k* q9 R6 ?http://www.chip123.com/phpBB/vie ... extra=page%3D5#zoom
9 M; g, \6 _$ ~4 S這是另一種實現方法
6#
發表於 2008-3-26 17:39:32 | 只看該作者

delay運算問題

`timescale 1ns/10ps& N5 [5 H5 O' Q$ h
parameter        SYS_CYCLE = 12;- f5 W- J9 @: g% s! P; A" j* a1 I
initial begin( m; _6 c# J' e; K
        sck = 0;6 J. o: F4 i0 }$ ]2 S' E
        forever begin0 K8 W- o, g* S4 F2 d
          #(500/SYS_CYCLE) sck = ~sck;( K) M4 p- A+ O: a
        end
' R9 Y7 G9 {8 g+ }, t1 w5 ?+ @% P3 [6 Cend       
% U( z, K* c( ^  A4 a5 D* i結果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 05:10 PM , Processed in 0.171600 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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