阅读:2195回复:3
请教关于verilog中inout的问题
我的FPGA要求能够往SRAM中写数据,随后还能从中读数据,我定义数据线为inout类型,为何在maxplus2中综合时总是报错?
具体如下: module test3(FDATA,M1AD,MCS,MWE,MOE,LCLK,LED); output MCS,MWE,MOE,LED; output [17:0] M1AD; inout [31:0] FDATA; input LCLK, reg MCS,MWE,MOE,LED,start; reg [2:0] counter; reg [31:0] DATA; reg [17:0] M1AD; always @(posedge LCLK) if(start) begin DATA<=32'hffffffff; MCS<=0;MWE<=0;MOE<=1; LED<=0; M1AD<=18'b0; end else begin MCS<=0;MWE<=1;MOE<=0; LED<=1; M1AD<=18'b0; end assign FDATA=(start)?DATA:32'bz; always @ (posedge LCLK) if(counter<3)begin start<=1; counter<=counter+1; end else begin counter<=3; start<=0; end endmodule 综合时报错:string is too large to be expressed in 32-bit integer 将“DATA<=32'hffffffff;”改成“ DATA<=32'h7fffffff;”可以综合,但仿真时FDATA有两套,一套输出,一套输入,FDATA一直保持0,没有出现高阻状态。 [编辑 - 6/11/04 by easyhawk] |
|
沙发#
发布于:2004-06-12 20:33
顶
|
|
板凳#
发布于:2004-06-17 21:43
把31改成15就可以
不知道为什么 http://www.eetop.com.cn/cgi-bin/leoboard.cgi |
|
|
地板#
发布于:2004-06-18 22:23
是不是与器件有关
|
|