Понимание компонента и сущности в VHDL с помощью Modelsim - PullRequest
0 голосов
/ 30 мая 2020

У нас есть задание, в котором у нас есть какой-то испорченный код VHDL для 4-битного мультиплексора (с использованием Modelsim), и мы должны исправить ошибки и получить код для компиляции и запуска моделирования. Мне удалось получить код для компиляции, но когда я пытаюсь запустить моделирование, я получаю сообщение об ошибке в строке 5. Вот мой код:

library ieee;                                -- line 1
use ieee.std_logic_1164.all;                 -- line 2
                                             -- line 3
entity find_errors is 
port (                                       -- line 4
    a: in std_logic_vector(0 to 3);          -- line 5
    b: out std_logic_vector(3 downto 0);     -- line 6
    c: in std_logic_vector(5 downto 0));     -- line 7
end find_errors;                             -- line 8
                                             -- line 9
architecture not_good of find_errors is      -- line 10
  begin                                      -- line 11
  my_label: process (a,c) is                 -- line 12
    begin                                    -- line 13
    if c = "001111" then                     -- line 14 
      b <= a;                                -- line 15
    else                                     -- line 16
     b <= "0101";                            -- line 17
    end if;                                  -- line 18
  end process;                               -- line 19
end not_good;                                -- line 20

Нам сказали, что нам может понадобиться использовать функцию преобразования, например to_stdlogicvector (), чтобы завершить это. Нам также говорят не пытаться фиксировать битовые порядки между векторами a и b.

Когда я пытаюсь запустить симуляцию, я получаю следующую ошибку:

** Fatal: (vsim-3807) Types do not match between component and entity for port "a".

Оцените это, если кто-нибудь может помочь мне понять эту ошибку.

...