Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Hi ( O$ g% t, T9 A2 u3 Q2 [4 n
# ]0 T+ X' R* V9 q; S# y
My clock generator is as follow
6 q, P& c" d& i. r4 j5 D- O
8 D6 t6 F- q, }* [: I`timescale 1ns/10ps, _5 v9 k$ [6 `' H
6 ?5 y. i# K; ]7 ?, e% k+ _
`define period 15
# W" P6 F" ?9 j4 U0 G5 u/ D) _5 p( K) q3 c" e9 g2 |5 g
module test();  C* [7 w! C3 J8 G) [
reg clk;
" ~1 p+ P3 k6 q  z
0 v6 |) o+ a# h3 ~- rinitial begin
. C9 u0 l& d9 vclk = 0;) D; S" |( A* u! O. f% e$ P
forever #(`period/2) clk = ~clk;
' N9 t9 r" k4 send
/ h$ O; q, s: X: M5 g2 D, W# }! A+ ?: K3 m% L

2 I' k8 ?: o0 ~% j. P5 lBut i check the waveform the clock period is always 14ns.. E3 ?7 [0 d# Z( }% w
7 V6 G; f) W& a
Could anyone help me the question ?
# l$ J; L) |3 K, t  S8 V( X6 y9 j# ^% d7 G" r+ s
Thanks
& T. d1 A$ d0 N% v/ l
1 @" Z6 \3 _+ _' J3 k! gendmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯
7 W! ?& C- Q! U; Z& ^, L6 @
$ E8 w+ c1 I' D! S9 kverilog好像不能這麼做& ?$ z' s9 W1 i+ f- J" f
因為你的period = 156 B7 i7 P7 S( M* b" {! R% g! S! ^; p) x
當使用period/2時,他也只能取最接近整數; r( N1 A: J1 w4 U
所以就會造成你說的這個現象(period/2 = 7而不是7.5)
. G4 m  f* O& \" @( x" Z% D4 w& a; D& f' U3 ]5 h
網路上是有人做過週期2N+1的波形
4 N( e4 `/ [3 V% [. J* v- d建議你先去爬文看看
4 e, n# a7 t' z8 S. A- B這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理7 V3 w9 ~% ?8 y
+ F; t! M4 y9 H
或是就乾脆改程period=14也比較簡單
) L# _0 Y1 v" g5 ~7 Y4 B" Q# U8 K# B& x8 ^) q+ ^
不知大大有何理由一定要讓period=15不可?
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!
! `5 w# `  v. t8 f% x7 ]+ w7 G我好像誤解了你的問題  |7 Q0 R# Y8 N
真正原因應該是x/2的分母是整數,所以結果也會是個整數4 z& a! i# l3 l+ O
剛跑個例子試過: U4 C: Q* h2 w2 j! M7 k
也許應該要改成! r' K+ U/ {) z/ u0 V) ^/ g( s4 P
forever #(period/2.0) clk = ~clk;
) P7 F# \! ^$ t# q0 o; f1 p3 d" J: |/ w% w6 \. H
forever #(0.5*period) clk = ~clk;
  A3 e: I& y% n0 V' Z! t" w! `+ @$ W- D. E
不過精準度應該調到100ps就可以了,不用10ps
- O! X- F4 \% J- ~也就是 `timescale 1ns/100ps
( e  t! G$ C: N( T. b0 B0 U% g
& F: O+ V" k; k* H) K7 f+ }& R如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-31 02:18 PM , Processed in 0.107014 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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