Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Hi
& }4 z# D7 P. a5 T9 }
2 I8 l$ k* ^2 w4 M6 M' v- DMy clock generator is as follow, L! r% W4 v1 U4 P  d& M) R" B

1 M) X' ]; s! p+ s! N/ Z`timescale 1ns/10ps
  ?* `+ T! U" c- h6 o$ r( V, b' }" s  w% B9 G
`define period 15
% R  ]2 r$ H1 N, g; B
/ o2 j8 a: S9 Z1 F/ d, |8 ]module test();* [* \  Z6 H; ]9 o2 W
reg clk;
* G. b" K/ ]7 ?7 G  ^
1 V! [& p5 B) g, N6 finitial begin
1 s5 x& f) _* b+ b1 y6 o( {clk = 0;) l' ?' z7 c$ ~) @7 f$ ^
forever #(`period/2) clk = ~clk;4 B2 d( p3 ?* U+ x3 }6 R( t; n
end8 L7 ]: r$ N% z& k& {0 k5 ]

$ K, q& Y; c- ~/ w- Q8 X# v
) n. Q; Z0 k7 a3 R( x$ {But i check the waveform the clock period is always 14ns.
0 p6 x" ]6 H: w
5 x" h" I- u2 Y* [1 p$ ?- WCould anyone help me the question ?
+ X! i' \% o2 u% P: b5 J  Z
9 N5 r# t2 @! t" `4 _Thanks+ i/ h5 j; a6 W# Z1 |% ]2 A  j

/ R) z2 `0 a! N( L! l1 W; Zendmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯
8 k& S+ F5 h0 j: ]
! V3 U8 a" y+ e* jverilog好像不能這麼做$ `7 ?7 m, ?' U; v3 {- C
因為你的period = 15( y# B9 K8 Y% B5 Z
當使用period/2時,他也只能取最接近整數
/ G/ `7 I4 L1 z5 X% V3 W, I+ Y. f  K所以就會造成你說的這個現象(period/2 = 7而不是7.5)
8 z. \3 @# f2 ~# C) }5 E( E$ g( M
網路上是有人做過週期2N+1的波形# C2 g2 Z# j0 `0 ]; c. }3 ~4 K
建議你先去爬文看看) g6 q: z# y- J8 W. \0 \
這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理  c7 S8 V- U5 X) }& j6 d
# U# O6 V1 U# h& g" {2 p; C
或是就乾脆改程period=14也比較簡單
% x9 r+ U; [9 g& i3 K* r0 ]) I
. d4 {7 F  F& f不知大大有何理由一定要讓period=15不可?
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!
! |: N" q5 V3 I2 o# T; ~! A0 y' f我好像誤解了你的問題3 V: A# [' `4 ?2 z0 j
真正原因應該是x/2的分母是整數,所以結果也會是個整數( ~5 @0 u' B" Q- x
剛跑個例子試過
  f2 G4 m# l& N. k也許應該要改成0 I. w! w5 t5 @8 x7 m. I
forever #(period/2.0) clk = ~clk;
0 v5 ~4 g  U/ |) I& S
% q+ ^  `- z* G, |4 Uforever #(0.5*period) clk = ~clk;
/ E- k/ H6 F- n2 z
) B) H. _% ~0 H3 \, y2 U不過精準度應該調到100ps就可以了,不用10ps9 i% n+ c/ M5 j8 C
也就是 `timescale 1ns/100ps
& y/ Q1 M# E; u% Q) C" Y7 L! H' E- H& V# t0 R- v8 K
如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-3 11:37 PM , Processed in 0.098005 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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