Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
Hi 9 E2 h# z, v& Q0 P3 N
. D' f# _: U5 ]- f9 y+ }; \& t
My clock generator is as follow5 b& r& e+ R) E) O. I& Y+ s) _
1 e. ]6 L7 u% K; e" @' S5 x. |. \
`timescale 1ns/10ps2 t! T& x0 Z# J: l6 d
: {, F& v8 Y  U+ q% B4 k  ?; Q2 `
`define period 15
. y8 u" n8 R/ F- p
' L: {- }6 Y8 A8 V& gmodule test();1 D: S- o3 Z7 {0 L3 p- t7 @& I$ ]" j
reg clk;
$ O0 Z7 n& |2 `' r+ q* W, u6 @/ h6 A
initial begin
9 H0 p. Z5 u9 @4 d' nclk = 0;4 q  K& O9 |$ H% `8 u
forever #(`period/2) clk = ~clk;6 y( k' y2 C  R0 Z, t0 q. p1 l
end
" R. U& }% M5 B' N+ M
: _6 S. P- t& B/ t5 k" O0 u) W- |8 |4 k; l, X+ l4 r
But i check the waveform the clock period is always 14ns.
, v: U: P( }% m5 h- A" j3 }1 H' ^5 C6 H7 X. Z2 l! ~' j$ d
Could anyone help me the question ?8 S9 i- v( |! b, D
9 m7 V# X) z0 ^1 Y& b6 `) W
Thanks
! Y& g! r4 |  b: t- }  Z9 Q4 T( ~- I! c: v: c9 K0 P
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!2 S5 ?' \+ w6 Z7 z" M  E' k( A
我好像誤解了你的問題$ e: f1 v% \3 v  ^; R
真正原因應該是x/2的分母是整數,所以結果也會是個整數
' u/ N3 V5 N! y7 K% u剛跑個例子試過3 i' A& \4 i  U
也許應該要改成
1 l$ O2 m# [! s$ J* k/ Y' o) ?3 {5 E+ Bforever #(period/2.0) clk = ~clk;
9 ]6 a: f, J% W3 M1 T4 }! W7 W/ K. D; X1 s& B3 {
forever #(0.5*period) clk = ~clk;
% a9 f. h9 E% f' b% B7 u% h2 T  b: G. s7 C
不過精準度應該調到100ps就可以了,不用10ps
  z; L* x* q- h5 F2 Z: E也就是 `timescale 1ns/100ps2 P1 E4 G% a& u

3 z0 [5 D* V- H, F) \' L! h) v如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯
0 h6 d+ o" ~: z- ^! c1 q' G, O  ^/ g" \
verilog好像不能這麼做
& f# i1 O) l! K+ f  P因為你的period = 15, `" E% O8 E2 u7 Y7 l0 G
當使用period/2時,他也只能取最接近整數7 l5 _+ Z, W8 i" g  S- j. ~7 ?% Y
所以就會造成你說的這個現象(period/2 = 7而不是7.5)
5 a# {+ E, E9 g) T
7 [# D* ]2 V2 ~# R  \/ K' d/ {. \網路上是有人做過週期2N+1的波形$ H; |* r+ p; q
建議你先去爬文看看9 X  t) ]1 r& i6 @
這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理% Y# s, C+ d3 ]( Y  {. n7 F

5 x$ L5 c# F* u! S或是就乾脆改程period=14也比較簡單
  B* Q- ]. W2 Y" @6 ^0 `( z
' t4 j, \0 g6 X8 C3 `( N/ E. V不知大大有何理由一定要讓period=15不可?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 12:34 AM , Processed in 0.105013 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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