Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 13263|回復: 7

[問題求助] verilog clock generator question

  [複製鏈接]
發表於 2013-10-29 16:14:19 | 顯示全部樓層 |閱讀模式
Hi
4 [1 ^) {; a; i% g9 S- c( A' {, d6 i: d* x& C' \! _
My clock generator is as follow
2 p2 M# V+ c9 ]! h, O. B$ j" d  b% q
4 |+ p: w" a5 ?0 j! D" ~4 i+ [`timescale 1ns/10ps
' M- ?' C. c4 i6 I: I9 T) u4 R7 q
`define period 15
* f; s7 H& p& v5 I8 N9 }
. l/ V3 Y! F# j7 o/ hmodule test();
) Q  y& J* e& O$ w4 y! Ureg clk;% W1 q  B+ \6 H" n1 i

4 J, l6 u9 N5 ?initial begin8 @4 c' ^3 @2 U$ |; h- o4 W
clk = 0;0 _5 U; m' o" r) o- d; ^  E! N, u6 i
forever #(`period/2) clk = ~clk;; P  ^! f7 ~1 E8 o% W$ _
end
& I. C# E2 J& h7 i# `+ L
4 z$ Z/ u& {3 E6 h/ C8 E
# @6 v# f; O+ Y" n0 J- sBut i check the waveform the clock period is always 14ns.- B3 J# a& c" [# e) h# Q
, |" S( _  b* C; y. g$ G
Could anyone help me the question ?
% ]( o8 k  @% ?* C3 r- q7 [' n. a  U
Thanks, `0 T* z6 a1 t. ^
7 K7 m0 v6 [; N. v
endmodule
發表於 2013-11-16 13:04:32 | 顯示全部樓層
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯 " V7 [+ t! Z  U
) R0 D: I8 [. I, I) i5 q; j
verilog好像不能這麼做6 O8 w% b. O5 k  Y( l5 G
因為你的period = 15
8 n  |* s& h( H/ f8 k3 s) E當使用period/2時,他也只能取最接近整數
1 r/ J6 u5 U$ ~1 U0 U0 c- i% k所以就會造成你說的這個現象(period/2 = 7而不是7.5)
6 z' o$ Y. |, R8 c" w- C% a4 X6 B7 Q. |/ y- u8 w
網路上是有人做過週期2N+1的波形
5 h( f" @1 l+ W! ~+ Y( T. C建議你先去爬文看看
0 |3 c' f2 p6 j( S這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理
2 f3 T5 _/ W& E8 q1 ?8 @: m, W% O0 @6 @, `, K
或是就乾脆改程period=14也比較簡單( L- Y0 H  F5 M* V8 V! I7 Y

( Y' F6 e2 x$ i6 z) j) a不知大大有何理由一定要讓period=15不可?
發表於 2013-11-16 15:06:17 | 顯示全部樓層
抱歉!+ d  X# Y4 Z7 y
我好像誤解了你的問題
; z, b, M& \: O& C* a; {- N真正原因應該是x/2的分母是整數,所以結果也會是個整數
0 h2 S' l5 n$ ]; D6 o( R6 c6 ]8 c3 [剛跑個例子試過
' Z8 k0 E# J* w( t; p也許應該要改成
1 o; ?/ w1 G' g1 h" H% n9 }2 x" Mforever #(period/2.0) clk = ~clk;: a+ A% e% o) [8 j
# p" o6 |" `7 K1 V% X  `
forever #(0.5*period) clk = ~clk;
$ U4 j; b# }0 x8 n) k9 W( v3 d
8 D) S2 H% |7 e, l: s' w不過精準度應該調到100ps就可以了,不用10ps
. M* n8 g/ o7 J/ c0 n% Q* Q也就是 `timescale 1ns/100ps% p5 C6 F5 a9 \. J2 l" j

% r, e! i$ n9 C9 Q如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-3-29 04:34 PM , Processed in 0.112006 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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