微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog新手的问题,请各位大虾指教

verilog新手的问题,请各位大虾指教

时间:10-02 整理:3721RD 点击:
刚开始学verilog,在quartus里编译,碰到了这样一个问题,急求指教,谢谢:
项目名是XUANZEQI
结果编译出现问题:
Warning: Verilog HDL unsupported feature warning at XUANZE.v(14): Initial Construct is not supported and will be ignored
Error: Can't synthesize current design -- design does not contain any logic
不知道为什么!程序如下:
module XUANZE;
reg I1,I2,I3,I0;
reg S1,S0;
wire OUTPUT;
choose_4_1 mymux(OUTPUT,I0,I1,I2,I3,S1,S0);
initial
begin
I0=1;I1=0;I2=1;I3=0;
#1 $display("I0=%b,I1=%b,I2=%b,I3=%b\n",I0,I1,I2,I3);
S1=0;S0=1;
#1 $display("S1=%b,S0=%b,OUTPUT=%b\n",S1,S0,OUTPUT);
end
endmodule

module choose_4_1 (out,i0,i1,i2,i3,s1,s0);
output out;
input i0,i1,i2,i3;
input s0,s1;
//嵌套
assign out=s1?(s0?i3:i2)s0?i1:i2);
endmodule

这是因为quartus是一个逻辑综合工具,而不是仿真工具。
在quartus中编译相当于对代码进行逻辑综合。
逻辑综合工具不支持initial结构的转换,设计者必须使用复位机制来取代initial结构,进行电路信号的初始化。--摘自《Verilog HDL 数字设计与综合》(第二版)P204(Samir Palnitkar 著 夏宇闻 等译)

代码因该能在Modelsim等仿真工具中得到仿真结果。
PS:新手。个人理解。

看结构像一个Testbench.我也刚学.

module XUANZE;是一个testbench,不能综合的

看一下可综合的代码风格就知道了

你写的是一个不可综合的程序,当然你综合它的话就是没有任何逻辑,所以报错了:)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top