请看看为什么verilog仿真通过,综合通不过。
时间:10-02
整理:3721RD
点击:
always @(posedge clk)
begin
if(!reset)
begin
counter <= 0;
end
else
counter <= counter + 1;
end
always @(posedge counter[18] or negedge txbusy)
begin
if(!reset)
begin
daout <= 8'h00;
end
else if(!txbusy)
begin
wr <= 0;
end
else
begin
wr <= 0;
daout <= daout + 1;
end
end
错误为:
@E: test.v(33): The logic for daout[7:0] does not match a standard flip-flop @E:"e:\xilinx\bin\mylearning\test1\uart\test.v":33:0:33:6
1 Verilog Compiler error
请看看为什么verilog仿真通过,综合通不过。
negedge txbusy 不能写到 always @(posedge counter[18] or negedge txbusy) 里面
看了你的设计,感觉到你的设计思想不对,需要加强,请多看一些好的设计。
请看看为什么verilog仿真通过,综合通不过。
把你完整的程序贴出来吧
请看看为什么verilog仿真通过,综合通不过。
posedge counter[18]的毛病,可以这样
wire cont_plus;
assign cont_plus=counter[18];
然后用posedge cont_plus代替posedge counter[18]就可以了。
counter[18]等价于counter[18:18],在综合器中它被看作是总线信号,没有沿。
请看看为什么verilog仿真通过,综合通不过。
工具显示的是找不到这种FF,因为你是同步复位(reset),所以要把always里的negedge txbusy去掉就可以了。
另外时钟象羽翔那样处理一下。
学习啊,,,
好好看一下规范,不要用写软件的方式去写硬件,当初师傅这么教我的,
