Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
Hi # G# D% P" ]- z! u2 C  A+ }
1 V; u" C6 O! q' T5 n% m
My clock generator is as follow$ o" h$ _0 L6 v. t1 k
; n0 V" `( C; S4 Z: T- f, ?
`timescale 1ns/10ps
1 @/ J6 m1 G" D7 z' T6 M$ J2 ~; _# i8 L' S9 ^: D
`define period 15
  q8 u& Y9 f/ o  O& Z
9 x' Z% [' F' O) P6 rmodule test();, T4 w5 V- V) Z; n( }
reg clk;" a2 }  ~6 _4 o- p
. x8 @. q6 d# l0 H# ?3 {
initial begin/ D/ I( K8 [$ s- x6 ^
clk = 0;8 P2 @; f2 |' i1 j. E8 O, C2 {
forever #(`period/2) clk = ~clk;9 b6 a4 S- r& L8 X$ L
end+ B4 I! g1 M- z% A3 m, e* {$ K5 o$ |

, x2 @# v3 w" A9 o" M0 r; Y4 s6 m3 Q# b% E  Z+ C1 P$ X+ W
But i check the waveform the clock period is always 14ns.
, _0 \1 z5 _6 }4 D$ x, D4 @4 t; f. G9 k% d( R( F0 Y# D
Could anyone help me the question ?
- s( v' E9 t# A/ D" s
7 E! R1 S* Q% dThanks
2 }+ Q  l7 m% v' ~2 J1 Q& o: C
: R$ M& W$ v2 u! [& e) M' S1 {4 eendmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!/ S2 k# h- J& U& k6 U. |
我好像誤解了你的問題
' E% h/ p  C8 \2 ?真正原因應該是x/2的分母是整數,所以結果也會是個整數) z3 y. `. g& `& M# H1 }
剛跑個例子試過7 h8 g: \+ s$ Z# I) \
也許應該要改成9 Q, M: q/ R5 D
forever #(period/2.0) clk = ~clk;8 I7 g: H9 N7 x# U+ w( F
! V* g* T: _! }, B" i3 g( n% T% k$ ^
forever #(0.5*period) clk = ~clk;. o: L7 d) v& b3 N. x' C( ^

% P) z; _# w; l( ?* J不過精準度應該調到100ps就可以了,不用10ps
+ a" K( `. K. y) _  ^/ G- n也就是 `timescale 1ns/100ps% B6 M. e# b. K
' t5 S9 i# [9 Z% V% [
如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯 / H. ]0 J" |2 @% q
3 ?7 C+ j6 I/ O# z. s$ b3 _8 Z) Y1 V
verilog好像不能這麼做8 w& H  M, A  x
因為你的period = 15' ]6 G* P, L+ @: K: a! j
當使用period/2時,他也只能取最接近整數# b4 k; X9 }# m
所以就會造成你說的這個現象(period/2 = 7而不是7.5)
; C3 u& h9 L* g: {# _3 Z
% t0 _' V# C, U5 W3 k* s網路上是有人做過週期2N+1的波形
5 g( o6 B  S4 |  D% @建議你先去爬文看看
" _/ Q$ A5 h9 \. B. f這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理5 G  |: ]6 R8 u2 c2 |1 S! Q# Y

! h' M( q8 A$ F8 _或是就乾脆改程period=14也比較簡單3 ~. `  i" z+ L1 a. t! k% u

( j- U2 i/ O7 }& u1 ?- L4 d不知大大有何理由一定要讓period=15不可?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-6 07:07 AM , Processed in 0.102006 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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