Я новичок в VHDL и проблема, связанная с переносом карты на землю.Порт Картографирование на землю в VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity msPC4 is
Port (b : in STD_LOGIC_VECTOR (3 downto 0);
clk : in STD_LOGIC;
reset : in STD_LOGIC;
a : out STD_LOGIC_VECTOR (3 downto 0);
co : out STD_LOGIC);
end msPC4;
architecture Structure of msPC4 is
component msdff4
Port (d : in STD_LOGIC_VECTOR (3 downto 0);
clk : in STD_LOGIC;
q : out STD_LOGIC_VECTOR (3 downto 0));
end component;
component msFA4bit
Port (a : in STD_LOGIC_VECTOR (3 downto 0);
b : in STD_LOGIC_VECTOR (3 downto 0);
ci : in STD_LOGIC;
s : out STD_LOGIC_VECTOR (3 downto 0);
co : out STD_LOGIC);
end component;
component ms21mux4
Port (d1 : in STD_LOGIC_VECTOR (3 downto 0);
d0 : in STD_LOGIC_VECTOR (3 downto 0);
s : in STD_LOGIC;
z : out STD_LOGIC_VECTOR (3 downto 0));
end component;
signal w0, w1, w2, w3: STD_LOGIC_VECTOR (3 downto 0);
signal w4 : STD_LOGIC;
w4 <= '0';
w3 <= '0000';
begin
gmsPC4g1: msdff4 port map (w1,clk,w2);
gmsPC4g2: msFA4bit port map (w2,b,w4,w0,co);
gmsPC4g3: ms21mux4 port map (w0,w3,clk,w1);
a <= w2;
end Structure;
Так что, если вы заметите, у меня есть 3 компонента, пара сигналов для подключения всего и того.
Что я ДЕЙСТВИТЕЛЬНО хочу, это для сигналов w3 и w4 для установки на землю (как бы низко привязаны к логике), но по какой-то причине я не могу для жизни меня понять, как я должен сделай это.
FWIW Я EE, поэтому я больше привык видеть это с конца аппаратного обеспечения. Кроме того, этот проект специально имеет, который должен выполняться с картами портов, а не поведенческими материалами. Извини за это.
Редактировать: ошибка возникает в строках, где w3 установлен на '0', w4 - на '0000'. Двойные кавычки не исправляют эту ошибку. Перемещение внутри начала не устраняет ошибку. Внутри начального набора я получаю «НЕОПРЕДЕЛЕННЫЙ БЛОК», и за пределами начального набора я получаю «НЕОПРЕДЕЛЕННЫЙ ИДЕНТИФИКАТОР». Это просто не хочет позволять мне принимать решение о ценности чего-то.
Неужели они больше не учат разнице между заявлениями и утверждениями? –
Вы не можете назначить значение между архитектурой и начать. – Paebbels
Неожиданный тик, потому что векторные литералы должны быть заключены между двойными кавычками, а не тиками ('' 0000 "', а не '' 0000''). Неожиданный идентификатор, потому что два назначения должны быть отправлены в тело архитектуры (после 'begin'), а не в объявлении архитектуры (до' begin'). Вы случайно попробовали несколько решений, но не все: вы забыли комбинацию двойных кавычек + после начала. Если вы попытаетесь решить все ваши проблемы с помощью этой случайной стратегии, вам потребуется время, прежде чем вы изучите VHDL. Книги и классы, вероятно, более эффективны. –