找回密码
 注册
关于网站域名变更的通知
查看: 2073|回复: 5
打印 上一主题 下一主题

verilog奇数分频器遇到问题,请求高手指导一下

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-12-3 22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近在学习verilog,刚做了个奇数分频器,
8 c- }1 H: H! |4 o( w. W, F( Y用modelsim 5.7仿真波形都是OK的,
) d! S9 ]5 o* b8 o( y9 a& E可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,
' A& N; t# p+ }# V' G. k所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!
- N7 G  ]2 K- ?5 H2 kmodule div (clkout,clkin,rst);1 m, o; W1 C' M( N* A! P1 v) c( U
6 |* g2 t( L( J: O' i
output clkout;
9 a8 r# o3 p1 B" p/ \9 t9 u input clkin;! C9 Q; B7 q' w  i) q! W
input rst;
. e$ F7 _" s9 @% I+ ^$ Q/ V reg clkout;. t: X3 |" I- c5 L9 L* S$ U: i# b
reg clk1,clk2;% ]. S# Y4 t8 M+ }# t6 A4 t
reg [1:0]count;
0 l2 {! b- R  g0 z7 r  ~1 ?& R
5 L! i& ]4 U7 b) @/ X- Halways @(posedge clkin or negedge rst)
# v$ {. e. l6 D. e: c begin8 s2 h; V+ Z9 w5 M5 B4 W' N9 D# n$ O: V
  if (!rst)
, w7 I9 {6 W# p9 [   begin
0 h( t1 V" d0 E# R, Q8 A   clk1<=0;, G6 H8 l, \! E: r
   count<=0;
5 W8 U5 F+ p! P5 g   end8 w" k) j3 q6 I, k7 m
  else if(count==2)3 s4 A2 |" f: }8 {+ @3 W* ^
    begin
: {, V0 B7 W0 q& C9 d) X$ ?    count<=0;
& O2 J- C7 C7 d2 T    clk1<=~clk1;  B3 g& U4 N0 ^# l0 ]7 e* x* x, n8 p
    end
6 o1 \: I: ]/ a3 r0 o   else& X2 f$ o; t  E' n' n; Z/ a) Q9 r+ h
   count<=count+1;& _. k- d: p4 Q0 y* E2 a( u
end

) s* D4 l4 z- f3 P6 `4 K
6 l* K3 H5 c6 O  H6 v' Jalways @ (negedge clkin or negedge rst)
# D, X4 E& T, D begin+ F0 h% X$ y( h
  if(!rst)
  p2 Y4 I8 a3 e& X$ G   begin
; h( ^' |4 e6 i; J! g% f* a    clk2<=0;8 r: \* w% e7 n5 Y
    count<=0;
( b( D& j* q9 r1 r   end
5 @# ~! S& j* w3 w  else if(count==1). ?& R& w7 L0 g+ G. u
   clk2<=~clk2;
* }( L' E/ d1 E, h& q3 }6 @, w end1 ^" P% o4 Y. ~0 H# `4 W9 T
4 e- m+ N( J+ {( D, F7 c
always @ (clk1 or clk2 or rst)
6 W9 k, \- x% j$ [ begin5 g9 o) c. r# K+ X
  if(!rst)
9 s, j* `" y: J2 N3 n5 s" |  @$ `  clkout<=0;  E) d7 J4 \$ M1 U! y( k
  else3 k( Y4 b: H: O5 C9 w" z
  clkout<=clk1^clk2;
. M1 t. W" V. b( Q% ]! w2 ]. D0 c end* W7 `" }. V) F- Y, }
endmodule

该用户从未签到

2#
 楼主| 发表于 2008-12-4 14:41 | 只看该作者
请各位大侠点拨一下,还在困惑中

该用户从未签到

3#
发表于 2008-12-8 19:28 | 只看该作者
你的程序是正确的,能实现3分频的目的;count加不到2感觉不可能;在ISE平台下,你是调用xilinx公司自带的软件仿真?假如是的话,仿真正确吗?综合的话,你可以调用synplify试试

该用户从未签到

4#
 楼主| 发表于 2008-12-9 09:59 | 只看该作者

回复 3# 的帖子

确实是用xilinx自带的软件仿真的,因为我没有synplify0 b1 F  `$ p/ A6 P* D4 N  {5 V2 ~
问题点刚刚找到了,第二个always中count不用赋初值了,
% P0 z' e! o3 ~2 K还是感谢你的关注,以后多交流了!

该用户从未签到

5#
发表于 2008-12-9 13:16 | 只看该作者
一个变量不能同时在两个always语句里面赋值的啦~~~

该用户从未签到

6#
 楼主| 发表于 2008-12-9 14:32 | 只看该作者

回复 5# 的帖子

感谢!两天才找到这个问题点,惭愧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-4 23:44 , Processed in 0.125000 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表