|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
- module exercise (
- clk,
- reset,
- in_1,
- in_2,
- out_1,
- out_2);
- input in_1,in_2,clk,reset;
- output [3:0] out_1,out_2;
- //nei
- reg [3:0] a,b,c;
-
- assign out_1=c;
- assign out_2=a;
- always @(posedge clk or negedge reset)
- begin
- if(!reset)
- begin
- a=0;
- b=0;
- c=0;
- end
- else
- begin
- if(a>8)
- a<=0;
- else
- a<=a+1;
- case ({in_1,in_2})
- 2'b00: c<=a+b-1;
- 2'b01: c<=8-a+b;
- 2'b10: c<=a+b+1;
- default:c<=0;
- endcase
- b<=c;
- end
- end
- endmodule
复制代码
这是我为了学习时序分析随便写的程序,其中对于a来说,只是简单的自加,到9后归0。而时序分析后从a到out_2的时钟输出延时(tco)为什么这么大?这是正常的吗?如果想弄小一点应该怎么办?
这是RTL图:
谢谢! |
|