як це synthsize?

U

uckingcu

Guest
завжди @ *
починати
wr_rd_xfer [4:00] = 5'h00;
для (ціле число = 0; я ^ 4, я )
якщо (data_sel [я]) починають
wr_rd_xfer [4:00] = wr_rd_xfer [4:00] | get_xfer [4:00];
кінець
кінець
data_sel це одна гаряча сигналу.

Я не отримати будь-які помилки в округ Колумбія, і відмінно працює при моделюванні теж (це скомпільована як SV).Може хтось пояснити, як DC розгортає цикл і synthsizes цьому логіка?

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

 
Ці коди не синтезу DC.Вони призначені тільки для моделювання.Ви хочете розгорнути цикл, ви повинні використовувати син генерувати.

 
Обидва вищевказаних відповіді дурниця!

Синтезатор розгорнуться циклу досить легко, оскільки воно має фіксоване число ітерацій.

Ви можете отримати уявлення про те, що відбувається, шляхом розгортання його самостійно.Наприклад,
Код:wr_rd_xfer [4:00] = 5'h00;

якщо (data_sel [0])

wr_rd_xfer [4:00] = 4:00 wr_rd_xfer [] | get_xfer [0] [4:00];

якщо (data_sel [1])

wr_rd_xfer [4:00] = 4:00 wr_rd_xfer [] | get_xfer [1] [4:00];

якщо (data_sel [2])

wr_rd_xfer [4:00] = 4:00 wr_rd_xfer [] | get_xfer [2] [4:00];

якщо (data_sel [3])

wr_rd_xfer [4:00] = 4:00 wr_rd_xfer [] | get_xfer [3] [4:00];

 
jbeniston пише:

Обидва вищевказаних відповіді дурниця!Синтезатор розгорнуться циклу досить легко, оскільки воно має фіксоване число ітерацій.Ви можете отримати уявлення про те, що відбувається, шляхом розгортання його самостійно.
Наприклад,

 

Welcome to EDABoard.com

Sponsor

Back
Top