Хоча луп

J

jene2in

Guest
Привіт,

Чи є які-небудь проблеми з використанням циклу в той час як на початку програми в VHDL і Xilinx ISE.Я весь час отримую помилку обробки.Алгоритм, який я працюватимуть краще з луп Хоча і так мені було цікаво, якщо хто-небудь може вказати що-небудь у відношенні в той час як цикл.Ось кілька рядків FRM мій код:

починати
а (р (0)! = 1) цикл - припинення умова
- Якщо р (0) = 0, то
якщо ((1) = 0 (0) = 0), то - = 0 (мода 4)
<= 2 SRL; - поділ на 4
G0: MQRTR карта портів (ш = ш, м => M, F => U2) - використання компонентів MQRTR
і <= і2;
Якщо S = 0, то - прапор використовується для позначення знака дельта
Якщо D (2) = 0, то з <= 1;
кінець, якщо;
Якщо D (1) = 0, то
D <= D SRL 2; - розділити на 4 D
ще
р <р = 1 SRL;
з <= 1;
кінець, якщо;
ще
г <= SLL 2;
якщо р (1) <= 0, то
р <= р SRL 2;
ще
р <р = 1 SRL;
кінець, якщо;
кінець, якщо;

ELSIF (0) = 0, то - перевірте ділиться на 2
<= 1 SRL;
G1: MHLV порт карті (з = ш, м => M, D => U1);
і <= U1;
Якщо S = 0, то
Якщо D (1) = 1, то
з <= 1;

 
Я не можу бачити з (а в довжину), якщо фрагмент коду буде синтезованого на всіх, я думаю, це не так.

Часте нерозуміння ітерації конструкцій в коді HDL є те, що вони створять послідовної обробки замовлень як ітерації в мікропроцесор програмі.Але не треба!

Вони представляють собою керівництво для створення паралельної логіки, один примірник логіки всередині блоку для кожної ітерації.Для synthesisable, кількість ітерацій повинна бути обмежена і передбачуваною для компілятора HDL.В іншому випадку компілятор буде застряг у нескінченному циклі (що призводить до помилки компіляції, після досягнення визначених ітерації ліміту).

У більшості випадків єдиним підходящим рішенням є код дійсно послідовного виконання програми, використовуючи годинник.

 

Welcome to EDABoard.com

Sponsor

Back
Top