Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
Hi ; R6 `% m4 o  Y- s

+ P% U, m+ F5 }! ]: V2 A" \My clock generator is as follow  u& d! o, A/ `1 T

4 Y; v; c9 h/ i3 O`timescale 1ns/10ps
' ]- c' d5 c9 [8 h9 n" j. ?4 C9 p% p7 n- g6 q5 g
`define period 15
3 d7 `6 a7 b) R* h( k, j/ _* G7 n3 p9 L" W# U8 s* @5 n
module test();
% ^; f/ L. g, K9 w% Xreg clk;
) {0 L* h( {9 s" a! q% k, y7 E
- p+ |$ b' J4 T4 Linitial begin0 q8 ?& [6 T  @
clk = 0;
) Y. n: n+ ~& D; Jforever #(`period/2) clk = ~clk;
* `8 d8 L/ }1 g* S1 U% iend
- x, j. Z% H, C9 E+ x% i" K7 v  R6 Z( _9 t  k1 e

5 x: K( J  t1 q( l4 C9 i% @But i check the waveform the clock period is always 14ns.* E: n% T1 N: l4 ?2 `: O% m' u- \  Y/ s
' @( U) d3 Q  t+ S9 |
Could anyone help me the question ?9 z7 I3 C" Z/ i2 Z8 Y; b& Y7 W

0 _+ i; ?; ]5 r2 c9 s/ FThanks
. P7 d$ A  o3 y- @# S2 t% @8 E5 w% W( C, V5 f+ W; d* F# u$ Y
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!' _, Y( f* H- {. v4 W3 ]9 B
我好像誤解了你的問題
$ b% s, T# f6 R7 K9 R1 z真正原因應該是x/2的分母是整數,所以結果也會是個整數9 I' Q& h0 w8 j+ N8 c: r
剛跑個例子試過' |0 a: Y3 U( q8 T# r( d
也許應該要改成
5 L3 s6 L+ o& o8 Eforever #(period/2.0) clk = ~clk;$ h2 j/ k5 @: I' x* d

+ [- [' l8 I! z- `+ F7 h, p" j* Vforever #(0.5*period) clk = ~clk;
4 Z7 j- D; t) O
0 y' m! H. Z9 d  h! U6 H8 A不過精準度應該調到100ps就可以了,不用10ps
9 v5 X, P8 @# l7 B' x9 b" Y8 F( `也就是 `timescale 1ns/100ps" R. W3 [: N* V- j
: l' e% y) r0 m5 p4 z
如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯
- N2 B1 Q# M) }8 u* f. j" @2 _# H9 c4 b. ?: s3 F
verilog好像不能這麼做
9 k/ z0 t5 P! i! w3 B因為你的period = 155 U; L/ R& n  B7 ^  t$ w0 g  |& @
當使用period/2時,他也只能取最接近整數
3 }% g  ]: j! x4 E- ~所以就會造成你說的這個現象(period/2 = 7而不是7.5)
% R. `* u) A  ^# Q* T) q( F1 p' y
# t! C( R0 A: c) P! M% S7 T+ z網路上是有人做過週期2N+1的波形) A/ s+ m( N: D' H) _2 ^- _) C
建議你先去爬文看看" t7 x( a9 Y  {7 W  m+ c  P8 u& P/ x
這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理
& [4 d* S& N/ ]# t6 P
' u1 T7 G1 p( X" @或是就乾脆改程period=14也比較簡單1 l; `8 _* S' M- U  ~4 c

& s* ~5 w' Q0 O0 Z9 n( A+ {不知大大有何理由一定要讓period=15不可?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-13 07:40 PM , Processed in 0.115014 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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