Привет! я использую ISE Design Suite 14.1, я сделал этот код из видео на YouTube, и я хочу знать, как я могу его решить?

#windows #vhdl #fpga #xilinx-ise #picoblaze

Вопрос:

вот код, это код для реализации PicoBlaze на nexys4. с помощью этого кода мы хотим включать и выключать восемь светодиодов плис с помощью восьми переключателей

 library IEEE;  use IEEE.STD_LOGIC_1164.ALL;  --use ieee.std_logic_arith.all;  --use ieee.std_logic_unsigned.all;  --use IEEE.NUMERIC_STD.ALL;  --library UNISIM;  --use UNISIM.VComponents.all;    entity kcpsm6_final is  Port ( clk : in STD_LOGIC;  Leds : out STD_LOGIC_VECTOR (7 downto 0);  sw : in STD_LOGIC_VECTOR (7 downto 0));  end kcpsm6_final;      architecture Behavioral of kcpsm6_final is    signal address : std_logic_vector(11 downto 0);  signal instruction : std_logic_vector(17 downto 0);  signal bram_enable : std_logic;  signal in_port : std_logic_vector(7 downto 0);  signal out_port : std_logic_vector(7 downto 0);  signal port_id : std_logic_vector(7 downto 0);  signal write_strobe : std_logic;  signal k_write_strobe : std_logic;  signal read_strobe : std_logic;  signal interrupt : std_logic;  signal interrupt_ack : std_logic;  signal kcpsm6_sleep : std_logic;  signal kcpsm6_reset : std_logic;    component kcpsm6  generic( hwbuild : std_logic_vector(7 downto 0) := x"00";  interrupt_vector : std_logic_vector(11 downto 0) := x"3FF";  scratch_pad_memory_size : integer := 64);  port ( address : out std_logic_vector(11 downto 0);  instruction : in std_logic_vector(17 downto 0);  bram_enable : out std_logic;  in_port : in std_logic_vector(7 downto 0);  out_port : out std_logic_vector(7 downto 0);  port_id : out std_logic_vector(7 downto 0);  write_strobe : out std_logic;  k_write_strobe : out std_logic;  read_strobe : out std_logic;  interrupt : in std_logic;  interrupt_ack : out std_logic;  sleep : in std_logic;  reset : in std_logic;  clk : in std_logic);  end component;    component led  generic( C_FAMILY : string := "S6";  C_RAM_SIZE_KWORDS : integer := 1;  C_JTAG_LOADER_ENABLE : integer := 0);  port ( address : in std_logic_vector(11 downto 0);  instruction : out std_logic_vector(17 downto 0);  enable : in std_logic;  rdl : out std_logic;  clk : in std_logic);  end component;     begin    -- programming of processor    program_rom: led -- name to match your psm file  generic map( C_FAMILY =gt; "S6", -- family 's6', 'v6', or '7s'  C_RAM_SIZE_KWORDS =gt; 1, -- program size '1', '2', or '4'  C_JTAG_LOADER_ENABLE =gt; 0) -- include jtag jtag loader when set to '1'  port map( address =gt; address,  instruction =gt; instruction,  enable =gt; bram_enable,  rdl =gt; kcpsm6_reset,  clk =gt; clk);    -- processor  processor: kcpsm6  generic map( hwbuild =gt; x"00",  interrupt_vector =gt; x"3FF",  scratch_pad_memory_size =gt; 64)  port map( address =gt; address,  instruction =gt; instruction,  bram_enable =gt; bram_enable,  port_id =gt; port_id,  write_strobe =gt; write_strobe,  k_write_strobe =gt; k_write_strobe,  out_port =gt; out_port,  read_strobe =gt; read_strobe,  in_port =gt; in_port,  interrupt =gt; interrupt,  interrupt_ack =gt; interrupt_ack,  sleep =gt; kcpsm6_sleep,  reset =gt; kcpsm6_reset,  clk =gt; clk);      input_ports: process(clk)  begin  if clk'event and clk='1' then  case port_id(0) is    when '0' =gt; in_port lt;= sw;  

итак, здесь у нас ошибка с символом «x», мы искали решения, но ни одно из этих решений не могло помочь нам исправить ее.

 when others =gt; in_port lt;= "xxxxxxxx";  end case;  end if;  end process input_ports;    output_ports: process(clk)  begin  if clk'event and clk='1' then  if write_strobe = '1' then    if port_id(0) = '1' then  Leds lt;= out_port;  end if;  end if;   end if;  end process output_ports;      end Behavioral;  

я получаю следующую ошибку

 ERROR:HDLCompiler:304 - "C:ProyectosVHDLPico_workkcpsm6_final.vhd" Line 126: Character 'x' is not in element type std_logic ERROR:HDLCompiler:854 - "C:ProyectosVHDLPico_workkcpsm6_final.vhd" Line 37: Unit lt;behavioralgt; ignored due to previous errors.  

я не знаю, как это решить, пожалуйста, мне нужна помощь.

Комментарии:

1. in_port является std_logic_vector. «x» не является допустимым std_logic значением, я думаю, вы имеете в виду «X».

2. Как хитро указывает, значения перечисления чувствительны к регистру.