Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Hi 6 @4 g! `3 @% Y9 c

' o2 c8 E" O) I( lMy clock generator is as follow
# p6 Z: d+ v+ s6 \# I& Q
# J" P3 }0 \0 \7 y`timescale 1ns/10ps
) ]0 b" M) z6 v/ _7 j% v$ P5 W
( k/ C( g. C: b+ A! d- a9 W3 W`define period 15
9 y0 a+ Z: y6 ?( r
; L+ I% Q& W% Smodule test();6 D, x* F7 N" i2 k& N: p+ W
reg clk;
) O2 C8 a9 k* z0 @0 n
5 l3 [% N0 y0 Z2 y* O4 Q. Pinitial begin
! G) B5 T( \5 [( qclk = 0;
: d) N& ^$ M) f" i0 ]0 bforever #(`period/2) clk = ~clk;5 l  T4 B6 H/ g6 C
end: o7 H/ f1 C% D( }

& d$ h5 @& @2 p" K' p- z0 e% e) `( v. m/ C+ I3 n/ k& [! g
But i check the waveform the clock period is always 14ns.
( b) i$ A- I0 l! b! V2 f  p7 b$ |+ E5 g( F* T' x
Could anyone help me the question ?
2 c- K$ w, j2 N  u* \6 T
/ o7 |+ O5 g9 L3 K& Q# HThanks
. N5 {! d8 \2 b/ z
% _! @2 [$ s+ ^) J! n- Sendmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯
; s7 P, h2 h. k: p- b$ j. o- ~4 o' N& N6 U' f# b1 ]1 _
verilog好像不能這麼做
2 i6 g* F3 m2 J: X5 X6 T  d0 R因為你的period = 15
; v, B! t7 j$ U/ Y5 y( j4 I當使用period/2時,他也只能取最接近整數
5 R  M! J3 z, h/ P. Z所以就會造成你說的這個現象(period/2 = 7而不是7.5)0 P2 @! h# q. ^8 M. t7 X+ L. C8 T

" D1 U3 o" Z4 _1 x8 g9 \網路上是有人做過週期2N+1的波形
: W9 j- X- M! |9 c建議你先去爬文看看' @+ l2 m9 o6 B6 m- j! O
這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理
0 y9 J; W3 o7 U1 W4 V9 p/ v' |5 h' A1 b- `! p" L0 v; z6 T/ E
或是就乾脆改程period=14也比較簡單
9 M7 a2 I% F2 M0 ^0 [1 O6 q. Y# V9 |1 w& f$ W- f
不知大大有何理由一定要讓period=15不可?
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!
" i, ]* D: r. I' Y6 V我好像誤解了你的問題3 Q( l4 ?/ O- x# R
真正原因應該是x/2的分母是整數,所以結果也會是個整數
: w; Z) m8 G+ s% i" n: Q' a剛跑個例子試過5 i- u! Q+ U+ S1 ]# `
也許應該要改成
+ o  t, d' n! N' c3 [. Oforever #(period/2.0) clk = ~clk;
0 O* l; \% e$ Q- }; `1 L, \
, G0 p  ~+ I) O6 P, g. wforever #(0.5*period) clk = ~clk;
' E, i) P7 q( w  C$ u* I$ X
5 R1 Y" H1 j8 F$ c, u不過精準度應該調到100ps就可以了,不用10ps5 {6 W& @" j- f5 y* v! c
也就是 `timescale 1ns/100ps
. v2 L7 f+ J% t: b8 z* n. K: b6 Y3 y6 T% ]6 I/ U8 O
如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-29 06:29 AM , Processed in 0.111006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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