backdoor 0 27 мая, 2012 Опубликовано 27 мая, 2012 · Жалоба Здравствуйте, срочно горят лабы на VHDL, но даже преподовский вариант не работает. Есть нотэнд: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY notand IS PORT( a : IN std_logic; b : IN std_logic; c : OUT std_logic ); END notand; ARCHITECTURE behavior OF notand IS BEGIN C <= NOT ( a AND b ); END behavior; Работает, все хорошо. На его основе делаем rs триггер: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY rstr IS PORT( s : IN std_logic; r : IN std_logic; q : INOUT std_logic; qb : INOUT std_logic ); END rstr; ARCHITECTURE behav OF rstr IS COMPONENT notand PORT( a : IN std_logic; b : IN std_logic; c : INOUT std_logic); END COMPONENT; BEGIN u1: notand PORT MAP ( s, qb, q); u2: notand PORT MAP (q, r, qb); END behav; CONFIGURATION con OF rstr IS FOR behav FOR u1, u2: notand USE ENTITY work.notand (behavior); END FOR; END FOR; END con; И... не работает. Ошибки такие: Error: BIDIR pin 'q' must be driven by TRI or OPNDRN buffer, but is driven by primitive '|notand:u1|~6~1' Error: BIDIR pin 'qb' must be driven by TRI or OPNDRN buffer, but is driven by primitive '|notand:u2|:6' Все перепробовал. Может, кто-нибудь подскажет, в чем может быть дело, а то и спросить не у кого( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 27 мая, 2012 Опубликовано 27 мая, 2012 · Жалоба Здравствуйте, срочно горят лабы на VHDL, но даже преподовский вариант не работает. Есть нотэнд: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY notand IS PORT( a : IN std_logic; b : IN std_logic; c : OUT std_logic ); END notand; ARCHITECTURE behavior OF notand IS BEGIN C <= NOT ( a AND b ); END behavior; Работает, все хорошо. На его основе делаем rs триггер: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY rstr IS PORT( s : IN std_logic; r : IN std_logic; q : INOUT std_logic; qb : INOUT std_logic ); END rstr; ARCHITECTURE behav OF rstr IS COMPONENT notand PORT( a : IN std_logic; b : IN std_logic; c : INOUT std_logic); END COMPONENT; BEGIN u1: notand PORT MAP ( s, qb, q); u2: notand PORT MAP (q, r, qb); END behav; CONFIGURATION con OF rstr IS FOR behav FOR u1, u2: notand USE ENTITY work.notand (behavior); END FOR; END FOR; END con; И... не работает. Ошибки такие: Error: BIDIR pin 'q' must be driven by TRI or OPNDRN buffer, but is driven by primitive '|notand:u1|~6~1' Error: BIDIR pin 'qb' must be driven by TRI or OPNDRN buffer, but is driven by primitive '|notand:u2|:6' Все перепробовал. Может, кто-нибудь подскажет, в чем может быть дело, а то и спросить не у кого( Бибило в помощь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
backdoor 0 27 мая, 2012 Опубликовано 27 мая, 2012 · Жалоба Бибило в помощь спасибо, но может кто подскажет, как поправить код, чтоб работал, а то срочно надо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IWG 0 28 мая, 2012 Опубликовано 28 мая, 2012 · Жалоба спасибо, но может кто подскажет, как поправить код, чтоб работал, а то срочно надо А если так: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY rstr IS PORT( s : IN std_logic; r : IN std_logic; q : BUFFER std_logic; qb : BUFFER std_logic ); END rstr; ARCHITECTURE behav OF rstr IS COMPONENT notand PORT( a : IN std_logic; b : IN std_logic; c : OUT std_logic); END COMPONENT; BEGIN u1: notand PORT MAP ( s, qb, q); u2: notand PORT MAP (q, r, qb); END behav; CONFIGURATION con OF rstr IS FOR behav FOR u1, u2: notand USE ENTITY work.notand (behavior); END FOR; END FOR; END con; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IT_Pavel 0 8 июня, 2012 Опубликовано 8 июня, 2012 · Жалоба Квартус ругается на то что сигналы INOUT. Даже смотрите, в описании notand у вас сигнал "с : OUT std_logic" а в опсании компонента "c : INOUT std_logic". Вам обязательно необходимо использовать сигнал "q" и "qb" как INOUT ? Если это сделано лишь для удобства (чтобы соединять компоненты), то это не правильно. Соединяйте через третий сигнал. Если еще актуально, то пожалуй вам поможет этот документ: intranet.ftk.spbstu.ru/download.php?DocID=838691 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 2 8 июня, 2012 Опубликовано 8 июня, 2012 · Жалоба intranet.ftk.spbstu.ru/download.php?DocID=838691 Какой хороший текст. Похоже, это глава из какого-то учебника? А можно ссылки на остальные главы? Заранее признателен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 23 октября, 2016 Опубликовано 23 октября, 2016 · Жалоба Вот вроде через 3й сигнал, но ISE выдает "This construct is only supported in VHDL 1076-2008" txdp : in STD_LOGIC;-- txoe : in STD_LOGIC; VP : inout STD_LOGIC; rxdp : out STD_LOGIC; bycomby: process (txoe,txdp,VP) begin VP <= txdp when txoe = '0' else 'Z'; rxdp <= VP when txoe = '1' else '1'; end process bycomby; VP уже снаружи FPGA... Делаю в настройках VHDL-200X но ничего не меняется..... Ткните носом, что тут не нравится системе? :cheers: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 23 октября, 2016 Опубликовано 23 октября, 2016 · Жалоба signal tp_s: STD_LOGIC; begin VP <= tp_s; tp_s <= txdp when txoe = '0' else 'Z'; rxdp <= VP when txoe = '1' else '1'; Вот такое уже работает!!! Всем спасибо! Я считал, что я в параллельной секции, раз нет CLK Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться