I have a code for a basic computer developed in VHDL. when I add a component for an I/O device, It fails to generate a Bitstream (it completes the synthesis and implementation), giving the following errors:
[DRC NSTD-1] Unspecified I/O Standard: 54 out of 54 logical ports use I/O
standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific
value. This may cause I/O contention or incompatibility with the board
power or connectivity affecting performance, signal integrity or in
extreme cases cause damage to the device or the components to which it is
connected. To correct this violation, specify all I/O standards. This
design will fail to generate a bitstream unless all logical ports have a
user specified I/O standard value defined. To allow bitstream creation
with unspecified I/O standard values (not recommended), use this command:
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]. NOTE: When using
the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this
command to a .tcl file and add that file as a pre-hook for write_bitstream
step for the implementation run. Problem ports: a[15:0], b[15:0],
sop[2:0], result[15:0], c, z, and n.
[DRC UCIO-1] Unconstrained Logical Port: 54 out of 54 logical ports have
no user assigned specific location constraint (LOC). This may cause I/O
contention or incompatibility with the board power or connectivity
affecting performance, signal integrity or in extreme cases cause damage
to the device or the components to which it is connected. To correct this
violation, specify all pin locations. This design will fail to generate a
bitstream unless all logical ports have a user specified site LOC
constraint defined. To allow bitstream creation with unspecified pin
locations (not recommended), use this command: set_property SEVERITY
{Warning} [get_drc_checks UCIO-1]. NOTE: When using the Vivado Runs
infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl
file and add that file as a pre-hook for write_bitstream step for the
implementation run. Problem ports: a[15:0], b[15:0],
sop[2:0],result[15:0], c, z, and n.
The signals I added are:
signal lcdout : std_logic;
signal disout : std_logic;
signal ledout : std_logic
And the instance of the new components are:
inst_RegDis: Reg Port map (
clock => clock,
load => disout,
datain => alu_A,
dataout => dis
);
inst_RegLed: Reg Port map (
clock => clock,
load => ledout,
datain => alu_A,
dataout => led
);
inst_DecoderOut: Decoder_Out Port map(
data_in => alu_B,
lcdout => load,
disout => disout,
ledout => ledout
);
Finally, the component that have the problem ports is:
inst_ALU: ALU Port map (
a => alu_A,
b => alu_B,
sop => selALU,
c => alu_c,
z => alu_z,
n => alu_n,
result => alu_result
);
As soon as I comment the new signals and components the problem goes away, ALU and decoder out share a signal, but It doesn't change anything in the ALU component. Any idea of what may be causing this problem?