Sigo recibiendo este error cuando genero el flujo de bits en mi código VHDL. No estoy seguro de por qué no funciona, creo que tiene algo que ver con el archivo de restricción o módulo inferior. Mi código es similar a mis compañeros de clase, pero yo soy el único que se encuentra con este problema.
aquí está el mensaje de error completo
[DRC NSTD-1] Estándar de E/S no especificado: 4 de cada 4 puertos lógicos utilizan el valor 'DEFAULT' del estándar de E/S (IOSTANDARD), en lugar de un valor específico asignado por el usuario. Esto puede causar contención de E/S o incompatibilidad con la alimentación o conectividad de la placa afectando al rendimiento, integridad de la señal o en casos extremos causar daños al dispositivo o a los componentes a los que está conectado. Para corregir esta violación, especifique todos los estándares de E/S. Este diseño no generará un flujo de bits a menos que todos los puertos lógicos tengan definido un valor estándar de E/S especificado por el usuario. Para permitir la creación de secuencias de bits con valores estándar de E/S no especificados (no recomendado), utilice este comando: set_property SEVERITY {Warning} [get_drc_checks NSTD-1]. NOTA: Cuando utilice la infraestructura Vivado Runs (por ejemplo, el comando Tcl launch_runs), añada este comando a un archivo .tcl y añada ese archivo como pre-hook para el paso write_bitstream para la ejecución de la implementación. Puertos problemáticos: a_bL, a_bR, entrada y salida.
Mi módulo superior es
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity lab16 is
Port ( sw : in STD_LOGIC_VECTOR (3 downto 0);
led : out STD_LOGIC_VECTOR (7 downto 0);
btnL : in STD_LOGIC;
btnR : in STD_LOGIC);
end lab16;
architecture Behavioral of lab16 is
signal A , B , C , D , W , X , Y , Z , bL, bR. c1 : STD_LOGIC;
component Lab16_1
Port ( a_A, a_bL, a_bR, clock, reset: in STD_LOGIC;
a_N : out STD_LOGIC);
end component;
begin
A <= sw(0);
B <= sw(1);
C <= sw(2);
D <= sw(3);
bR <= btnR;
bL <= btnL;
c1 <= clk;
FlipFlop1: Lab16_1 port map (a_A => A, a_bL => bL, a_bR => bR, reset => '0', clock => '1', a_N => W);
FlipFlop2: Lab16_1 port map (a_A => B, a_bL => bL, a_bR => bR, reset => '0', clock => '1', a_N => X);
FlipFlop3: Lab16_1 port map (a_A => C, a_bL => bL, a_bR => bR, reset => '0', clock => '1', a_N => Y);
FlipFlop4: Lab16_1 port map (a_A => D, a_bL => bL, a_bR => bR, reset => '0', clock => '1', a_N => Z);
led(0) <= sw(0);
led(1) <= sw(1);
led(2) <= sw(2);
led(3) <= sw(3);
led(4) <= W;
led(5) <= X;
led(6) <= Y;
led(7) <= Z;
end Behavioral;
Módulo inferior
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Lab16_1 is
port(
a_A, a_bL, a_bR, reset, clock : in STD_LOGIC;
a_N : out STD_LOGIC
);
end entity Lab16_1;
architecture Behavioral of Lab16_1 is
begin
process (a_bL, a_bR) is
begin
--if rising_edge(clock) then
if (a_bL ='1') then
a_N <= '0';
elsif (a_bR = '1') then
a_N <= a_A;
end if;
--end if;
end process;
end architecture Behavioral;
Archivo de restricciones
## Switches
set_property PACKAGE_PIN V17 [get_ports {sw[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[0]}]
set_property PACKAGE_PIN V16 [get_ports {sw[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[1]}]
set_property PACKAGE_PIN W16 [get_ports {sw[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[2]}]
set_property PACKAGE_PIN W17 [get_ports {sw[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[3]}]
## LEDs
set_property PACKAGE_PIN U16 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property PACKAGE_PIN E19 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property PACKAGE_PIN U19 [get_ports {led[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[2]}]
set_property PACKAGE_PIN V19 [get_ports {led[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[3]}]
set_property PACKAGE_PIN W18 [get_ports {led[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[4]}]
set_property PACKAGE_PIN U15 [get_ports {led[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[5]}]
set_property PACKAGE_PIN U14 [get_ports {led[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[6]}]
set_property PACKAGE_PIN V14 [get_ports {led[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[7]}]
##Buttons
set_property PACKAGE_PIN W19 [get_ports btnL]
set_property IOSTANDARD LVCMOS33 [get_ports btnL]
set_property PACKAGE_PIN T17 [get_ports btnR]
set_property IOSTANDARD LVCMOS33 [get_ports btnR]
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets btnR]