VHDL - відсутня componentsafter синтезу

R

ramzitligue

Guest
Привіт, я написав програму на VHDL:
особа Б
Порт (A0: у std_logic_vector (7 DOWNTO 0);
A1: в std_logic;
S: з std_logic_vector (7 DOWNTO 0));
кінець B;

Поведінкові архітектура В є

починати
Процес (A1)
починати
якщо a1 = '1 ', то
S <= A0;
ще
S <= (інші => 'Z');
End If;
Наприкінці процесу;

Поведінкові кінця;Потім я хочу, щоб підключити вихід "S" компонента В до до входу іншого компоненту В1 і тут є компонентом програми b1:
особа В1
Порт (EN: у std_logic_vector (7 DOWNTO 0);
S1: з std_logic_vector (7 DOWNTO 0));
кінець b1;

Поведінкові архітектура від В1

починати
процесу (EN)
починати
якщо EN / = "ZZZZZZZZ", а потім
S1 <= EN;
ще
S1 <= (інші => 'Z');
End If;
Наприкінці процесу;

Поведінкові кінця;Проблема, що після узагальнення я не знайти компонент В1 в RTL schematic.can ви допомогти мені, будь ласка?

 
Це, ймовірно, отримати оптимізований геть, бо виглядає так, як ваш код маючи на увазі це дротом.

Якщо ви переписувати код для b1:

Код:

Поведінкові архітектура від В1

починатипроцесу (EN)

починати

якщо АН = "ZZZZZZZZ", а потім

S1 <= (інші => 'Z'); - в даному випадку S1 == EN

ще

S1 <= EN; - в даному випадку S1 == EN також

End If;

Наприкінці процесу;Поведінкові кінця;
 
Крім показали надмірність, 'є Z' не визначено введення держава, то сенс тільки для виходів.

 
тому ми не можемо зробити перевірку на введення EN, якщо він має державну 'Z'?, якщо не хо я можу її замінити?

 
Подумайте, що ви просите.Як згадувалося МКО, 'Z' дійсно має сенс тільки для виходу.Коли ви їдете 'Z' на виході ви Tri-заявивши, що вихід.

Що це означає, що драйвер виводу відключається.Це вже не за кермом 1 або 0, то робимо теж.Водій не тонути або будь-які джерела струму.В ідеальному випадку без підтягань або тягти вниз резистор на чистих і абсолютно ніякої витоку струму, остання держава викинуло на що чистий залишиться там на невизначений час.

У реальному світі, Tri-держава не може відчуватися.Чистий або 1 або 0, або має деяке значення між Вил VIH які дійсно невідомі держави.Для введення значень у цьому діапазоні найбільш приймачів буде знайти або 1 або 0, але ці значення не мають сенсу.

Radix

 

Welcome to EDABoard.com

Sponsor

Back
Top