编译modelsim时出现以下错误
`timescale1ns/1psmodulefenpinqi_tb();inputclk,rst;outputregclk_div;reg[15:0]counter;a...
`timescale 1 ns/1 ps
module fenpinqi_tb();
input clk,rst;
output reg clk_div;
reg [15:0]counter;
always @(posedge clk)
if(!rst)
begin
counter<=0;
clk_div<=0;
end
else if(counter=56817)
begin
counter=0;
clk_div<~clk_div;
end
else
counter<=counter+1;
endmodule
提示这个错误 modelsim near "<=": syntax error, unexpected "<="
请问怎么修改 展开
module fenpinqi_tb();
input clk,rst;
output reg clk_div;
reg [15:0]counter;
always @(posedge clk)
if(!rst)
begin
counter<=0;
clk_div<=0;
end
else if(counter=56817)
begin
counter=0;
clk_div<~clk_div;
end
else
counter<=counter+1;
endmodule
提示这个错误 modelsim near "<=": syntax error, unexpected "<="
请问怎么修改 展开
1个回答
展开全部
你刚开始学习写这种代码吗?错误的地方有几个,详细见我注释的地方
`timescale 1 ns/1 ps
module fenpinqi_tb(clk,rst,clk_div);//端口号,难道你写的testbench?testbench不需要端口号
input clk,rst;
output reg clk_div;
reg [15:0]counter;
always @(posedge clk)
if(!rst)
begin
counter<=0;
clk_div<=0;
end
else if(counter==56817)//这里不是赋值,要用“==”
begin
counter<=0;//时序逻辑要用非阻塞赋值
clk_div<=~clk_div;//你是要去反,不是比较大小和移位。报错的地方子这里
end
else
counter<=counter+1;
endmodule
另外,建议每个比较长的always块都用begin。。。。end包裹起来。还有什么问题,欢迎追问。希望能帮到你。
`timescale 1 ns/1 ps
module fenpinqi_tb(clk,rst,clk_div);//端口号,难道你写的testbench?testbench不需要端口号
input clk,rst;
output reg clk_div;
reg [15:0]counter;
always @(posedge clk)
if(!rst)
begin
counter<=0;
clk_div<=0;
end
else if(counter==56817)//这里不是赋值,要用“==”
begin
counter<=0;//时序逻辑要用非阻塞赋值
clk_div<=~clk_div;//你是要去反,不是比较大小和移位。报错的地方子这里
end
else
counter<=counter+1;
endmodule
另外,建议每个比较长的always块都用begin。。。。end包裹起来。还有什么问题,欢迎追问。希望能帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询