PAD 符号 "r<3>" 具有未定义的 IOSTANDARD - Verilog

PAD symbol "r<3>" has an undefined IOSTANDARD - Verilog

我在 Verilog.
中编写 Booth Multiplier 代码 我收到以下错误。

PAD symbol "r<3>" has an undefined IOSTANDARD
PAD symbol "r<3>" is not constrained (LOC) to a specific location.

我不想在 FPGA 中测试它。只需要在 Xilinx ISE 中进行激励即可。所以我 而不是 写了 ucf file

Even though I'm getting this error, my stimulation is working perfectly.

  1. ucf file总是必要的吗?
  2. 我该如何解决这个问题?

错误不允许我生成 programming file
这是我的代码。 (对使用过的语句进行了注释)

module boothMulti( r, q, product 
    );
    input [3:0] r, q;           // Declaration of r[r shows error.]
    output reg [7:0] product;
    reg [8:0] a, b, p;
    reg [5:0] c;
    integer i;

    always@(q or r) begin       // r used here
        a[0]=0;
        b[0]=0;
        p[0]=0;

//setting up c
        c[0]=0;
        c[4:1]=r;               // r used here

//setting up a
        a[4:1]=q[3:0];
        a[8:5]=4'b0000;
        if(q[3]==0) begin a[8:5]=4'b0000; end
        else begin a[8:5]=4'b1111; end

//setting up b
        b[4:1]=((~q)+4'b0001);
        if(b[4]==0) begin b[8:5]=4'b0000; end
        else begin b[8:5]=4'b1111; end

//setting up p
        p[8:1]=8'b00000000;

    for( i=1; i<5; i=i+1) begin         
        case({c[i],c[i-1]})
            2'b0_0:begin
                    a=a<<<1; b=b<<<1;
                    end
            2'b0_1:begin
                    p=p+a;
                    a=a<<<1; b=b<<<1;
                    end
            2'b1_0:begin
                    p=p+b;
                    a=a<<<1; b=b<<<1;
                    end
            2'b1_1:begin
                    a=a<<<1; b=b<<<1;
                    end
            endcase
        end                 //end for loop
        product[7:0]=p[8:1];
    end                     //end always@
endmodule

我刚刚成功地模拟了这个设计:它编译并 运行 了一点,但是,记住你没有 post 测试台,一切都是 x。我还成功地生成了一个编程文件。

怎么样

  • 退出 ISE,
  • 正在重启,
  • 关闭项目并
  • 创建一个全新的项目?

您现有的项目中可能潜伏着某种东西导致了这种情况。