Jump to content
    

Начало работы с 8051 на FPGA фирмы Actel

И вообще, как понять, что им надо? Есть какие-нибудь логические пути, чтобы сделать GPIO 8-, а не 32-разрядным, например? Или только методом научного тыка?

Share this post


Link to post
Share on other sites

Не совсем понял проблемы. Ваш проект компилится без ошибок (не считая ошибок симулятора, с которым у меня не сложилось...). Использую Libero 11. По поводу разрядностей выше 8-и ситуация следующая. Компоненты могут иметь разрядность более 8-и, но доступ к старшим байтам (или младшим - не разобрался) возможен, но только через нестандартные (для 51-го) регистры XRB, XWB, подробнее можно почитать в хендбуке на GPIO. Есть одно НО - нужно правильно описать SFR'ы в sdcc компиляторе (встроенный в SoftConsole).

Кто бы помог в этом вопросе? Был бы очень благодарен, поскольку сейчас именно этим и занимаюсь. Данный компиль дико глючный, конструкция "sfr XRB1 = 0x9D;a=XRB1" не работает.

По поводу логических путей - достаточно в свойствах корки указать кол-во пинов 8, и она становится 8-и разрядной) никакого научного тыка. У меня все GPIO 8-и разрядные, все работает. Были попытки повысить разрядность, но благодаря компилятору оказалось проще поставить несколько блоков GPIO в проект. Сложности возникают потом при попытке запрограммировать таймер или WDT - тут уже не получится поставить второй таймер(

Share this post


Link to post
Share on other sites

Если ещё интересно.

Лично моя беда была в неправильной организации памяти. Там нужна не комбинационная схема, а синхронная, притом срабатывающая (изменяющая состояние на выходе данных) по спаду тактового импульса. Теперь всё работает и на модели до синтеза и после разводки, и живьём светодиоды моргают.

А обращение к SFR получилось после вот такого объявления:

__data at 0x9A unsigned char MyXWB1;

и затем в программе:

MyXWB1 = 0xFF;

При этом вариант __data at XWB1 unsigned char MyXWB1 даёт ошибку error 2: Initializer element is not constant.

Некрасиво-то как: не воспользоваться родным файлом reg51.h.

 

Share this post


Link to post
Share on other sites

Спасибо, Дмитрий! Работает.

Появилась у меня очередная проблемка. Есть компонент с интерфейсом Wishbone slave. Очень хочется прикрутить его к 51-у ядру.

"Открутить" от него Wisbone интерфейс не получается из-зи недостатка знаний. Можно-ли использовать GPIO компонент для эмуляции

Wishbone maser? Какие могут быть подводные камни? Или може существует мост AHB3-Wishbone?

 

 

 

Share this post


Link to post
Share on other sites

Можно-ли использовать GPIO компонент для эмуляции Wishbone maser?

Полноценной эмуляции нет. Нужна будет прослойка.

 

Share this post


Link to post
Share on other sites

Спасибо, Дмитрий! Работает.

Появилась у меня очередная проблемка. Есть компонент с интерфейсом Wishbone slave. Очень хочется прикрутить его к 51-у ядру.

"Открутить" от него Wisbone интерфейс не получается из-зи недостатка знаний. Можно-ли использовать GPIO компонент для эмуляции

Wishbone maser? Какие могут быть подводные камни? Или може существует мост AHB3-Wishbone?

Я бы почитал про wishbone (потому что ничего про него не знаю) и сам прикрутил бы его к AHB3 через самопальный интерфейс. Прикладываю черновик моей статьи для "Компонентов и технологий" про самопальные устройства для AHB. Правда, там про ведомое устройство, но работа шины коротко описана, она несложно устроена. Извиняюсь, нету под рукой нормальной вёрстки.

Если этот Wishbone асинхронный (или может долго ждать) и для него нужно до 32 сигнальных линий, то можно, наверное, и через GPIO. Но должно получиться медленно и громоздко.

part5.zip

Share this post


Link to post
Share on other sites

там вся проблема будет в генерации стробов записи и чтения + обработка подтверждений. минимальная прослойка потребуется всяко.

Share this post


Link to post
Share on other sites

Вариант прикрутить к AHB3 не стоит как задача и рассматривается как запасной. Нужно совсем неспешно писать(читать) данные с готового модуля.

Сейчас больше всего смущает именно синхронность Wishbona с клоком (все тайминги в доках на это указывают). Будет-ли работать... Разбираюсь,

заодно учу верилог... Спасибо всем за ответы.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...