ВХДЛвхиз УАРТ Тест Интерфаце Генератор
Информације о производу
Спецификације:
- Назив производа: ВХДЛ региструје УАРТ тест интерфејс генератор
- Верзија: 1.0.4
- Датум: 18. август 2024
- Аутор: Јонас Јулиан Јенсен
- Производ URL: Линк производа
- Контакт имејл: јонас@вхдлвхиз.цом
Опис
Овај производ вам омогућава да генеришете прилагођене интерфејсе за читање и писање вредности ФПГА регистра користећи УАРТ. Генерисани ВХДЛ модул и Питхон скрипта пружају могућност интеракције са различитим типовима регистара у вашем ФПГА дизајну.
Захтеви
- Питхон 3 тумач
- писериал пацкаге
Протокол
Производ користи протокол за уоквиривање података са четири контролна знака:
- име: РЕАД_РЕК, вредност: 0к0А – Команда од хоста до ФПГА за покретање секвенце писања за слање свих регистара назад преко УАРТ-а
- име: СТАРТ_ПИШИ, вредност: 0к0Б – Означава почетак низа писања у било ком смеру
- име: ЕНД_ВРИТЕ, вредност: 0к0Ц – Означава крај секвенце писања у било ком смеру
- име: ЕСЦАПЕ, вредност: 0к0Д – Есцапе карактер који се користи за избегавање контролних речи
Упутства за употребу производа
Покретање скрипти
Да бисте користили производ, уверите се да имате инсталиран Питхон 3 и Писериал пакет. Покрените скрипте кроз Питхон 3 тумач.
Генерисање прилагођених интерфејса
Користите скрипту ген_уарт_регс.пи да генеришете прилагођене интерфејсе за читање и писање вредности ФПГА регистра. Можете одредити састав улазних и излазних регистара и типова приликом генерисања излаза files.
Интеракција са регистрима
Можете читати или писати у било који број регистара у вашем ФПГА дизајну користећи генерисани ВХДЛ модул и Питхон скрипту. Доступни регистри могу имати типове као што су стд_логиц, стд_логиц_вецтор, сигнед или унсигнед.
Лиценца
- МИТ лиценца покрива захтеве за ауторска права изворног кода и услове коришћења. Погледајте ЛИЦЕНСЕ.ткт file у Зип-у file за детаље.
Цхангелог
- Ове промене се односе на пројекат fileс, и овај документ се сходно томе ажурира
Версион | Примедбе |
1.0.0 | Првобитно издање |
1.0.1 | Исправљена је грешка која недостаје „селф“ референце приликом увоза као уарт_регс.пи као Питхон модула. Одштампано неуспело писање је промењено у изузетак
избегавајте штампање на конзоли када се покреће као увезени модул. |
1.0.2 | Исправка за грешку Вивадо [Синтх 8-248] када нема рег. |
1.0.3 | Поправи упозорење Вивадо Линтер: Регистровање је омогућило вожњу
синхроно ресетовање |
1.0.4 | Поправите угао када примите погрешно обликовану реч са знаком за излаз као последњим бајтом. Следећа реч би такође била изгубљена јер нисмо обрисали рецв_дата_прев_ис_есцапе приликом враћања на ИДЛЕ.
Скрипта ген_уарт_регс.пи сада дозвољава само јединствена рег имена. |
Опис
- Овај документ описује следеће fileс и фолдери:
- ген_уарт_регс.пи
- генератед/уарт_регс.вхд
- генератед/уарт_регс.пи
- генератед/инстантиатион_темплате.вхо
- ртл/уарт_регс_бацкенд.вхд
- ртл/уарт_рк.вхд
- ртл/уарт_тк.вхд
- демо/латтице_ицестицк/
- демо/килинк_арти_а7_35/
- демо/килинк_арти_с7_50/
- Скрипта ген_уарт_регс.пи и подршка за ВХДЛ fileс у овом пројекту вам омогућавају да генеришете прилагођене интерфејсе за читање и писање вредности ФПГА регистра различитих типова и ширина користећи УАРТ.
- Можете користити генерисани ВХДЛ модул и Питхон скрипту за читање или писање у било који број регистара у вашем дизајну. УАРТ доступни регистри могу имати типове стд_логиц, стд_логиц_вецтор, сигнед или унсигнед.
- Можете одлучити о прецизној композицији улазних и излазних регистара и типова приликом генерисања излаза fileс помоћу скрипте ген_уарт_регс.пи.
- Питхон скрипте су креиране делимично уз помоћ алата за вештачку интелигенцију ЦхатГПТ, док је ВХДЛ код ручно израђен.
Захтеви
- Скрипте у овом пројекту морају бити покренуте преко Питхон 3 тумача и Писериал пакет мора бити инсталиран.
- Можете да инсталирате писериал преко Пипа користећи ову команду: пип инсталл писериал
Протокол
- ВХДЛ fileс и Питхон скрипта користе протокол за уоквиривање података са четири контроле
Име | Валуе | Коментар |
РЕАД_РЕК | 0к0А | Наредба од хоста до ФПГА за покретање писања
секвенца за слање свих регистара назад преко УАРТ-а |
СТАРТ_ВРИТЕ | КСНУМКСкКСНУМКСБ | Означава почетак низа писања у било ком
правац |
ЕНД_ВРИТЕ | 0к0Ц | Означава крај секвенце писања у било ком смеру |
ЕСЦАПЕ | 0к0Д | Есцапе знак који се користи за избегавање било које од контролних речи, укључујући сам знак ЕСЦАПЕ, када се појављују као подаци између СТАРТ_ВРИТЕ и ЕНД_ВРИТЕ маркера. |
Сваки РЕАД_РЕК бајт без преклапања послат ФПГА је инструкција за слање свих његових УАРТ-приступачних регистара (улаза и излаза) назад на хост преко УАРТ-а. Ову команду обично издаје само скрипта уарт_регс.пи.
По пријему ове команде, ФПГА ће одговорити слањем садржаја свих регистара назад на хост. Прво улазни сигнали, затим излазни сигнали. Ако њихове дужине нису умножене са 8 битова, нижи битови последњег бајта ће бити допуњени нулама.
Низ писања увек почиње са бајтом СТАРТ_ВРИТЕ и завршава се са бајтом ЕНД_ВРИТЕ. Сваки бајт између њих се сматра бајтовима података. Ако било који бајт података има исту вредност као контролни карактер, бајт података мора бити избачен. То значи слање додатног ЕСЦАПЕ знака пре бајта података да би се показало да су то заправо подаци.
Ако СТАРТ_ВРИТЕ без преклапања стигне било где у низу бајтова, сматра се почетком секвенце писања. Модул уарт_регс_бацкенд користи ове информације за поновну синхронизацију у случају да комуникација не буде синхронизована.
ген_уарт_регс.пи
- Ово је скрипта са којом морате почети да бисте генерисали интерфејс. Испод је снимак екрана менија помоћи који можете добити покретањем: питхон ген_уарт_регс.пи -х
- Да бисте генерисали прилагођени интерфејс, морате покренути скрипту са сваким од ваших жељених УАРТ контролних регистара наведеним као аргументи. Доступни типови су стд_логиц, стд_логиц_вецтор, унсигнед и сигнед.
- Подразумевани режим (смер) је ин и подразумевани тип је стд_логиц_вецтор осим ако је регистар дужине: 1. Тада ће подразумевано бити стд_логиц.
- Дакле, ако желите да креирате стд_логиц улазни сигнал, можете користити било који од ових аргумената:
- ми_сл=1
- ми_сл=1:ин
- ми_сл=1:ин:стд_логиц
- Све горе наведене варијанте ће довести до тога да скрипта генерише овај УАРТ-приступачан сигнал:
- Хајде да покренемо скрипту са аргументима да генеришемо интерфејс са неколико регистара различитих праваца, дужина и типова
Генерисано files
- Успешно покретање скрипте ген_уарт_регс.пи ће произвести излазну фасциклу под називом генерисану са три fileс наведеним у наставку. Ако већ постоје, биће преписане.
- генератед/уарт_регс.вхд
- генератед/уарт_регс.пи
- генератед/инстантиатион_темплате.вхо
- уарт_регс.вхд
- Ово је прилагођени модул интерфејса који генерише скрипта. Морате га инстанцирати у свом дизајну, где може да приступи регистрима које желите да контролишете користећи УАРТ.
- Све изнад одељка „– УАРТ доступни регистри“ биће идентично за сваки модул уарт_регс, док састав сигнала порта испод те линије зависи од аргумената датих скрипти генератора.
- Листинг испод приказује ентитет за модул уарт_регс који је резултат команде генерис екampле приказано у одељку ген_уарт_регс.пи
- Не морате да синхронизујете уарт_рк сигнал, јер се то обрађује у уарт_рк. модул.
- Када модул прими захтев за читање, он ће ухватити вредности свих улазних и излазних сигнала унутар тренутног циклуса такта. Тренутни снимак се затим шаље хосту преко УАРТ-а.
- Када се упис догоди, сви излазни регистри се ажурирају новим вредностима унутар истог циклуса такта. Није могуће појединачно мењати вредности излазног сигнала.
- Међутим, скрипта уарт_регс.пи дозвољава кориснику да ажурира само изабране излазе тако што ће прво читати тренутне вредности свих регистара. Затим записује све вредности, укључујући оне ажуриране.
- уарт_регс.пи
- Генерисани/уарт_регс.пи file генерише се заједно са уарт_регс ВХДЛ модулом и садржи информације прилагођеног регистра у заглављу file. Помоћу ове скрипте можете са лакоћом читати или писати у своје прилагођене регистре.
Мени помоћи
- Откуцајте питхон уарт_регс.пи -х да бисте одштампали мени помоћи:
Подешавање УАРТ порта
- Скрипта има опције за подешавање УАРТ порта помоћу прекидача -ц. Ово ради на Виндовс-у и Линук-у. Подесите га на један од доступних портова наведених у менију помоћи. Да бисте поставили подразумевани порт, такође можете да измените променљиву УАРТ_ПОРТ у скрипти уарт_регс.пи.
Листинг регистара
- Информације о мапирању регистра стављају се у заглавље скрипте уарт_регс.пи помоћу скрипте ген_уарт_регс.пи. Можете навести доступне регистре помоћу -л прекидача, као што се види испод. Ово је локална команда и неће бити у интеракцији са циљним ФПГА
Уписивање у регистре
- Можете писати у било који од излазних регистара користећи -в прекидач. Наведите име регистра праћено „=“ и вредност која је дата као бинарна, хексадецимална или децимална вредност, као што је приказано испод.
- Имајте на уму да имплементација ВХДЛ захтева да скрипта истовремено пише све излазне регистре. Стога, ако не наведете комплетан скуп излазних регистара, скрипта ће прво извршити читање са циљног ФПГА, а затим ће користити те вредности за оне које недостају. Резултат ће бити да се мењају само наведени регистри
- Када извршите упис, сви наведени регистри ће се променити током истог циклуса такта, а не чим буду примљени преко УАРТ-а.
Читање регистара
- Користите прекидач -р да прочитате све вредности регистра, као што је приказано испод. Вредности означене жутом бојом су оне које смо променили у претходном писању екample
- Свако читање приказује тренутни снимак свих улазних и излазних регистара. Сви су сampводио током истог такта
Отклањање грешака
Користите прекидач -д са било којим другим прекидачем ако треба да отклоните грешке у комуникационом протоколу. Затим ће скрипта одштампати све послате и примљене бајтове и tag ако су контролни знакови, као што је приказано испод.
Коришћење интерфејса у другим Питхон скриптама
- Скрипта уарт_регс.пи садржи класу УартРегс коју лако можете користити као комуникациони интерфејс у другим прилагођеним Питхон скриптама. Једноставно увезите класу, креирајте њен објекат и почните да користите методе, као што је приказано испод.
- Погледајте низове докумената у Питхон коду за методе и описе и типове повратне вредности.
инстантиатион_темплате.вхо
- Шаблон за инстанцирање се генерише заједно са модулом уарт_регс ради ваше удобности. Да бисте уштедели време кодирања, можете копирати инстанцирање модула и декларације сигнала у свој дизајн.
Статиц РТЛ files
- Морате да укључите следеће fileс у вашем ВХДЛ пројекту тако да се компајлирају у исту библиотеку као и модул уарт_регс:
- ртл/уарт_регс_бацкенд.вхд
- ртл/уарт_рк.вхд
- ртл/уарт_тк.вхд
- Модул уарт_регс_бацкенд имплементира машине коначног стања које уносе и искључују податке из регистра. Користи модуле уарт_рк и уарт_тк за руковање УАРТ комуникацијом са хостом.
Демо пројекти
- Постоје три демо пројекта укључена у Зип file. Они вам омогућавају да контролишете периферне уређаје на различитим плочама, као и неколико већих, интерних регистара.
- Демо фасцикле укључују унапред генерисане уарт_регс.вхд и уарт_регс.пи fileнаправљен је посебно за те дизајне.
Латтице иЦЕстицк
- Фасцикла демо/ицецубе2_ицестицк садржи демо имплементацију приступа регистру за Латтице иЦЕстицк ФПГА плочу.
- Да бисте прошли кроз процес имплементације, отворите демо/латтице_ицестицк/ицецубе2_прој/уарт_регс_сбт.пројецт file у софтверу за дизајн Латтице иЦЕцубе2.
- Након учитавања пројекта у иЦЕцубе2 ГУИ, кликните на Тоолс→Рун Алл да генеришете програмску битмапу file.
- Можете користити самосталну алатку Латтице Диамонд Программер да конфигуришете ФПГА са генерисаном битмапом file. Када се отвори Диамонд Программер, кликните на Отвори постојећи пројекат програмера у дијалогу добродошлице.
- Изаберите пројекат file наћи у Зип-у: демо/латтице_ицестицк/диамонд_программер_пројецт.кцф и кликните на ОК.
- Након што се пројекат учита, кликните на три тачке у File Колона имена, као што је приказано изнад. Прегледајте да бисте изабрали битмапу file које сте генерисали у иЦЕцубе2
- демо/латтице_ицестицк/ицецубе2_прој/уарт_регс_Имплмнт/сбт/оутпутс/битмап/топ_ицестицк_битмап.бин
- На крају, са иЦЕстицк плочом прикљученом на УСБ порт на вашем рачунару, изаберите Дизајн→Програм да бисте програмирали СПИ флеш и конфигурисали ФПГА.
- Сада можете наставити са читањем и писањем регистара користећи скрипту демо/латтице_ицестицк/уарт_регс.пи као што је описано у одељку уарт_регс.пи.
Ксилинк Дигилент Арти А7-35Т
- Можете пронаћи демо имплементацију за Артик-7 35Т Арти ФПГА евалуациони комплет у фасцикли демо/арти_а7_35.
- Отворите Вивадо и идите до екстрахованог fileс помоћу Тцл конзоле која се налази на дну ГУИ интерфејса. Унесите ову команду да бисте ушли у фасциклу демо пројекта:
- цд /демо/арти_а7_35/вивадо_прој/
- Извршите цреате_вивадо_прој.тцл Тцл скрипту да бисте регенерисали Вивадо пројекат:
- извор ./цреате_вивадо_прој.тцл
- Кликните на Генериши ток битова на бочној траци да бисте прошли кроз све кораке имплементације и генерисали програмски ток битова file.
- На крају, кликните на Опен Хардваре Манагер и програмирајте ФПГА кроз ГУИ.
- Сада можете наставити са читањем и писањем регистара користећи скрипту демо/арти_а7_35/уарт_регс.пи као што је описано у одељку уарт_регс.пи.
Ксилинк Дигилент Арти С7-50
- Демо имплементацију за развојну плочу Арти С7: Спартан-7 ФПГА можете пронаћи у фасцикли демо/арти_с7_50.
- Отворите Вивадо и идите до екстрахованог fileс помоћу Тцл конзоле која се налази на дну ГУИ интерфејса. Унесите ову команду да бисте ушли у фасциклу демо пројекта:
- цд /демо/арти_с7_50/вивадо_прој/
- Извршите цреате_вивадо_прој.тцл Тцл скрипту да бисте регенерисали Вивадо пројекат:
- извор ./цреате_вивадо_прој.тцл
- Кликните на Генериши ток битова на бочној траци да бисте прошли кроз све кораке имплементације и генерисали програмски ток битова file.
- На крају, кликните на Опен Хардваре Манагер и програмирајте ФПГА кроз ГУИ.
- Сада можете наставити са читањем и писањем регистара користећи скрипту демо/арти_с7_50/уарт_регс.пи као што је описано у одељку уарт_регс.пи.
Имплементација
- Не постоје посебни захтеви за имплементацију.
Ограничења
- За овај дизајн нису потребна посебна временска ограничења јер је УАРТ интерфејс спор и третира се као асинхрони интерфејс.
- Улаз уарт_рк за модул уарт_регс је синхронизован унутар уарт_рк модула. Дакле, не мора да се синхронизује у модулу највишег нивоа.
Познати проблеми
- Можда ћете морати да ресетујете модул пре него што се може користити, у зависности од тога да ли ваша ФПГА архитектура подржава подразумеване вредности регистра.
Више информација
- Цопиригхт ВХДЛвхиз.цом
ФАКс
П: Која је сврха генератора УАРТ тест интерфејса?
О: Генератор УАРТ тест интерфејса омогућава креирање прилагођених интерфејса за интеракцију са вредностима ФПГА регистра користећи УАРТ комуникацију.
П: Како да инсталирам Писериал пакет?
О: Можете да инсталирате Писериал преко Пипа користећи команду: пип инсталл писериал
Документи / Ресурси
![]() |
ВХДЛвхиз УАРТ Тест Интерфаце Генератор [пдф] Упутство за употребу УАРТ Тест Интерфаце Генератор, Тест Интерфаце Генератор, Интерфаце Генератор, Генератор |