問題來源與對友晶提供的ISP1362 IP核的使用,因爲Quartus II版本問題,它提供的IP基於7.0版本,而我用的版本爲11.1,在SOPC Builder中從新加載IP,就出現了上述的錯誤報告,在網上找了資料,以一下方法解決:ios
module ISP1362_CTRL (//Avalon Interface clk, address, readdata, writedata, writedata_avalon_slave_1, chipselect_n, read_n, write_n, reset_n, write_n_avalon_slave_1, irq_n, irq_n_avalon_slave_1, //Phillips USB controller OTG_ADDR, OTG_DATA, OTG_CS_N, OTG_RD_N, OTG_WR_N, OTG_RST_N, OTG_INT0, OTG_INT1, OTG_FSPEED, OTG_LSPEED, OTG_DACK0_N, OTG_DACK1_N); //Avalon Interface input clk, chipselect_n, read_n, write_n, reset_n, write_n_avalon_slave_1; input [1:0] address; input [15:0] writedata; input [7:0] writedata_avalon_slave_1; output [15:0] readdata; output irq_n, irq_n_avalon_slave_1; //Phillips USB controller output [1:0] OTG_ADDR; inout [15:0] OTG_DATA; output OTG_CS_N, OTG_RD_N, OTG_WR_N, OTG_RST_N; input OTG_INT0, OTG_INT1; output OTG_FSPEED, OTG_LSPEED, OTG_DACK0_N, OTG_DACK1_N; //Registers reg [15:0] data, readdata; reg [1:0] OTG_ADDR; reg OTG_CS_N, OTG_RD_N, OTG_WR_N; reg irq_n, irq_n_avalon_slave_1; //Assignments assign OTG_RST_N = reset_n; assign OTG_DATA = OTG_WR_N ? 16'hZZZZ : data; assign OTG_DACK0_N = 1'b1, OTG_DACK1_N = 1'b1; assign OTG_FSPEED = 0, OTG_LSPEED = 0; //Reset condition always @ (posedge clk or negedge reset_n) begin if (reset_n==0) begin data <= 0; readdata <= 0; OTG_ADDR <= 0; OTG_CS_N <= 1; OTG_RD_N <= 1; OTG_WR_N <= 1; irq_n <= 1; irq_n_avalon_slave_1 <= 1; end else begin data <= writedata; readdata <= OTG_DATA; OTG_ADDR <= address; OTG_CS_N <= chipselect_n; OTG_RD_N <= read_n; OTG_WR_N <= write_n; irq_n <= OTG_INT0; irq_n_avalon_slave_1 <= OTG_INT1; end end endmodule
後面的過程愉快而輕鬆,換過的方法很是多,鬱悶到死,找資料仍是GOOGLE靠譜。