0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

micropythonでshrike-lite、やってみた。
ルネサスのGo Configure Software Hubで、Place-and-Route toolエラーがでた件。

Synthesizeは、OK
GenerateBitstreamで、Place-and-Route tool failed

投入したソースコード

(* top *) module top ((* iopad_external_pin, clkbuf_inhibit *) input clk,
	(* iopad_external_pin *) output clk_en,
	(* iopad_external_pin *) input rst_n,
	(* iopad_external_pin *) input spi_ss_n,
	(* iopad_external_pin *) input spi_sck,
	(* iopad_external_pin *) input spi_mosi,
	(* iopad_external_pin *) output spi_miso,
	(* iopad_external_pin *) output spi_miso_en
);
	integer i,
		j;
	reg [3:0] q[0:5];
	reg [7:0] rom[0:15];
	reg [3:0] temp;
	reg [3:0] out;
	reg [7:0] tx_data_reg;
	reg [7:0] code;
	wire [3:0] op;
	wire [3:0] opland;
	wire [7:0] rx_data_wire;
	wire rx_valid_pulse;
	assign op = code[7:4];
	assign opland = code[3:0];
	assign clk_en = 1'b1;
	spi_target #(.CPOL(1'b0), .CPHA(1'b0), .WIDTH(8), .LSB(1'b0))
		u_spi_target (.i_clk(clk), .i_rst_n(rst_n), .i_enable(1'b1), .i_ss_n(spi_ss_n), .i_sck(spi_sck), 
			.i_mosi(spi_mosi), .o_miso(spi_miso), .o_miso_oe(spi_miso_en), .o_rx_data(rx_data_wire), 
			.o_rx_data_valid(rx_valid_pulse), .i_tx_data(tx_data_reg), .o_tx_data_hold());
	always @(posedge clk or negedge rst_n or posedge rx_valid_pulse) 
	begin
		if (!rst_n)
		begin
			q[5] <= 0; 
			q[4] <= 0; 
			q[3] <= 0; 
			q[2] <= 0; 
			q[1] <= 0;
			q[0] <= 0;
			out <= 0;
			tx_data_reg <= 8'h00;
		end
		else if (rx_valid_pulse)
		begin
			code <= rx_data_wire;
		end
	end
	always @(posedge rx_valid_pulse)
	begin
		//$display("rx: %h ", code); 
		case (op)
		4'h1://sort5
			begin
				for (i = 0; i < 4; i = i + 1) 
				begin
					for (j = 0; j < 4 - i; j = j + 1) 
					begin
						if (q[j] > q[j + 1]) 
						begin
							temp = q[j];
							q[j] = q[j + 1];
							q[j + 1] = temp;
						end
					end
				end
			end
		4'h2://push
			begin
				q[5] <= q[4]; q[4] <= q[3]; q[3] <= q[2]; q[2] <= q[1]; q[1] <= q[0];
				q[0] <= opland;
				//$display("push");
			end
		4'h5://out
			begin
				out <= q[0];
				q[0] <= q[1];
				q[1] <= q[2]; q[2] <= q[3]; q[3] <= q[4]; q[4] <= q[5]; q[5] <= 4'd0;
				//$display("out");
			end
		4'h8://dup
			begin
				q[5] <= q[4]; q[4] <= q[3]; q[3] <= q[2]; q[2] <= q[1]; q[1] <= q[0];
			end
		4'h9://drop
			begin
				q[0] <= q[1];
				q[1] <= q[2]; q[2] <= q[3]; q[3] <= q[4]; q[4] <= q[5]; q[5] <= 4'd0;
			end
		4'hf:
			begin
				case (opland)
				4'h0://+
					begin
						q[0] <= q[1] + q[0];
						q[1] <= q[2]; q[2] <= q[3]; q[3] <= q[4]; q[4] <= q[5]; q[5] <= 4'd0;
					end
				4'h1://-
					begin
						q[0] <= q[1] - q[0];
						q[1] <= q[2]; q[2] <= q[3]; q[3] <= q[4]; q[4] <= q[5]; q[5] <= 4'd0;
					end
				4'h2://*
					begin
						q[0] <= q[1] * q[0];
						q[1] <= q[2]; q[2] <= q[3]; q[3] <= q[4]; q[4] <= q[5]; q[5] <= 4'd0;
					end
				4'h3:///
					begin
						q[0] <= q[1] / q[0];
						q[1] <= q[2]; q[2] <= q[3]; q[3] <= q[4]; q[4] <= q[5]; q[5] <= 4'd0;
					end
				4'h4://%
					begin
						q[0] <= q[1] % q[0];
						q[1] <= q[2]; q[2] <= q[3]; q[3] <= q[4]; q[4] <= q[5]; q[5] <= 4'd0;
					end
				default: ;
				endcase
			end
		default: ;
		endcase
		tx_data_reg <= {4'd0, out};
		//$display("tx: %h ", tx_data_reg); 
	end
endmodule




発生したエラー

######################################################################
9/10/26 4:35 AM > Launching Place-and-Route tool
######################################################################
-ENABLE_BITSTREAM_OUTPUT_AXI 1
-ENABLE_BITSTREAM_OUTPUT_AXI_CRC 0
-ENABLE_HIGH_DENSITY_PACKING 1
-ENABLE_HIGH_DENSITY_IO_PACKING 0
-CLK_CONCURRENT_OPT 1
-PLACE_AND_TRIAL_ROUTE 0
-PNR_TRIAL_ITER_TOTAL 20
-MAX_ROUTE_ITER 300
-MAX_CPU 16
-TIMING_ANALYSIS_CORNER 0
-TIMING_DRIVEN_PACKING_THR 0.700000
Opened I/O file C:/Users/ohisa/AppData/Local/Temp/ScdPptmf/config/io_spec_in.txt for reading.
Full I/O locations after placement are in I/O file PNR_IO.log
Reading file C:/Users/ohisa/AppData/Local/Temp/ScdPptmf/config/netlist.edif.
Reading reference library LIB
    Reading cell GND... Reading complete.
    Reading cell VCC... Reading complete.
    Reading cell top... Reading complete.
    Reading cell id00001... Reading complete.
    Reading cell id00002... Reading complete.
    Reading cell IBUF... Reading complete.
    Reading cell IBUFG... Reading complete.
    Reading cell OBUF... Reading complete.
    Reading cell IOBUF... Reading complete.
    Reading cell OBUFT... Reading complete.
    Reading cell BUFG... Reading complete.
    Reading cell BUFGCTRL... Reading complete.
    Reading cell BUFHCE... Reading complete.
    Reading cell INV... Reading complete.
    Reading cell LUT1... Reading complete.
    Reading cell LUT2... Reading complete.
    Reading cell LUT3... Reading complete.
    Reading cell LUT4... Reading complete.
    Reading cell LUT5... Reading complete.
    Reading cell LUT6... Reading complete.
    Reading cell LUT6_2... Reading complete.
    Reading cell id00003... Reading complete.
    Reading cell id00004... Reading complete.
    Reading cell MUXCY... Reading complete.
    Reading cell MUXF5... Reading complete.
    Reading cell MUXF6... Reading complete.
    Reading cell MUXF7... Reading complete.
    Reading cell MUXF8... Reading complete.
    Reading cell MUXF9... Reading complete.
    Reading cell XORCY... Reading complete.
    Reading cell CARRY4... Reading complete.
    Reading cell CARRY8... Reading complete.
    Reading cell ORCY... Reading complete.
    Reading cell MULT_AND... Reading complete.
    Reading cell FDRE... Reading complete.
    Reading cell FDRE_1... Reading complete.
    Reading cell FDSE... Reading complete.
    Reading cell FDSE_1... Reading complete.
    Reading cell FDRSE... Reading complete.
    Reading cell FDRSE_1... Reading complete.
    Reading cell FDCE... Reading complete.
    Reading cell FDCE_1... Reading complete.
    Reading cell FDPE... Reading complete.
    Reading cell FDPE_1... Reading complete.
    Reading cell FDCPE... Reading complete.
    Reading cell FDCPE_1... Reading complete.
    Reading cell LDCE... Reading complete.
    Reading cell LDPE... Reading complete.
    Reading cell LDCPE... Reading complete.
    Reading cell AND2B1L... Reading complete.
    Reading cell OR2L... Reading complete.
    Reading cell RAM16X1S... Reading complete.
    Reading cell RAM16X1S_1... Reading complete.
    Reading cell RAM32X1S... Reading complete.
    Reading cell RAM32X1S_1... Reading complete.
    Reading cell RAM64X1S... Reading complete.
    Reading cell RAM64X1S_1... Reading complete.
    Reading cell RAM128X1S... Reading complete.
    Reading cell RAM128X1S_1... Reading complete.
    Reading cell RAM256X1S... Reading complete.
    Reading cell RAM512X1S... Reading complete.
    Reading cell RAM16X2S... Reading complete.
    Reading cell RAM32X2S... Reading complete.
    Reading cell RAM64X2S... Reading complete.
    Reading cell RAM16X4S... Reading complete.
    Reading cell RAM32X4S... Reading complete.
    Reading cell RAM16X8S... Reading complete.
    Reading cell RAM32X8S... Reading complete.
    Reading cell RAM16X1D... Reading complete.
    Reading cell RAM16X1D_1... Reading complete.
    Reading cell RAM32X1D... Reading complete.
    Reading cell RAM32X1D_1... Reading complete.
    Reading cell RAM64X1D... Reading complete.
    Reading cell RAM64X1D_1... Reading complete.
    Reading cell RAM128X1D... Reading complete.
    Reading cell RAM256X1D... Reading complete.
    Reading cell RAM32M... Reading complete.
    Reading cell RAM32M16... Reading complete.
    Reading cell RAM64M... Reading complete.
    Reading cell RAM64M8... Reading complete.
    Reading cell RAM32X16DR8... Reading complete.
    Reading cell RAM64X8SW... Reading complete.
    Reading cell ROM16X1... Reading complete.
    Reading cell ROM32X1... Reading complete.
    Reading cell ROM64X1... Reading complete.
    Reading cell ROM128X1... Reading complete.
    Reading cell ROM256X1... Reading complete.
    Reading cell SRL16... Reading complete.
    Reading cell SRL16E... Reading complete.
    Reading cell SRLC16... Reading complete.
    Reading cell SRLC16E... Reading complete.
    Reading cell SRLC32E... Reading complete.
    Reading cell CFGLUT5... Reading complete.
    Reading cell MULT18X18... Reading complete.
    Reading cell MULT18X18S... Reading complete.
    Reading cell MULT18X18SIO... Reading complete.
    Reading cell DSP48A... Reading complete.
    Reading cell DSP48A1... Reading complete.
    Reading cell DSP48... Reading complete.
    Reading cell DSP48E1... Reading complete.
    Reading cell RAMB18E1... Reading complete.
    Reading cell RAMB36E1... Reading complete.
    Reading cell RAMB4_S1... Reading complete.
    Reading cell RAMB4_S2... Reading complete.
    Reading cell RAMB4_S4... Reading complete.
    Reading cell RAMB4_S8... Reading complete.
    Reading cell RAMB4_S16... Reading complete.
    Reading cell RAMB4_S1_S1... Reading complete.
    Reading cell RAMB4_S1_S2... Reading complete.
    Reading cell RAMB4_S1_S4... Reading complete.
    Reading cell RAMB4_S1_S8... Reading complete.
    Reading cell RAMB4_S1_S16... Reading complete.
    Reading cell RAMB4_S2_S2... Reading complete.
    Reading cell RAMB4_S2_S4... Reading complete.
    Reading cell RAMB4_S2_S8... Reading complete.
    Reading cell RAMB4_S2_S16... Reading complete.
    Reading cell RAMB4_S4_S4... Reading complete.
    Reading cell RAMB4_S4_S8... Reading complete.
    Reading cell RAMB4_S4_S16... Reading complete.
    Reading cell RAMB4_S8_S8... Reading complete.
    Reading cell RAMB4_S8_S16... Reading complete.
    Reading cell RAMB4_S16_S16... Reading complete.
    Reading cell RAMB16_S1... Reading complete.
    Reading cell RAMB16_S2... Reading complete.
    Reading cell RAMB16_S4... Reading complete.
    Reading cell RAMB16_S9... Reading complete.
    Reading cell RAMB16_S18... Reading complete.
    Reading cell RAMB16_S36... Reading complete.
    Reading cell RAMB16_S1_S1... Reading complete.
    Reading cell RAMB16_S1_S2... Reading complete.
    Reading cell RAMB16_S1_S4... Reading complete.
    Reading cell RAMB16_S1_S9... Reading complete.
    Reading cell RAMB16_S1_S18... Reading complete.
    Reading cell RAMB16_S1_S36... Reading complete.
    Reading cell RAMB16_S2_S2... Reading complete.
    Reading cell RAMB16_S2_S4... Reading complete.
    Reading cell RAMB16_S2_S9... Reading complete.
    Reading cell RAMB16_S2_S18... Reading complete.
    Reading cell RAMB16_S2_S36... Reading complete.
    Reading cell RAMB16_S4_S4... Reading complete.
    Reading cell RAMB16_S4_S9... Reading complete.
    Reading cell RAMB16_S4_S18... Reading complete.
    Reading cell RAMB16_S4_S36... Reading complete.
    Reading cell RAMB16_S9_S9... Reading complete.
    Reading cell RAMB16_S9_S18... Reading complete.
    Reading cell RAMB16_S9_S36... Reading complete.
    Reading cell RAMB16_S18_S18... Reading complete.
    Reading cell RAMB16_S18_S36... Reading complete.
    Reading cell RAMB16_S36_S36... Reading complete.
    Reading cell RAMB16BWE_S18... Reading complete.
    Reading cell RAMB16BWE_S36... Reading complete.
    Reading cell RAMB16BWE_S18_S9... Reading complete.
    Reading cell RAMB16BWE_S18_S18... Reading complete.
    Reading cell RAMB16BWE_S36_S9... Reading complete.
    Reading cell RAMB16BWE_S36_S18... Reading complete.
    Reading cell RAMB16BWE_S36_S36... Reading complete.
    Reading cell RAMB16BWER... Reading complete.
    Reading cell RAMB8BWER... Reading complete.
    Reading cell FIFO16... Reading complete.
    Reading cell RAMB16... Reading complete.
    Reading cell RAMB32_S64_ECC... Reading complete.
    Reading cell FIFO18... Reading complete.
    Reading cell FIFO18_36... Reading complete.
    Reading cell FIFO36... Reading complete.
    Reading cell FIFO36_72... Reading complete.
    Reading cell RAMB18... Reading complete.
    Reading cell RAMB36... Reading complete.
    Reading cell RAMB18SDP... Reading complete.
    Reading cell RAMB36SDP... Reading complete.
    Reading cell FIFO18E1... Reading complete.
    Reading cell FIFO36E1... Reading complete.
    Reading cell FIFO18E2... Reading complete.
    Reading cell FIFO36E2... Reading complete.
    Reading cell RAMB18E2... Reading complete.
    Reading cell RAMB36E2... Reading complete.
    Reading cell URAM288... Reading complete.
    Reading cell URAM288_BASE... Reading complete.
    Reading cell DSP48E... Reading complete.
    Reading cell DSP48E2... Reading complete.
    Reading cell FDDRCPE... Reading complete.
    Reading cell FDDRRSE... Reading complete.
    Reading cell IFDDRCPE... Reading complete.
    Reading cell IFDDRRSE... Reading complete.
    Reading cell OFDDRCPE... Reading complete.
    Reading cell OFDDRRSE... Reading complete.
    Reading cell OFDDRTCPE... Reading complete.
    Reading cell OFDDRTRSE... Reading complete.
    Reading cell IDDR2... Reading complete.
    Reading cell ODDR2... Reading complete.
    Reading cell IDDR... Reading complete.
    Reading cell IDDR_2CLK... Reading complete.
    Reading cell ODDR... Reading complete.
    Reading cell IDELAYCTRL... Reading complete.
    Reading cell IDELAY... Reading complete.
    Reading cell ISERDES... Reading complete.
    Reading cell OSERDES... Reading complete.
    Reading cell IODELAY... Reading complete.
    Reading cell ISERDES_NODELAY... Reading complete.
    Reading cell IODELAYE1... Reading complete.
    Reading cell ISERDESE1... Reading complete.
    Reading cell OSERDESE1... Reading complete.
    Reading cell IDELAYE2... Reading complete.
    Reading cell ODELAYE2... Reading complete.
    Reading cell ISERDESE2... Reading complete.
    Reading cell OSERDESE2... Reading complete.
    Reading cell PHASER_IN... Reading complete.
    Reading cell PHASER_IN_PHY... Reading complete.
    Reading cell PHASER_OUT... Reading complete.
    Reading cell PHASER_OUT_PHY... Reading complete.
    Reading cell PHASER_REF... Reading complete.
    Reading cell PHY_CONTROL... Reading complete.
    Reading cell IDDRE1... Reading complete.
    Reading cell ODDRE1... Reading complete.
    Reading cell IDELAYE3... Reading complete.
    Reading cell ODELAYE3... Reading complete.
    Reading cell ISERDESE3... Reading complete.
    Reading cell OSERDESE3... Reading complete.
    Reading cell BITSLICE_CONTROL... Reading complete.
    Reading cell RIU_OR... Reading complete.
    Reading cell RX_BITSLICE... Reading complete.
    Reading cell RXTX_BITSLICE... Reading complete.
    Reading cell TX_BITSLICE... Reading complete.
    Reading cell TX_BITSLICE_TRI... Reading complete.
    Reading cell IODELAY2... Reading complete.
    Reading cell IODRP2... Reading complete.
    Reading cell IODRP2_MCB... Reading complete.
    Reading cell ISERDES2... Reading complete.
    Reading cell OSERDES2... Reading complete.
    Reading cell IBUF_DLY_ADJ... Reading complete.
    Reading cell IBUF_IBUFDISABLE... Reading complete.
    Reading cell IBUF_INTERMDISABLE... Reading complete.
    Reading cell IBUF_ANALOG... Reading complete.
    Reading cell IBUFE3... Reading complete.
    Reading cell IBUFDS... Reading complete.
    Reading cell IBUFDS_DLY_ADJ... Reading complete.
    Reading cell IBUFDS_IBUFDISABLE... Reading complete.
    Reading cell IBUFDS_INTERMDISABLE... Reading complete.
    Reading cell IBUFDS_DIFF_OUT... Reading complete.
    Reading cell IBUFDS_DIFF_OUT_IBUFDISABLE... Reading complete.
    Reading cell IBUFDS_DIFF_OUT_INTERMDISABLE... Reading complete.
    Reading cell IBUFDSE3... Reading complete.
    Reading cell IBUFDS_DPHY... Reading complete.
    Reading cell IBUFGDS... Reading complete.
    Reading cell IBUFGDS_DIFF_OUT... Reading complete.
    Reading cell IOBUF_DCIEN... Reading complete.
    Reading cell IOBUF_INTERMDISABLE... Reading complete.
    Reading cell IOBUFE3... Reading complete.
    Reading cell IOBUFDS... Reading complete.
    Reading cell IOBUFDS_DCIEN... Reading complete.
    Reading cell IOBUFDS_INTERMDISABLE... Reading complete.
    Reading cell IOBUFDS_DIFF_OUT... Reading complete.
    Reading cell IOBUFDS_DIFF_OUT_DCIEN... Reading complete.
    Reading cell IOBUFDS_DIFF_OUT_INTERMDISABLE... Reading complete.
    Reading cell IOBUFDSE3... Reading complete.
    Reading cell OBUFDS... Reading complete.
    Reading cell OBUFDS_DPHY... Reading complete.
    Reading cell OBUFTDS... Reading complete.
    Reading cell KEEPER... Reading complete.
    Reading cell PULLDOWN... Reading complete.
    Reading cell PULLUP... Reading complete.
    Reading cell DCIRESET... Reading complete.
    Reading cell HPIO_VREF... Reading complete.
    Reading cell BUFGCE... Reading complete.
    Reading cell BUFGCE_1... Reading complete.
    Reading cell BUFGMUX... Reading complete.
    Reading cell BUFGMUX_1... Reading complete.
    Reading cell BUFGMUX_CTRL... Reading complete.
    Reading cell BUFGMUX_VIRTEX4... Reading complete.
    Reading cell BUFG_GT... Reading complete.
    Reading cell BUFG_GT_SYNC... Reading complete.
    Reading cell BUFG_PS... Reading complete.
    Reading cell BUFGCE_DIV... Reading complete.
    Reading cell BUFH... Reading complete.
    Reading cell BUFIO2... Reading complete.
    Reading cell BUFIO2_2CLK... Reading complete.
    Reading cell BUFIO2FB... Reading complete.
    Reading cell BUFPLL... Reading complete.
    Reading cell BUFPLL_MCB... Reading complete.
    Reading cell BUFIO... Reading complete.
    Reading cell BUFIODQS... Reading complete.
    Reading cell BUFR... Reading complete.
    Reading cell BUFMR... Reading complete.
    Reading cell BUFMRCE... Reading complete.
    Reading cell DCM... Reading complete.
    Reading cell DCM_SP... Reading complete.
    Reading cell DCM_CLKGEN... Reading complete.
    Reading cell DCM_ADV... Reading complete.
    Reading cell DCM_BASE... Reading complete.
    Reading cell DCM_PS... Reading complete.
    Reading cell PMCD... Reading complete.
    Reading cell PLL_ADV... Reading complete.
    Reading cell PLL_BASE... Reading complete.
    Reading cell MMCM_ADV... Reading complete.
    Reading cell MMCM_BASE... Reading complete.
    Reading cell MMCME2_ADV... Reading complete.
    Reading cell MMCME2_BASE... Reading complete.
    Reading cell PLLE2_ADV... Reading complete.
    Reading cell PLLE2_BASE... Reading complete.
    Reading cell MMCME3_ADV... Reading complete.
    Reading cell MMCME3_BASE... Reading complete.
    Reading cell PLLE3_ADV... Reading complete.
    Reading cell PLLE3_BASE... Reading complete.
    Reading cell MMCME4_ADV... Reading complete.
    Reading cell MMCME4_BASE... Reading complete.
    Reading cell PLLE4_ADV... Reading complete.
    Reading cell PLLE4_BASE... Reading complete.
    Reading cell BUFT... Reading complete.
    Reading cell IN_FIFO... Reading complete.
    Reading cell OUT_FIFO... Reading complete.
    Reading cell HARD_SYNC... Reading complete.
    Reading cell STARTUP_SPARTAN3... Reading complete.
    Reading cell STARTUP_SPARTAN3E... Reading complete.
    Reading cell STARTUP_SPARTAN3A... Reading complete.
    Reading cell STARTUP_SPARTAN6... Reading complete.
    Reading cell STARTUP_VIRTEX4... Reading complete.
    Reading cell STARTUP_VIRTEX5... Reading complete.
    Reading cell STARTUP_VIRTEX6... Reading complete.
    Reading cell STARTUPE2... Reading complete.
    Reading cell STARTUPE3... Reading complete.
    Reading cell CAPTURE_SPARTAN3... Reading complete.
    Reading cell CAPTURE_SPARTAN3A... Reading complete.
    Reading cell CAPTURE_VIRTEX4... Reading complete.
    Reading cell CAPTURE_VIRTEX5... Reading complete.
    Reading cell CAPTURE_VIRTEX6... Reading complete.
    Reading cell CAPTUREE2... Reading complete.
    Reading cell ICAP_SPARTAN3A... Reading complete.
    Reading cell ICAP_SPARTAN6... Reading complete.
    Reading cell ICAP_VIRTEX4... Reading complete.
    Reading cell ICAP_VIRTEX5... Reading complete.
    Reading cell ICAP_VIRTEX6... Reading complete.
    Reading cell ICAPE2... Reading complete.
    Reading cell ICAPE3... Reading complete.
    Reading cell BSCAN_SPARTAN3... Reading complete.
    Reading cell BSCAN_SPARTAN3A... Reading complete.
    Reading cell BSCAN_SPARTAN6... Reading complete.
    Reading cell BSCAN_VIRTEX4... Reading complete.
    Reading cell BSCAN_VIRTEX5... Reading complete.
    Reading cell BSCAN_VIRTEX6... Reading complete.
    Reading cell BSCANE2... Reading complete.
    Reading cell DNA_PORT... Reading complete.
    Reading cell DNA_PORTE2... Reading complete.
    Reading cell FRAME_ECC_VIRTEX4... Reading complete.
    Reading cell FRAME_ECC_VIRTEX5... Reading complete.
    Reading cell FRAME_ECC_VIRTEX6... Reading complete.
    Reading cell FRAME_ECCE2... Reading complete.
    Reading cell FRAME_ECCE3... Reading complete.
    Reading cell FRAME_ECCE4... Reading complete.
    Reading cell USR_ACCESS_VIRTEX4... Reading complete.
    Reading cell USR_ACCESS_VIRTEX5... Reading complete.
    Reading cell USR_ACCESS_VIRTEX6... Reading complete.
    Reading cell USR_ACCESSE2... Reading complete.
    Reading cell POST_CRC_INTERNAL... Reading complete.
    Reading cell SUSPEND_SYNC... Reading complete.
    Reading cell KEY_CLEAR... Reading complete.
    Reading cell MASTER_JTAG... Reading complete.
    Reading cell SPI_ACCESS... Reading complete.
    Reading cell EFUSE_USR... Reading complete.
    Reading cell SYSMON... Reading complete.
    Reading cell XADC... Reading complete.
    Reading cell SYSMONE1... Reading complete.
    Reading cell SYSMONE4... Reading complete.
    Reading cell GTPA1_DUAL... Reading complete.
    Reading cell GT11_CUSTOM... Reading complete.
    Reading cell GT11_DUAL... Reading complete.
    Reading cell GT11CLK... Reading complete.
    Reading cell GT11CLK_MGT... Reading complete.
    Reading cell GTP_DUAL... Reading complete.
    Reading cell GTX_DUAL... Reading complete.
    Reading cell CRC32... Reading complete.
    Reading cell CRC64... Reading complete.
    Reading cell GTHE1_QUAD... Reading complete.
    Reading cell GTXE1... Reading complete.
    Reading cell IBUFDS_GTXE1... Reading complete.
    Reading cell IBUFDS_GTHE1... Reading complete.
    Reading cell GTHE2_CHANNEL... Reading complete.
    Reading cell GTHE2_COMMON... Reading complete.
    Reading cell GTPE2_CHANNEL... Reading complete.
    Reading cell GTPE2_COMMON... Reading complete.
    Reading cell GTXE2_CHANNEL... Reading complete.
    Reading cell GTXE2_COMMON... Reading complete.
    Reading cell IBUFDS_GTE2... Reading complete.
    Reading cell GTHE3_CHANNEL... Reading complete.
    Reading cell GTHE3_COMMON... Reading complete.
    Reading cell GTYE3_CHANNEL... Reading complete.
    Reading cell GTYE3_COMMON... Reading complete.
    Reading cell IBUFDS_GTE3... Reading complete.
    Reading cell OBUFDS_GTE3... Reading complete.
    Reading cell OBUFDS_GTE3_ADV... Reading complete.
    Reading cell GTHE4_CHANNEL... Reading complete.
    Reading cell GTHE4_COMMON... Reading complete.
    Reading cell GTYE4_CHANNEL... Reading complete.
    Reading cell GTYE4_COMMON... Reading complete.
    Reading cell IBUFDS_GTE4... Reading complete.
    Reading cell OBUFDS_GTE4... Reading complete.
    Reading cell OBUFDS_GTE4_ADV... Reading complete.
    Reading cell GTM_DUAL... Reading complete.
    Reading cell IBUFDS_GTM... Reading complete.
    Reading cell OBUFDS_GTM... Reading complete.
    Reading cell OBUFDS_GTM_ADV... Reading complete.
    Reading cell HSDAC... Reading complete.
    Reading cell HSADC... Reading complete.
    Reading cell RFDAC... Reading complete.
    Reading cell RFADC... Reading complete.
    Reading cell PCIE_A1... Reading complete.
    Reading cell PCIE_EP... Reading complete.
    Reading cell PCIE_2_0... Reading complete.
    Reading cell PCIE_2_1... Reading complete.
    Reading cell PCIE_3_0... Reading complete.
    Reading cell PCIE_3_1... Reading complete.
    Reading cell PCIE40E4... Reading complete.
    Reading cell PCIE4CE4... Reading complete.
    Reading cell EMAC... Reading complete.
    Reading cell TEMAC... Reading complete.
    Reading cell TEMAC_SINGLE... Reading complete.
    Reading cell CMAC... Reading complete.
    Reading cell CMACE4... Reading complete.
    Reading cell MCB... Reading complete.
    Reading cell HBM_REF_CLK... Reading complete.
    Reading cell HBM_SNGLBLI_INTF_APB... Reading complete.
    Reading cell HBM_SNGLBLI_INTF_AXI... Reading complete.
    Reading cell HBM_ONE_STACK_INTF... Reading complete.
    Reading cell HBM_TWO_STACK_INTF... Reading complete.
    Reading cell PPC405_ADV... Reading complete.
    Reading cell PPC440... Reading complete.
    Reading cell PS7... Reading complete.
    Reading cell PS8... Reading complete.
    Reading cell ILKN... Reading complete.
    Reading cell ILKNE4... Reading complete.
    Reading cell VCU... Reading complete.
    Reading cell FE... Reading complete.
    Reading cell id00005... Reading complete.
    Reading cell id00006... Reading complete.
    Reading cell id00007... Reading complete.
    Reading cell id00008... Reading complete.
    Reading cell id00009... Reading complete.
    Reading cell id00010... Reading complete.
    Reading cell id00011... Reading complete.
Reading library LIB complete.
Reading design library DESIGN...
    Reading cell top...ERROR! Multiple-driver nets! Already driven by inst id00333 port Q bit -1
FPGA EDIF Parser error! Exiting...
Resource estimation is skipped because of errors in parsing.
FPGA Compiler run terminated due to errors. Not launching GUI.
Abnormal Exit due to errors
Process exited with code 3
######################################################################
9/10/26 4:35 AM > Place-and-Route tool failed
######################################################################

AIに聞く。

ネットリスト内に、1つの信号(Net)に対して複数の出力ピンが接続されている「マルチドライバ(複数駆動)」のエラーが発生しています。
FPGAでは、通常の論理信号(バスやワイヤ)を複数の出力(インスタンスのポートなど)で同時に駆動することはできません。
このルールに違反しているため、ツールがエラーコード 3 で異常終了(Abnormal Exit)しています。

エラーの核心
Already driven by inst id00333 port Q bit -1
原因となっている部品(インスタンス): id00333
原因のピン: Q(フリップフロップやカウンタ、レジスタの出力ピンである可能性が高いです)
この id00333 の Q ピンが接続されている信号線に、別の部品の出力ピンも接続されてしまっている状態です。

解決するためのステップ

RTLコード(Verilog / VHDL)の確認
同じ変数(reg や wire)に対して、複数の always ブロックや assign 文から同時に値を代入していないか確認してください。例:assign my_signal = a; と assign my_signal = b; が同時に存在しているなど。

論理合成(Synthesis)ツールのログ確認
今回のエラーは配置配線(PnR)ツールで出ていますが、問題は一つ前の「論理合成」の段階、またはEDIFファイルの出力時点で発生しています。合成ツールのログ(.log や .srp など)に id00333 が元のソースコードのどのモジュールや変数に対応しているか(レジスタ名など)のヒントが記載されていないか確認してください。

双方向バッファ(IOBUF)や三状態バッファ(OBUFT)の確認
もし意図して複数の出力を繋いでいる場合(バス構成など)、FPGAの内部ルータはそれらを直接接続できません。三状態(トライステート)制御や、マルチプレクサ(MUX)による選択回路に書き換える必要があります。

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?