Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Hi
. ^4 a5 e& x) ^! f8 U+ H" [
. B% h# U# f+ h0 iMy clock generator is as follow% p8 _. _$ E, j% J; s: X+ g

9 g1 y8 x4 E, O1 k1 I- j7 v`timescale 1ns/10ps
6 [; m; ^/ A" m9 y' q  A( C- @  p# u) Z% i8 n
`define period 15
- k5 a$ z) T9 B7 _4 a* Y+ M( w% @$ S2 E5 ?/ g6 a  a
module test();& @" x& [" N5 A; M0 E
reg clk;; @: F! H# A; p2 \

  _' F( l+ H/ `9 p$ o$ ^- H1 u# Dinitial begin
6 |# f' ^* O9 Sclk = 0;
/ q' u' E5 ]( C1 F, @$ w& `3 cforever #(`period/2) clk = ~clk;
( z- E1 y& R1 L# W: E# ]0 d, V. Qend6 l! V* w7 J3 I4 k, G0 [) Z
- B$ ?  b2 N+ D* V6 I5 |+ n/ G- C

3 q# k+ A" q9 ]- V+ C1 D4 GBut i check the waveform the clock period is always 14ns.
! D/ v1 H) h6 _1 h
/ |( E- ~$ g% R. NCould anyone help me the question ?
- f9 I7 m% b- q/ t
0 j" L4 D: q! J8 H' PThanks" ?% ]) K5 O4 d  C5 _; N% f, `) r
. f+ u' Y0 ]- R' v  a
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯
5 v3 p: c$ \% L. Z) ]( Q
2 k0 P3 H- w' @6 z7 K- zverilog好像不能這麼做6 n* `1 b1 }; ?7 {5 e
因為你的period = 15
- [0 h2 h" ]! h0 J當使用period/2時,他也只能取最接近整數
3 W6 q7 U1 g& Z, H; G. {" V" Y所以就會造成你說的這個現象(period/2 = 7而不是7.5)0 G0 n; W$ }1 d8 X& a; V6 ~6 a9 ~

6 k$ ~5 H2 j) g2 \# R6 t網路上是有人做過週期2N+1的波形
$ I3 \! R, z" L+ V! |$ z% c! N建議你先去爬文看看3 Q! X3 k1 f/ H7 v
這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理& x6 O. b3 P& x6 ~7 P% v

: Z0 ?* F5 h- P9 {9 m) R7 Y* V或是就乾脆改程period=14也比較簡單
9 h7 m' [/ I' p0 V/ @  A( E1 L/ @; m# h1 Q' J9 m& [
不知大大有何理由一定要讓period=15不可?
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!
7 [" H. x6 d! j0 {, ~我好像誤解了你的問題! S' y* r, I: f4 N7 M. h; i& L
真正原因應該是x/2的分母是整數,所以結果也會是個整數
, v0 [6 O- v$ c' ]* m3 T剛跑個例子試過: @2 e. `6 Z  w2 r2 h: t7 x7 Y
也許應該要改成6 W' w6 |+ ]( K7 I( Q
forever #(period/2.0) clk = ~clk;
' x- }: L4 n9 H
: e% E* ?' P# [* _7 Y( fforever #(0.5*period) clk = ~clk;+ r2 W" ~; w2 y

/ l1 r: c/ L& j$ _1 F: O$ a( X不過精準度應該調到100ps就可以了,不用10ps& `% l0 U, Y$ J; ]" w
也就是 `timescale 1ns/100ps2 U* [- J; G0 Q2 x1 B* N
) J% q: d' o0 x$ `' e1 K; O' a3 n
如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-8 11:25 AM , Processed in 0.103006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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