Разматрања за додавање могућности ресетовања на ФПГА дизајн

Suspense: Lonely Road / Out of Control / Post Mortem (Јун 2019).

$config[ads_text] not found
Anonim

Разматрања за додавање могућности ресетовања на ФПГА дизајн


Овај чланак ће погледати неке од последица додавања ресетовог инпута на ФПГА дизајн.

Овај чланак ће прегледати неке основне разлоге за кодирање датих функција помоћу уноса ресетовања. Посљедице кориштења ресетовог уноса могу бити занемарене од стране дизајнера, али неадекватна стратегија ресетовања може лако нанијети тешке казне. Ресетовање може негативно утицати на брзину, површину и потрошњу енергије ФПГА дизајна.

Прије него што наставимо са нашом дискусијом, вриједи нагласити на један основни принцип: ФПГА су програмабилни уређаји, али то не значи да можемо програмирати сваку особину у ФПГА. Овај основни принцип ће се даље разјаснити у остатку чланка.

Пажљиво прочитајте детаље пре него што додате унос ресетовања

На слици 1 је приказан Д-тип флип-флоп (ДФФ) који је доступан у Ксилинк 7 серијама ФПГА.

Слика 1. ФДРЕ Д-тип флип-флоп Ксилинк серије 7 ФПГА. Имаге цоуртеси оф Ксилинк.

Овај специфични ДФФ, који има синхрони ресет (Р) и улаз за омогућавање сата (ЦЕ), назива се ФДРЕ (Флип-флоп, тип Д, синхрони ресет, са омогућавањем сата) у Водичу за библиотеке Ксилинк. Логичка табела овог елемента приказана је на слици 2.

Слика 2. Логичка табела флип флоп ФДРЕ типа Д Ксилинк 7 серије ФПГА. Имаге цоуртеси оф Ксилинк.

Овде, Р, ЦЕ, Д и Ц су улази ДФФ и станд-би за ресетовање, омогућавање сата, унос података и сат, респективно. Кс представља "не-бригу" и ↑ означава сат који се усмјерава. Ресетовање је синхроно јер може ресетовати излаз само на растојању ивице сата.

Овај ДФФ је елемент дизајна који се може користити као грађевински блок већег дизајна. Можемо га користити за регистрацију жељеног сигнала. И, слободни смо да користимо ресет и сат омогућавају улазе ФДРЕ-а како желимо.

Можемо да изаберемо да ли желимо да користимо доступну карактеристику грађевинског блока или не. Међутим, не можемо додати неподржану функцију датом грађевинском блоку. Као пример, размотрите елемент ФДРЕ који је горе описан. Овај елемент дизајна подржава само синхрони ресет. У случају да нам требају и асинхрони и синхрони ресети, нећемо моћи да користимо ФДРЕ флип флоп. У овом случају, алат за синтезу ће морати да користи други ресурс или чак може искористити комбинацију доступних грађевинских блокова да би остварио жељени дизајн. Као што видите, функције нижих нивоа ФПГА су фиксне, али када се ти елементи дизајна конфигуришу, повезујемо их на начин који желимо и направимо већи дизајн.

Као суптилнији пример како грануларност ФПГА може утицати на имплементацију, имајте на уму да, према горњој логичкој табели, унос ресетовања (Р) ФДРЕ има већи приоритет у односу на улаз за омогућавање сета (ЦЕ) прва линија табеле која је када је Р 1, ЦЕ је ирелевантан). Сада, претпоставимо да наш ХДЛ код користи ДФФ са ресетовима и улазима за омогућавање сата. И, опис ХДЛ даје виши приоритет ЦЕ улазу, а не Р улазу. Поново у овом случају, алат за синтезу ће морати да користи ресурс који није ФДРЕ или ће морати користити комбинацију доступних грађевних блокова да би се остварила жељена функционалност. За више детаља о овом примеру, погледајте овај Ксилинк бели папир.

Горња дискусија показује да, како бисмо имали ефикасан дизајн, морамо пажљиво проучити детаље о елементима ФПГА дизајна, баш као што проучавамо табелу података дискретне компоненте пре него што га употребимо. У остатку чланка, видећете неке друге примере овог принципа.

Таблица за преглед регистра смјене (СРЛ16)

Ксилинк алат за синтезу може да реализује регистроване смјене базиране на ЛУТ-у које су много компактније и брже од структуре добијене једноставно каскадирање неких ДФФ-ова. Ови ефикасни регистри померања, звани СРЛ, не подржавају унос ресета. Због тога, ако у вашем регистру помака стварно није потребан ресет, избегавајте га тако да алат за синтезу може закључити ефикасну реализацију засновану на регистру помака. Ако ваш код описује шифраторски регистар са ресетом, КССТ ће имплементирати дизајн помоћу ДФФ-ова или ће користити неку додатну логику око БИ-а како би омогућио функцију ресетовања. СРЛ може се закључити из једноставних оператера конекције (погледајте стр. 154 Упутства за кориснике КССТ-а).

Блокирај РАМ меморије

Слично као у случају СРЛс, не можемо ресетирати садржај РАМ меморије користећи експлицитно ресетовање. Због тога при мапирању дизајна у РАМ меморије не треба користити ресет. Овде можете пронаћи још детаља.

Мултипликатори

За разлику од СРЛ или РАМ меморије која не подржава ресет, неки модули, као што су мултипликатори, имају ограничења за тип ресетовања. Ови модули подржавају само синхрони ресет. За дати мултипликатор, замена асинхроног ресета с синхроном стратегијом може повећати фреквенцију рада за фактор од два или више.

Да резимирамо, неадекватна стратегија ресетовања спречава алат синтезе да ефикасно искористи оптимизоване модуле доступне у ФПГА. Ово може негативно утицати на област, снагу и брзину дизајна. Сада, да видимо неке примере где синтезни софтвер користи ресет порт ДФФ-ова за обављање неких оптимизација.

Употреба Сет / Ресет Инпута за оптимизацију имплементације

Обично се препоручује да избегнете коришћење улазних и ресетованих количина што је више могуће. Ово помаже алатку за синтезу да примјењује оптимизацију гдје се испитују улазни параметри / ресет ДФФ-ова ради поједностављивања имплементације. Да бисмо додатно појаснили, претпоставимо да желимо да имплементирамо шематски приказан на слици 3.

Слика 3. Посебан случај који може бити оптимизован софтвером за синтезу. Имаге цоуртеси Адванцед ФПГА Десигн.

На слици 3, када је "Сигнал А" логички висок, ДФФ излаз ће бити висок на ивици сата, без обзира на то који је излаз комбинацијског круга "Цомб Логиц". Због тога, као што је приказано на слици 4, софтвер за синтезу може уклонити ОР капију и применити "Сигнал А" на синхрони постављени улаз ДФФ-а. Сада, када је "Сигнал А" логичан, ДФФ ће бити постављен на висину на ивици сата. У супротном, излаз ће бити одређен комбинацијским кругом "Цомб Логиц". Нови дизајн даје жељену функционалност, али сада је ОР гате отклоњен и може се побољшати и брзина и површина дизајна.

Слика 4. Оптимизовани облик кола на слици 3. Слика захваљујући Адванцед ФПГА Десигн.

Интересантно је напоменути да, понекад, алат за синтезу може одлучити да изврши обрнуту горњој оптимизацији и имплементира шематски приказ на слици 4 као што је приказано на Слици 3! То је због чињенице да се у 7 серијама сви ДФФ-ови на резу деле исте ЦК, СР (сет / ресет) и ЦЕ сигнале. То значи да ДФФ чији СР улаз је повезан на "Сигнал А" не може бити на истом делу који има ДФФ са својим СР улазом повезан са сигналом који није "Сигнал А". Ако контролни сигнали, тј. ЦК, СР и ЦЕ, нису исти, ДФФ се морају ставити на различите резове. То може довести до неефикасног искориштења резина у дизајну који користи многе сигнале за ресетовање ниских фаноута. У ствари, сваки сигнал за ресетирање ниских фаноута користиће неколико ДФФ-ова одреза, а остали ДФФ-ови реза ће се изгубити. У таквим случајевима, алат за синтезу може да имплементира схему на слици 4 као што је приказано на слици 3. Овај процес ће довести до ДФФ-ова који не користе своје улазе ресетовања. Као резултат тога, ови ДФФ могу дијелити исте контролне сигнале и могу се ставити на исти дио. Због тога ће се коришћење уређаја побољшати.

На сликама 3 и 4 видјели смо да се ОР капија која прати ДФФ може заменити ДФФ-ом који користи свој улаз. Слично томе, можемо заменити И капију и ДФФ са ДФФ-ом који користи свој ресет улаз (погледајте слику 5 испод).

Слика 5. Слика захваљујући Ксилинк-у.

На слици 5, атрибут СРВАЛ специфицира излазну вредност ДФФ након потврђивања СР улаза. Према томе, за средњи ДФФ на левој страни, СР улаз је наведен као подешени порт. Међутим, за доњи ДФФ са леве стране, СР улаз је у ствари ресет улаз. Горњи ДФФ не користи улаз за ресетовање.

Три ДФФ-и са леве стране не могу се поставити на исти део, јер имају различите контролне сигнале. Међутим, са горе поменутим конверзијама, добијамо три ДФФ-а са истим скупом контролних сигнала. Према томе, можемо да ставимо три ДФФ-а на исти део. Имајте на уму да горње конверзије нису важеће са асинхроним сигналима за подешавање / ресетовање. Због тога се обично препоручује да се користе синхрони сигнали за сет / ресет, а не асинхрони.

Референце

  • Како да ресетујем мој ФПГА? од стране Срикантх Ерусалаганди, Ксилинк.
  • Узмите своје приоритете - направите свој дизајн до 50% мањи од Кен Цхапман, Ксилинк.
  • Напредни ФПГА дизајн: Архитектура, имплементација и оптимизација од стране Стива Килтса.
  • ХДЛ кодирање праксе за убрзање перформанси дизајна Пхилиппе Гарраулт, Ксилинк.
  • Паметно о ресетовању: мислите локално, а не глобално од Кен Цхапман, Ксилинк.

Да бисте видели комплетну листу мојих чланака, молимо посјетите ову страницу.