OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7309|回复: 3

Error (10200)

[复制链接]

13

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2012-11-30
在线时间
0 小时
发表于 2014-4-12 15:22:05 | 显示全部楼层 |阅读模式
我的数字电子时钟的小时计时与校时模块出现以下错误,哪位大虾解救一下!!

//DATA_H            初始化时钟小时数据,6’b000000
//HOUR                小时数据输出
//CLK                   分钟进位信号
//D1,D2                小时校时加,减使能信号
//KEN1,KEN2         小时校时加,减模块的复位或计时选择信号
//TS                     计时,秒校时,分校时,时校时四种状态选择

module hou_change(DATA_H,HOUR,CLK,D1,D2,KEN1,KEN2,TS);
output [4:0]HOUR;
input [4:0]DATA_H;
input CLK;
input D1;
input D2;
input [1:0]TS;
input KEN1;
input KEN2;
reg    [4:0]HOUR;
reg CLK1;
reg CLK2;
always @(TS)
begin
if(TS==2'b11)
CLK1=D1;
else 
CLK1=CLK;
end

always @(TS)
begin
if(TS==2'b11)
CLK2=D2;
else 
CLK2=CLK;
end

always @(posedge CLK1 or negedge KEN1 or posedge CLK2 or negedge KEN2)
begin
   if(!KEN1)
begin
HOUR<=DATA_H;
end
else
begin
if(TS==2'b00)                //双击错误一,光标跳转处
begin
if(HOUR<=5'b10110 )
begin
HOUR<=HOUR+1'b1;
end
else
begin
HOUR<=5'b00000;
end
end
else if(TS==2'b11)
begin
if(HOUR<=5'b10110)
begin
HOUR<=HOUR+1'b1;
end
else
begin
HOUR<=5'b00000;
    end
end
else
begin
HOUR<=HOUR;
end
end
if(!KEN2)
begin
HOUR<=DATA_H;
end
else
begin
if(TS==2'b00)          //双击错误二,光标跳转处
begin
if(HOUR<=5'b10110 )
begin
HOUR<=HOUR+1'b1;
end
else
begin
HOUR<=5'b00000;
end
end
else if(TS==2'b11)
begin
if(HOUR>5'b00000&&HOUR<=5'b10111)
begin
HOUR<=HOUR-1'b1;
end
else
begin
HOUR<=5'b10111;
    end
end
else
begin
HOUR<=HOUR;
end
end
end
endmodule


Error (10200): Verilog HDL Conditional Statement error at hou_change.v(55): cannot match operand(s) in the condition to the corresponding edges in the enclosing event control of the always construct
Error (10200): Verilog HDL Conditional Statement error at hou_change.v(89): cannot match operand(s) in the condition to the corresponding edges in the enclosing event control of the always construct
Error (12153): Can't elaborate top-level user hierarchy



No pays, no gains.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2014-4-12 20:18:49 | 显示全部楼层
回复 支持 反对

使用道具 举报

27

主题

774

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1473
金钱
1473
注册时间
2013-4-12
在线时间
77 小时
发表于 2014-4-13 18:32:13 | 显示全部楼层
改成1‘b0试试
简单是多么的快乐,而快乐就因你而简单!微芯动力LTKKS
回复 支持 反对

使用道具 举报

13

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2012-11-30
在线时间
0 小时
 楼主| 发表于 2014-4-14 17:09:17 | 显示全部楼层
是这个always @(posedge CLK1 or negedge KEN1 or posedge CLK2 or negedge KEN2)的错误,一个always语句块不可以通知有两个时钟和不可以同时又两个复位。修改后得出了我的结果!不过还是谢谢你的参与,或许还会有别的方法的!
No pays, no gains.
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-9-30 06:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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