В процеесе Н конфликт,это тот случай когда компилятор пропускает,а симулятор предупреждает :"трата-та ..."db3" holds its previous value in every path with no new value assignment, which may create a combinational loop in the current design."
Можно так ,и упростить чуть:
1 вариант,в пор. упрощения:
H: process(csm,a2,a13,a15,rd)
begin
if (csm='1') and (a15='0') and (a13='0') and (rd='0') then
case a2 is --оператор ВЫБОРА!
when '0' => db3 <='0';
db5 <='1';
db6 <='0';
db7 <='0';
when '1' => db3 <='0';
db5 <='0';
db6 <='0';
db7 <='0';
end case;
else db3 <='Z'; --Иначе относится к условию IF
db5 <='Z';
db6 <='Z';
db7 <='Z';
end if;
end process;
2 вар.:
H: process(csm,a2,a13,a15,rd,a2)
variable sel:std_logic_vector(4 downto 0);
begin
sel:=csm & a15 & a13 & rd & a2 ;
case sel is --оператор ВЫБОРА!
when "10000" => db3 <='0';
db5 <='1';
db6 <='0';
db7 <='0';
when "10001" => db3 <='0';
db5 <='0';
db6 <='0';
db7 <='0';
when others => db3 <='Z';
db5 <='Z';
db6 <='Z';
db7 <='Z';
end case;
end process;
и это не предел!вар.2 можно свести к 10 строкам,если сигналы DB организовать как вектор.Проще потом манипулировать!db4 переименовать в db3,а db3>db4.и создать db: inout std_logic_vector(7 downto 4); Четыре строки сразу становятся одной!
Добавлено через 11 минут
На такого типа warnung симулятора пока не обращай внимание,это не критические!!!Вот что он написал,дословно:Предупреждение: Найденны 10 узлов в путях тактового генератора, которые могут действовать как рябь и/или пропущенные такты т.е.возможно,а может и нет(это он предупреждает,но симулюцию делает)!
как буфер (а), приводящий к расфазировке тактовых сигнало
а вот такого типа:
Warning: VHDL Process Statement warning at SMUC.vhd(52): signal or variable "db3" may not be assigned a new value in every possible path through the Process Statement. Signal or
variable "db3" holds its previous value in every path with no new value assignment, which may create a combinational loop in the current design. это плохо!
Добавлено через 12 минут
Пойдет!
Добавлено через 13 минут
Я вообще юзаю 5-ю версию!А картинки тока в полной версии,в web RTL вьювера нет!!!![]()





Вот что он написал,дословно:Предупреждение: Найденны 10 узлов в путях тактового генератора, которые могут действовать как рябь и/или пропущенные такты т.е.возможно,а может и нет(это он предупреждает,но симулюцию делает)!
Ответить с цитированием