Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] verilog clock generator question

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2013-10-29 16:14:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Hi
7 \* O& ^  ^( `1 s/ r# g* e
8 ?0 ?" |  t6 g  h1 BMy clock generator is as follow
: b7 P/ m% \- _& E; W" [: Q/ J% Z) J( ~0 J9 \* {
`timescale 1ns/10ps
9 @! F- |' ]3 Y* }& U# F! d- w+ O
* C! Z( J3 ]4 }( @`define period 15
6 J& @9 o( q/ y' d8 N) E2 X  V$ a" u# P) v, [( F
module test();0 C/ B3 ]  ^( |) d/ M9 Y
reg clk;& p5 q" d5 J6 @0 P1 g
* A) M1 J7 P  x2 z8 ]
initial begin5 ~& u' q9 o1 C( T. H
clk = 0;( z, S: y6 s! [
forever #(`period/2) clk = ~clk;
$ L8 @+ w; T* s3 V1 U, oend
1 |7 D5 O  |' C) `% r
5 y) p: y7 H# s5 _0 Y% j
! g# s  E+ W7 D6 p0 P& M  sBut i check the waveform the clock period is always 14ns.  W* c% S  l9 k( J

4 e( I5 H/ t! Q0 [. ~Could anyone help me the question ?( L% V; X8 g$ Z
& l. I. D5 M, L4 h# |
Thanks8 h- C/ E" S" L8 \
3 G8 w7 Y! J. h8 F; m# z( {! _% A
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
2#
發表於 2013-11-16 13:04:32 | 只看該作者
本帖最後由 card_4_girt 於 2013-11-16 01:21 PM 編輯
1 S& ^) `' [3 s# Y8 S, [$ d5 J  j: h
verilog好像不能這麼做
- J* _* _9 I0 P/ q/ g因為你的period = 154 _3 C  p- ^8 I) d
當使用period/2時,他也只能取最接近整數
+ i( s& ~; c- d$ q0 L% o所以就會造成你說的這個現象(period/2 = 7而不是7.5)" u+ `( d. C! T+ v& I

( B" d: p" Q( Z% E: t9 j網路上是有人做過週期2N+1的波形
8 r! w5 I% g7 E$ p  _& h: G建議你先去爬文看看
; P. i  s3 S( K3 l# \" w這種半週期N+1/2因為含有半整數1/2的部分,要事先做處理
* G- _& |+ }* s5 x  A* N6 l( P. ~% e5 h8 K$ |, z
或是就乾脆改程period=14也比較簡單
* J- @( J9 M- [; L* K5 x
- g# C' u" J) R5 D$ e不知大大有何理由一定要讓period=15不可?
3#
發表於 2013-11-16 15:06:17 | 只看該作者
抱歉!# M9 I. G0 w6 a$ ]: z3 b! ^: ^% Q
我好像誤解了你的問題# q. P$ C$ D+ p  i/ m
真正原因應該是x/2的分母是整數,所以結果也會是個整數1 a% G- y0 G: D# k; z) a# X/ x
剛跑個例子試過! I+ ^4 K$ G9 T& [
也許應該要改成
) N' o: c6 j2 T) Eforever #(period/2.0) clk = ~clk;. q* |, }- D* y) ^5 Q1 e
# x& t5 s# z+ Y- l# v. g! S/ L
forever #(0.5*period) clk = ~clk;- T5 A1 d& C8 r0 o5 L  j  B) Y* [
) S# ?9 m+ U) h/ ]6 e# {  B
不過精準度應該調到100ps就可以了,不用10ps
! I+ H, Y4 h7 x5 z& }也就是 `timescale 1ns/100ps
) }: @  S9 g$ _1 E9 S0 M7 [* K
4 x9 _! p2 G0 c* F* S$ {如果還是沒辦法解決,就去找看看怎麼定義半整數,或是就乾脆改成period/2是整數的格式
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-24 05:54 PM , Processed in 0.110006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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