сигналу і змінної в VHDL

A

ahmadagha23

Guest
Привіт, що diffrence між сигналом і змінної в VHDL на реалізацію (які апаратні засоби, які сигналу і змінної карті?) І тому наступна програма: архітектура Вар тест почати процес (CLK) змінну C: std_logic_vector (0, щоб 7); змінної D: std_logic_vector (0 до 7); почати, якщо CLK = '1 ', то C: =; D: = С, В
 
Змінна використовується для опису вашої логіки функції. в цілому він не синтезується в апаратних object.In послідовний процес, який має "CLK" в цей чутливий список. Сигнал синтезується в D фліп-флоп. Тоді давайте подивимося на ваші дві архітектури. Перший архітектури висновок один ДФФ, які пов'язані '", як це D і" Б ", як це Q. змінної C і D змінна була скасована синтезу інструментів. Архітектура другий виводиться три DFF.DFF1 має "" в якості свого D, 'C', як це Q; DFF2 має 'C', як D і "D", як Q; DFF3 має "D", як D і "B" як свого Питання: Отже, у вашому першому архітектури, сигнал B був встановлений в значення сигналу після одного CLK. але у вашому другому архітектури, сигнал B був встановлений в значення сигналу B після трьох CLK.
 
Привіт ahmadagha23, головна відмінність між сигналом і змінної в момент оновлення їх значення. Змінна-> Цей тип визначений у рамках процесу блоку (не одночасно виконання). Їх значення оновлюється при прийнятті належного призначення. Сигнал -> Цей тип може бути визначений з процесу, будь-яке нове подія в сигнали в буфер, а не її поновлення до кінця виконання запущеного процесу.
 
Привіт, я не знаю, що ви маєте на увазі з кулак коду перший код є прикладом поганий стиль кодування, ви використовували дві змінні, як дроти "безглуздо", так що перший код всього лише зареєструватися, але навіть хоча я думаю, ви повинні додати, якщо clk'event і CLK = '1 '"rising_edge" Я ніколи не писав, якщо CLK = '1', щоб зробити Реєстрація здається заплутаним проте mightwork як CLK в списку чутливості процесу, але я не впевнений, що другий код може бути регістра зсуву "трьох регістрів широкий регістр зсуву", якщо вона була реалізована, як ніби clk'event і CLK = '1 ', загалом, маючи справу з змінними потрібно бути обережним, щоб привласнити змінній у всіх умовах процесу "ще якщо умови або випадок або значення за замовчуванням evena "ще можуть бути ООН привітав засувки. Ibelieve ви повинні прочитати книгу HDL дизайн це непогано
 
Всі змінні, що беруть участь у пропозиції процесу і CLK повинні бути включені в список чутливості. процес (CLK, var_a, var_b) змінної var_a, var_b: Integer; почати, якщо CLK = '1 ', то: = B ENDIF кінці процесу
 
eemapi, ви можете знайти багато чудових VHDL підручники в edaboard, пошук на форумі
 
Всі змінні, що беруть участь у пропозиції процесу і CLK повинні бути включені в список чутливості ... Ви впевнені?
 

Welcome to EDABoard.com

Sponsor

Back
Top