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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
最近在学习verilog,刚做了个奇数分频器,
. K) n" L) x7 Z4 y. Y5 }用modelsim 5.7仿真波形都是OK的,
# S3 q+ b$ \" N0 V: D可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,2 x" [7 y' a4 J/ e* `
所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!
- T; Y9 n" u$ w1 N  R% p3 O. s1 P, b9 umodule div (clkout,clkin,rst);( c+ t1 _5 v9 n- T! R: [

5 f3 V% h5 l5 [9 |6 C8 ]7 J3 G output clkout;
$ M$ u$ I, ]( r0 l5 ^+ d8 g7 } input clkin;
( M8 c" F' r5 `% c% K9 x input rst;
& d' X, T! c: g/ z* \  r8 ~ reg clkout;2 S- s' F3 Y1 o1 N+ L: N
reg clk1,clk2;+ w: Z, n1 k- |/ T# V: q! ^, b
reg [1:0]count;
! Y$ ]5 v4 z- N' x4 @; m# ]
* n& G4 X% a* q& n) s. T; }always @(posedge clkin or negedge rst)$ a) n! [2 x; [! b0 g5 Y
begin
- r2 E; ]8 A- ~( a  if (!rst); D3 _) X/ j2 l. r1 Z: s
   begin
, M. `9 C( C' V   clk1<=0;
* l; j0 L8 t$ ^3 Q   count<=0;, {5 s% A+ d9 |# U2 x+ F& E
   end8 A& E& m! R' J
  else if(count==2)1 ~- ~) X, p; n0 J. Z3 Y6 N
    begin
. ]1 e) r+ V6 ~- L& e    count<=0;
- W/ m/ \8 K9 O) I( d0 E% n7 \4 [( b    clk1<=~clk1;
  L4 `0 {7 Z: y2 B! K; s    end) z4 B/ L4 l5 i
   else  W/ ~9 D, q7 F- F& U* k
   count<=count+1;2 U0 a4 c6 S9 w
end
# H; i2 H. g1 v5 q2 O4 p7 M# D$ F( ~
% }0 W" v! P; [0 L# c
always @ (negedge clkin or negedge rst)
( j5 o7 b' T) ]" t1 Z begin8 Y+ N5 \) K" e6 C% c9 }: x
  if(!rst)6 A0 w% |* V: K& I
   begin
5 H$ }" h3 E+ N, j6 Q    clk2<=0;5 R/ _8 V: v2 k7 r& V" m
    count<=0;- Q& b  ^0 P1 J: C. {$ F
   end. x; Y+ \3 t, c" T/ h7 ~( T, N
  else if(count==1); \3 |/ N) p) W5 y
   clk2<=~clk2;
4 J. o' a9 u$ y# ^! n end
% Y0 F1 g- f: L- q; L1 S" K5 O, n& S1 N
4 n' W* C6 U' V) `7 Xalways @ (clk1 or clk2 or rst)& v7 f8 s* L  q1 H4 z- D
begin
/ ^1 z" A$ M( B  t  if(!rst)
( m% U- ~2 d1 [+ a  clkout<=0;
4 M* L3 [+ i! f9 s. ^# ]2 s6 E  else
0 _/ c' W5 X: L. e  clkout<=clk1^clk2;* V( J, `0 g- S3 R
end
6 v/ ?+ K( S# }1 v. y' ?  y9 pendmodule

该用户从未签到

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自带的软件仿真的,因为我没有synplify
; S  ^) p3 U# @- `1 h4 C$ P+ g问题点刚刚找到了,第二个always中count不用赋初值了,- p/ \# j& W; H, o- v) L2 u" j
还是感谢你的关注,以后多交流了!

该用户从未签到

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

该用户从未签到

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

回复 5# 的帖子

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 02:07 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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