Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Hi
# h4 o" ?, G/ T. @# q/ K
, p) Y6 d. I# M& DMy clock generator is as follow
/ R0 d1 h! x' O; j0 U+ }- Q- u! U3 S  A+ q' w' @
`timescale 1ns/10ps. L1 ]' j/ f# \6 F+ l0 b: b

: ]3 h1 N5 C6 w/ `0 `9 Z`define period 15
" ]" L% K) a6 `8 R: P
$ R4 g+ k7 o4 H( z/ z, k' Pmodule test();! _. |  Z3 i4 L  U& J2 s7 q6 K
reg clk;
. E. U) U; y# L* }% Z3 K5 G  v0 k
initial begin
4 w, u- m+ k2 @- `. qclk = 0;
3 v) A: O+ j, i) Y' p. Aforever #(`period/2) clk = ~clk;# F/ C9 l) h$ O+ N+ W6 B  G% U
end
: Q; ~! E/ Y9 H8 u) j8 z- [/ f6 Z3 F; \9 j
8 k1 g6 }6 X. ?5 q/ V
But i check the waveform the clock period is always 14ns.: Y* o+ f/ p  K9 x3 _) Q0 n* M. s

8 u4 Z8 n' a- D* w* w6 \0 ^Could anyone help me the question ?
. l4 h) y1 H0 X7 i! B% w! I  V) r
0 O2 |' n( G4 YThanks# _  _5 s& A: ^3 z
, L/ ~: y* @6 [; z( [0 O
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯
  R$ [) E6 n0 S" o6 x, G4 D; m9 |: ?9 L1 ?; ?( ~
verilog好像不能這麼做
3 ?" v; |% T4 n. L8 i: W- w因為你的period = 15: J" ~7 B9 @$ `0 j! M& j* Q
當使用period/2時,他也只能取最接近整數7 Q& e- }% m' f: u+ {, E
所以就會造成你說的這個現象(period/2 = 7而不是7.5). t; H6 g' P0 X& O2 E- O  y8 x5 i
( c$ T+ g" ]" I% d
網路上是有人做過週期2N+1的波形
7 l! @2 X9 j& g+ J' e" u- L建議你先去爬文看看
8 C) Z8 G! G# G+ m" B% H# ~( X這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理4 v$ ~; W% t: @/ Y" o$ C% a
5 m  @9 ]5 G) E& Q+ g' [3 r7 k
或是就乾脆改程period=14也比較簡單
. I0 O7 X* @" q. U' D' H- \
- {" v' s" T! J& [1 q- ~- g不知大大有何理由一定要讓period=15不可?
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!) P$ N" G  w- j9 e5 N* p1 f
我好像誤解了你的問題  F- G& J8 [) ]0 }
真正原因應該是x/2的分母是整數,所以結果也會是個整數5 n6 o3 k  q" B' `7 q4 @
剛跑個例子試過
% ]" s' S$ X, n也許應該要改成/ V  q9 h6 r8 |2 z5 J' j& y
forever #(period/2.0) clk = ~clk;1 S9 L) w  w  w) _" h
1 _4 k9 y( _7 b$ F( S, [
forever #(0.5*period) clk = ~clk;
7 d! v- _' j; F+ d+ J$ o+ w  L% A5 C/ ?* e
不過精準度應該調到100ps就可以了,不用10ps) A7 }" l$ H( _; W1 \- z
也就是 `timescale 1ns/100ps
8 Y; ~( G8 E% i/ h+ ?
6 Z" m  d; d7 f7 a如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-21 10:43 AM , Processed in 0.108014 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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