VHDL нашел ‘0’ определение оператора » » не может определить точное определение перегруженного соответствия для » «

#vhdl

#vhdl

Вопрос:

У меня проблема в том, что эта строка B1 <= (-c1 * (A3 A1) A3 A2 - A1); продолжает отображаться как ошибка. Я знаю, что эта проблема уже существует в stackoverflow, но ни одно из решений мне не помогло. Я уже создал проект с нуля, что тоже не помогло. Я не знаю, что делать дальше, и я надеюсь, что кто-нибудь сможет мне здесь помочь.

заранее спасибо

 library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_arith.ALL;
use IEEE.STD_LOGIC_signed.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;
use IEEE.NUMERIC_STD.ALL;



entity ParallelAdaptor is
    Port ( A1 : in STD_LOGIC;
           A2 : in STD_LOGIC;
           A3 : in STD_LOGIC;
           c1 : in STD_LOGIC;
           B1 : out STD_LOGIC;
           B2 : out STD_LOGIC;
           B3 : out STD_LOGIC);
end ParallelAdaptor;

architecture Behavioral of ParallelAdaptor is

begin

    B1 <= (-c1 * (A3   A1)   A3   A2 - A1);


end Behavioral;
 

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

1. Оператор знака и арифметические операторы для сложения, вычитания и умножения имеют общепринятое математическое значение в VHDL (стандарт IEEE Std 1076-2008 9.2.5 Операторы добавления, 9.2.6 Операторы знака, 9.2.7 Оператор умножения). Математика имеет дело с числами (арифметическими значениями). Логические операторы имеют дело с двоичными значениями, областью булевой алгебры. Ясно, что ни один из математических пакетов в предложениях use не предоставляет перегрузки для std_logic. Неясно, что вы намереваетесь без предоставления входных данных и ожидаемых результатов. Предполагается ли, что это булева алгебра или математические числа?

Ответ №1:

Я думаю, что STD_LOGIC — это один бит (мой опыт работы с vhdl ~ 20 лет назад), и вы не можете выполнять с ним такие операции. Поэтому вам нужен хотя бы вывод, который может содержать результат… И выходные данные B2 и B3 не используются…

Я предлагаю вам попробовать что-то отсюда https://www.nandland.com/vhdl/tutorials/tutorial-introduction-to-vhdl-for-beginners.html

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

1. Этот ответ не проясняет вопрос. Полагаясь на внешние ссылки для автора вопросов, чтобы найти ответ на неясный вопрос, как есть, не может просветить будущих читателей, использующих Stackoverflow в качестве поискового ресурса.