查看: 361|回复: 2
打印 上一主题 下一主题

verilog 写的奇数分频器遇到问题,诚请大侠指点

[复制链接] qrcode

1

主题

8

帖子

21

积分

新手上路

Rank: 1

积分
21
楼主
跳转到指定楼层
发表于 2015-12-3 10:13 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在学习verilog,刚做了个奇数分频器,
用modelsim 5.7仿真波形都是OK的,
可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,
所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!
module div (clkout,clkin,rst);

output clkout;
input clkin;
input rst;
reg clkout;
reg clk1,clk2;
reg [1:0]count;

always @(posedge clkin or negedge rst)
begin
if (!rst)
begin
clk1<=0;
count<=0;
end
else if(count==2)
begin
count<=0;
clk1<=~clk1;
end
else
count<=count+1;
end

always @ (negedge clkin or negedge rst)
begin
if(!rst)
begin
clk2<=0;
count<=0;
end
else if(count==1)
clk2<=~clk2;
end

always @ (clk1 or clk2 or rst)
begin
if(!rst)
clkout<=0;
else
clkout<=clk1^clk2;
endendmodule
回复

使用道具 举报

1

主题

8

帖子

21

积分

新手上路

Rank: 1

积分
21
沙发
 楼主| 发表于 2015-12-24 03:31 AM | 只看该作者
reg [1:0]count1,count2;

always @(posedge clkin or negedge rst)
begin
if (!rst)
begin
clk1<=0;
count1<=0;
end
else if(count1==2)
begin
count1<=0;
clk1<=~clk1;
end
else
count1<=count1+1;
end

always @ (negedge clkin or negedge rst)
begin
if(!rst)
begin
clk2<=0;
count2<=0;
end
else if(count2==1)
clk2<=~clk2;
end

.....

.....
回复 支持 反对

使用道具 举报

1

主题

8

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2015-12-24 04:46 AM | 只看该作者
thanks                                                                                                                                                                       
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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