Мазмуну:
- 1 -кадам: өзгөчөлүктөр
- 2 -кадам: PICтин жалпы көрүнүшү
- 3 -кадам: RTL Дизайн жана ишке ашыруу
- 4 -кадам: Маанилүү эскертүүлөр жана тиркелген файлдар
Video: VHDLде программалануучу үзгүлтүк контроллеринин дизайны: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Мен бул блогдо алган жоопторума толуп кеттим. Рахмат балдар менин блогума кирип, сиздер менен өз билимимди бөлүшүүгө түрткү бергениңиздер үчүн. Бул жолу мен бардык SOCларда көргөн дагы бир кызыктуу модулдун дизайнын сунуштайм - Interrupt Controller.
Биз жөнөкөй, бирок күчтүү Программалануучу Үзгүлтүк Контроллерин иштеп чыгабыз. Бул толугу менен конфигурацияланган жана параметрленген дизайн, ал платформаларда көчмө. Мен муну NVIC, 8259a, RISC-V PLIC, Microblaze's INTC сыяктуу популярдуу үзгүлтүккө учуроочу контроллердин архитектурасын көп окуп чыккандан кийин ойлоп таптым, бул блогду пайдалуу деп табасыз жана үзгүлтүктөр процессор тарабынан кандайча чечилээрин түшүнүүгө жардам берет деп үмүттөнөм. үзгүлтүккө учуроочу контролердун жардамы менен.
1 -кадам: өзгөчөлүктөр
Төмөндө ИМдин өзгөчөлүктөрү келтирилген:
- AHB3-Lite интерфейси.
-
Статикалык конфигурациялануучу параметрлер:
- Тышкы үзгүлтүк булактарынын саны; 63 үзгүлтүккө чейин колдойт.
- Приоритеттүү деңгээлдердин саны; 63 деңгээлге чейин колдойт.
- Уялоо деңгээлинин саны; 8 деңгээлге чейин уя салууну колдойт.
- Автобустун туурасы; 32 же 64.
- Дүйнөлүк жана жергиликтүү маскировкаланган үзгүлтүктөр.
- Ар бир үзгүлтүк үчүн динамикалык конфигурацияланган артыкчылык деңгээли.
- Иштин эки режими - Толугу менен салынган режим жана бирдей артыкчылыктуу режим.
- Активдүү жогорку деңгээлдеги сезимтал үзгүлтүктөрдү колдойт.
Дизайнда RISC-V PLIC спецификациясы шыктанган кол үзүү механизми колдонулат.
Үзгүлтүктү алдын ала чыгаруу 8259a илхамы менен жазылган
Башка окуу: Microblaze INTC, NVIC
2 -кадам: PICтин жалпы көрүнүшү
Программаланган үзгүлтүккө учуроочу контролер (PIC) тышкы перифериялык түзүлүштөрдөн бир нече үзгүлтүктөрдү алат жана аларды максаттуу процессордун өзөгүнө бир үзгүлтүккө чыгарат.
PIC контролдоо жана абал реестрлери аркылуу көзөмөлдөнөт. Бардык PIC реестрлери эстутум картасына түшүрүлгөн жана AHB3-Lite автобус интерфейси аркылуу жетүүгө болот.
Реестр банкы конфигурация регистринен, иштетүү реестрлеринен, күтүүдөгү реестрлерден, иштөө реестрлеринен, артыкчылык регистрлеринен жана ID реестринен турат, алар үзгүлтүккө учуроочу контроллерлерге мүнөздүү.
Конфигурация реестри PICтин иштөө режимин орнотуу үчүн колдонулат. Ал Толугу менен Киргизилген режимде же Барабар Приоритет режиминде иштей алат.
Ар бир үзгүлтүккө приоритеттер берилип, жекече маска коюлушу мүмкүн. Бардык үзгүлтүктөрдүн глобалдык маскировкасы дагы колдоого алынат.
Реестр банкы күтүлүп жаткан үзгүлтүктөрдүн артыкчылыктарын чечүү жана ошого жараша процессорго үзүлүүнү ырастоо үчүн Priority Resolver жана BTC (Binary-Tree-Comparator) менен өз ара аракеттенет. ID реестри үзгүлтүккө учуроодо эң биринчи кезекте турган идентификаторду камтыйт.
3 -кадам: RTL Дизайн жана ишке ашыруу
ПИКтин дизайн басымы артыкчылыктарды чечүүнүн кечигүүсүн азайтууга багытталган, бул дизайндын эң маанилүү бөлүгү. Дизайн артыкчылыктарды бир сааттык циклде чечкендиктен, Log2 татаалдыгы бар булактардын санынын көбөйүшү менен иштөө начарлайт.
Дизайн ийгиликтүү ишке ашырылды жана убактысы Artix-7 FPGAларда төмөнкү жыштыктарга чейин текшерилди.
- 15 булакка чейин: 100 МГц
- 63 булакка чейин: 50 МГц
Бир гана PIC кошкон үзгүлтүккө учуроо 3 сааттык циклди камтыйт (Процессордун контекстке которулуу убактысын жана биринчи ISR инструкциясын алуу убактысын кошпогондо).
4 -кадам: Маанилүү эскертүүлөр жана тиркелген файлдар
Маанилүү эскертүүлөр:
- Эгерде AHB3-Lite интерфейси керексиз болсо, анда сиз жогорку модулду өзгөртүп, PICтин скелет дизайнын колдоно аласыз. Бирок берилген тест столу AHB3-Lite Interface менен IP үчүн.
- PIC IP v1.0 - бул толугу менен портативдүү, жылаңач RTL дизайны.
- Эки режимде иштөө үчүн функционалдык жактан тастыкталган.
Тиркелген файлдар:
- VHDLде дизайн коддору жана тест столу.
- Толук IP документтери.
Бул ачык булак дизайны … Колдонуудан тартынбаңыз …
Бардык суроолор боюнча, каалаган убакта:
Mitu Raj
Сунушталууда:
Зымсыз Xbox 360 контроллеринин кабыгын алмаштыруу: 15 кадам (сүрөттөр менен)
Wireless Xbox 360 контроллеринин кабыгын алмаштыруу: Xbox 360 контроллеринин кабыгын жаңы кабыкка алмаштыруу боюнча этап -этабы менен көрсөтмө. Бул окуу куралы студенттерге видео гам аркылуу аппараттык, электрдик/компьютердик инженерия жана информатика принциптери жөнүндө негизги түшүнүккө ээ болуу үчүн колдонулушу мүмкүн
VHDLде Жөнөкөй Төрт Жактуу Ассоциативдүү Кэш Контроллеринин Дизайны: 4 Кадам
VHDLдеги Төрт Жактуу Ассоциативдүү Кэш Контроллеринин Дизайны: Менин мурунку көрсөтмөмдө, биз жөнөкөй түз картага түшүрүлгөн кэш контроллерин кантип жасоону көрдүк. Бул жолу биз бир кадам алдыга жылабыз. Биз жөнөкөй төрт тараптуу ассоциативдүү кэш контроллерин иштеп чыгабыз. Артыкчылыгы? Сагынуу көрсөткүчү азыраак, бирок perfo баасында
VHDLдеги жөнөкөй кэш контроллеринин дизайны: 4 кадам
VHDLдеги жөнөкөй кэш контроллеринин дизайны: Мен муну үйрөтүп жатам, анткени кээ бир VHDL коддорун үйрөнүү жана кэш контроллерин иштеп чыгууну баштоо кыйынга турду. Ошентип, мен нөлдөн баштап кэш контроллерин иштеп чыктым жана аны FPGAда ийгиликтүү сынап көрдүм. Менде п
VHDL жана Verilogдо жөнөкөй VGA контроллеринин дизайны: 5 кадам
VHDL жана Verilogдо жөнөкөй VGA контроллеринин дизайны: Бул көрсөтмөдө биз RTLде жөнөкөй VGA контроллерин иштеп чыгалы деп жатабыз. VGA Controller - бул VGA дисплейлерин айдоого арналган санариптик схема. Ал Frame Bufferден (VGA Memory) окулат, ал көрсөтүлө турган кадрды билдирет жана керектүү нерселерди жаратат
Arduino - Мезгилдүү үзгүлтүк: 4 кадам
Arduino - Мезгил -мезгили менен үзгүлтүккө учуроо: Бул инструкция Arduino программаларында мезгил үчүн үзгүлтүккө учуроону колдонуу жөнүндө. Бул Arduino көп нерсени жасай аларын билген, бирок муну кантип жасоону такыр билбеген, жаңыдан башталып келе жаткан Arduino программисти үчүн бир кадам. Эгерде аткаруу пр