|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 shadow_cuk 于 2011-7-18 11:44 编辑
用verilog写了个计数器的代码,异步复位,clk的高电平期间对fin计数,clk的下降沿输出计数值,modelsim里面做功能仿真没啥问题,但是DC综合的话就不行,报cout[6:0]和counter_buf[6:0]被多个源驱动,但是我查不出错误在哪儿,请教各位帮忙看看
- //Verilog HDL for "pll_system_sim", "COUNTER_AFC" "verilog"
- module COUNTER_AFC(clk,fin,reset,cout);
- input clk,fin,reset;
- output [6:0]cout;
- reg [6:0]cout;
- reg [6:0]counter_buf;
-
- always @(posedge reset or posedge fin)
- if (reset)
- begin
- counter_buf[6:0] <= 7'b0000000;
- cout[6:0] <= 7'b1111111;
- end
- else if (clk)
- counter_buf[6:0] <= counter_buf[6:0] + 1;
- always @(negedge clk)
- if (!reset)
- begin
- cout[6:0] <= counter_buf[6:0];
- counter_buf[6:0] <= 7'b0000000;
- end
- endmodule
复制代码
|
|