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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
最近在学习verilog,刚做了个奇数分频器,7 u* q/ J9 g6 o8 y. ]3 @
用modelsim 5.7仿真波形都是OK的,
- v/ Q3 l% j  A/ o& l可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,
  w" u& R( o3 ~/ e8 d8 d7 {2 j( H所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!
5 D- A; G( I% ]1 [/ ^module div (clkout,clkin,rst);
0 P7 f+ D  P' u4 o$ S* A6 Y$ L) g
2 F9 T+ ~" q/ v6 i( O) P1 B+ c output clkout;) r" A& E* z5 _1 L
input clkin;6 j# t. z7 p/ b- B5 {! ~
input rst;7 k2 E: `4 Z. v  e, Y' r" i, D: B
reg clkout;
( D" H. t- G1 m$ c; z$ @ reg clk1,clk2;
6 C, x. N9 @  q/ X& G reg [1:0]count;) Z7 Q( u% A1 A1 ~  v" y# `# U

$ H( L* u+ W1 p+ |always @(posedge clkin or negedge rst)' N* J6 @% E6 I! n. W- ], l/ O
begin
4 z; d- R& j  S; C/ l  if (!rst)+ D8 F' t$ G7 a& g* c: ?
   begin' \* ]+ c0 A1 u% S
   clk1<=0;
; P4 v( K. S' i9 Z  u; r( c5 O   count<=0;3 ^2 Y; k/ C7 b. @( _% \8 x$ D5 ]
   end
" M# D3 V3 {7 y5 p; |  else if(count==2)
! O. Z% x5 }0 Z* f    begin
7 p$ f* c  H, |+ h6 w. Y    count<=0;
, V5 I1 [6 y. F0 L* r' M4 k& r    clk1<=~clk1;
$ m$ P/ \+ }* s0 i) I    end
- N: J' J3 ~5 P( D. p& V( c   else0 D  ]% D8 y) ?6 r. S# ~& p4 U
   count<=count+1;
& v! T( H* V" r% t; v  U end

% f7 ^6 B. |& C) V. L9 Z
  Z, I9 Q4 K9 ~4 B" r0 C% ]always @ (negedge clkin or negedge rst)
  }% a$ L4 Z! @ begin
# f& R- @2 h" s& [% e; S6 x4 I/ B  if(!rst)" d4 b1 q7 s) i$ h$ u
   begin; T$ t& I3 ]1 u8 P: e
    clk2<=0;
9 ?( G. X: y  r( D    count<=0;9 G, _% o" B5 b, U4 {/ q+ Q7 B8 s
   end
$ J; b  Q7 K3 E2 ~  else if(count==1)
% p& a# Y  H+ \   clk2<=~clk2;
; ~/ ~; x, e: T* u5 n3 X end
& O9 W8 i" V% P
, n$ J7 H* @2 m4 P( Galways @ (clk1 or clk2 or rst)) s1 A* F* j- E
begin
! V9 k; o/ k( M: q" ?  if(!rst)! v5 V0 a. y3 q7 W8 p- v7 S
  clkout<=0;
; b, Q5 L9 [2 t' I1 z" B1 M0 [/ @  else
, P* q1 t' d3 }1 t# z: O  ~  clkout<=clk1^clk2;# T( ^6 s& \/ l; S* P8 ?  O: c
end
' P. Z+ D5 G, f" P9 X) I/ {% |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自带的软件仿真的,因为我没有synplify/ x: ~6 s3 x- o2 R$ f$ k! |
问题点刚刚找到了,第二个always中count不用赋初值了,* d0 X( V" r4 j
还是感谢你的关注,以后多交流了!

该用户从未签到

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

该用户从未签到

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

回复 5# 的帖子

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-18 20:42 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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