реклама на сайте
подробности

 
 
> проблема с моделированием в VHDL
zotowa
сообщение Apr 29 2007, 20:56
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 29-04-07
Пользователь №: 27 408



Злравствуйте. Проблема такая: имеется схема, я делаю описание структурного, регистрового и поведеньческого тела на языке VHDL. Моделирую в среде - ModelSim 6.0a. Потом пишу тест (чтобы правильность функционирования проверить). Далее делаю симуляцию и смотрю сигналы в окне wave. При этом все входные сигналы отображаются правильно. А вот все выходные нулевые! Возможно это известная проблема, и вы занете ее решение. Для конкретности, если понадобиться, могу привести пример своего кода.
Всем спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zotowa
сообщение Apr 29 2007, 22:14
Сообщение #2





Группа: Новичок
Сообщений: 3
Регистрация: 29-04-07
Пользователь №: 27 408



вот описание структурного тела:
port(s, c, r: in bit; d: in bit_vector (1 to 4); q1, q2, q3, q4: out bit);
end RG4test;

architecture STR of RG4test is
component nand2 port(x1, x2: in bit; y: out bit);
end component nand2;
component inv port(x: in bit; y: out bit);
end component inv;
component sdcrtt port(s, d, c, r: in bit; q: out bit);
end component sdcrtt;

signal nc, s1, s2, r1, nr1, nS2: bit;
begin
d1: inv port map (c, nc);
d2: nand2 port map(s, r, s1);
d3: nand2 port map(s, s1, s2);
d4: nand2 port map(s1, r, r1);
d5: inv port map (s2, nS2);
d6: inv port map (r1, nR1);
d7: sdcrtt port map (ns2, d(1), nc, nr1, q1);
d8: sdcrtt port map (ns2, d(2), nc, nr1, q2);
d9: sdcrtt port map (ns2, d(3), nc, nr1, q3);
d10: sdcrtt port map (ns2, d(4), nc, nr1, q4);

end STR;
вот тест к нему:

entity test_RG4 is
end test_RG4;

architecture test_RG4 of test_RG4 is
component test_rg4_str is
port(s, c, r: in bit; d: in bit_vector (1 to 4);
q1, q2, q3, q4: out bit);
end component;

signal s, c, r: bit;
signal d: bit_vector(1 to 4);
signal q1_str, q2_str, q3_str, q4_str: bit;

begin
dstr: test_rg4_str port map(s, c, r, d, q1_str, q2_str, q3_str, q4_str);

p1: process
begin
s <= '0' after 0 ns, '1' after 100 ns,
'0' after 200 ns, '1' after 300 ns,
'0' after 400 ns, '1' after 500 ns,
'0' after 700 ns;

r <= '0' after 0 ns, '1' after 100 ns,
'0' after 200 ns, '1' after 300 ns,
'0' after 400 ns, '1' after 500 ns,
'0' after 600 ns, '1' after 700 ns;

c <= '0' after 0 ns, '1' after 400 ns,
'0' after 600 ns;

d(1) <= '1' after 0 ns, '0' after 100 ns;
d(2) <= '1' after 0 ns, '0' after 100 ns;
d(3) <= '1' after 0 ns, '0' after 100 ns;
d(4) <= '1' after 0 ns, '0' after 100 ns;



wait for 800 ns;
end process;
end test_RG4;

таблица истиности элемнта такая:
s r c q1 q2 q3 q4
s=r s=r / d1 d2 d3 d4
s=r s=r 0,1,\ q1 q2 q3 q4
1 0 x 1 1 1 1
0 1 x 0 0 0 0

то есть, мне кажеться я правильно форимирую входные сигналы, для того чтобы получить на выходе нечто отличное от нуля. Или это не так?
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Apr 29 2007, 22:29
Сообщение #3


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



ой-ё! бедные дети! дайте лучше поведеньческое описание сxемы - а то на эту жуть смотреть невозможно/совершенно неохота рисовать вентили чтобы понять что же она(сxемы) у вас делает/ (и подключаемые библиотеки из кода не выкидывайте плииз. да и еще - пользуйтесь дескрипторами [cоde]ваш код[/cоde] - чтобы табуляция сохранялась)


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 15:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016