Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ruslan-maniak
Открыл глаза
Сообщения: 40
Зарегистрирован: Вт янв 18, 2011 08:15:32

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Ruslan-maniak »

Приветсвую. Ещё вопрос по ПЛИСам, а именно VHDL. До этого верхний уровень проекта разрабатывал в виде Схематика, а модули как VHDL-module. Теперь хочу попробовать полностью весь проект описать как VHDL-код. Но не знаю от чего оттолкнуться. Может есть где обучающая статья на счёт этого? Или на каком форуме это обсуждалось? А может у кого есть простейший проект подходящий под мой вопрос? Интересует именно организация структуры проекта. Конкретно: как соединять пины разных модулей(VHDL-module)? Как в проекте создавать несколько экземпляров одного модуля? Спасибо.
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение uldemir »

Мы сейчас тусуемся в теме viewtopic.php?f=20&t=64552. А до этого были еще - поиск найдёт. Я раньше тоже так делал. А вот на днях, свою одну из схем просто взял и написал одним куском. Это не сложно. Достаточно просто поименовать соединительные цепи. А вот тот кусок, что повторяется два раза, я сделал отдельным модулем и присоединил как компонент.

компонент описывается:

Код: Выделить всё

    COMPONENT Migalka
    PORT(
         Knopka : IN  std_logic;
         CLK : IN  std_logic;
         Led : INOUT  std_logic
        );
    END COMPONENT;
А его подключение:

Код: Выделить всё

   uut: Migalka PORT MAP (
          Knopka =>net1,
          CLK => net2,
          Led => net3
        );
И так столько раз, сколько компонентов. Это одно из самых простых решений. Наверняка есть и более изящные, но это уже к гуру.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Ruslan-maniak
Открыл глаза
Сообщения: 40
Зарегистрирован: Вт янв 18, 2011 08:15:32

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Ruslan-maniak »

Одним куском - т.е. все функциональные блоки описаны в одном файле? Я считаю что это не очень верный подход. Я бы хотел более-менее объектно-ориентированным методом работать.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Meteor »

Ruslan-maniak, воспользуйтесь поиском по этому разделу с моим ником - выкладывал уже нечто подобное.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
IfoR
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение IfoR »

Дык структура примерно такова: создаётся корневой модуль в отдельном файле (root, например) и в нём подключаем другие модули, которые могут быть описаны в других файлах, ну и описываем логику между ними. Входы и выходы описываем те, которые должны быть выведены на полюса микросхемы. После этого командуем "ФАС!!!" синтезатору, указывая пальцем на корневой (root) модуль. Он там подхватит все подключаемые модули и что нибудь да засинтезирует, а компоновщик всё разместит на микросхеме.
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
mastech
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

avr флаги для чего они

Сообщение mastech »

avr флаги для чего они? я что то не могу понять как и для чего оно, понял что это сдвоенные регистры их еще называют указателями я правильно понимаю? в чем их фишка?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25143
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Флагом называют выход триггера, состояние которого можно проверить в некоем условии.
Флаг прерывания - частный случай такого триггера, выход которого используют для АППАРАТНОГО требования перехода программы по ВЕКТОРУ (начальному адресу обработчика) прерывания.
Флаг всегда одноразряден. Это БИТ.
Многоразрядный регистр условий называется СЕМАФОРОМ.

Сдвоенные регистры используют как УКАЗАТЕЛЬ на память. Т.е. в этой паре записан 16-разрядный АДРЕС по которому в памяти находятся данные. Такие указатели используют для КОСВЕННОЙ адресации данных. Косвенная адресация позволяет ВЫЧИСЛЯТЬ адрес. В таком случае в команде указан не сам адрес покоторому находится операнд, а РЕГИСТР (пара регистров) в котором находится АДРЕС операнда. При прямой адресации, когда адрес указан в самой команде, а также непосредственной, когда сами данные располагаются внутри команды для машин гарвардской архитектуры вычислять его невозможно.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

Короче - если загорелась лампа "Бак пустой", т.е. выставился флаг, то бросай все и езжай на АЗС. :) Это флаг прерывания. На АЗС можешь запрвиться, а можешь и не заправиться. Есть также флаги по результату действий. Кинул окурок на заднее сидение и проверяй, надо доставать огнетушитель или нет. :))
Docendo discimus
mastech
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение mastech »

а как их применить на деле в АВР как я понял их три? и почему они xyz?
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Это не флаги, а 16-битные регистры. Применяются там, где нельзя обойтись обычным, 8-битным. Например для задания адресов ОЗУ или Flash.
mastech
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение mastech »

ну я ваще тупень) значит флаом может быть прерывание из вне нажатие кнопки или напряжение поднялось до заданного уровня и как говорят поднят флаг?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

Флаг это флаг, прерывание это прерывание. Две совершенно разные вещи. Флаг это указатель на то, что произошло нечто. Прерывание это процесс окончания(вр'еменного) выполнения программы и переход в другое место. После обработки другого места возвращаемся туда, откуда ушли. Или не возвращаемся.
Docendo discimus
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Возьми любой регистр, придумай любой бит в нём. По какому-то событию ты его будешь ставить, по другому - сбрасывать. И самое главное - анализировать. Этот бит станет называться флагом в терминах программирования.
Вот и всё. Грубо говоря флаг - это однобитовая переменная.
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение SmarTrunk »

mastech
16-битные регистры X, Y и Z (состоящие из двух 8-битных) используются для чтения/записи по указанному в них адресу (st, ld, std, ldd). Типа косвенная адресация.

Еще регистр Z используется для перехода по указанному в них адресу (ijmp), вызову подпрограмм по указанному в них адресу (icall), чтения констант из памяти программ (lpm), записи в память программ (stm).

Еще с ними можно делать некоторые действия, например, прибавить или вычесть небольшую константу (adiw, sbiw).

Регистр флагов есть, и необходимо про него знать, но это совсем другое.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25143
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

SmarTrunk писал(а):mastech
Еще с ними можно делать некоторые действия, например, прибавить или вычесть небольшую константу (adiw, sbiw).

Это называется ОТНОСИТЕЛЬНАЯ (базовая) адресация.
Необходима для табличных обработок.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Работа с константами к адресации никак не относится, хоть и очень часто используется.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25143
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Работа с короткими константами в применении к базовым регистрам косвенной адресации для того и создана, чтобы компилятор Си генерировал компактный и изящный код при относительной адресации внутри таблиц. Это и есть Си-ориентированная архитектура машины.
Набор команд не высасывают из пальца. Его ЗАТАЧИВАЮТ под определенное использование.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Это и есть Си-ориентированная архитектура машины.

А, ну если так...
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

Мысли вслух по прочтении последних постов: Мда... Это вам не в автобусе ездить. :)
Docendo discimus
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chip115 »

Всем привет ! Помогите, пожалуйста, разобраться с настройкой генератора и PLL. МК Stellaris LM3S9B96. Нашел функцию по настройке частоты. Сама функция в приложении.


Нашел пример, где юзают этот мк на частоте в 50 МГц. Мне надо 80 Мгц при кварце 16 МГц.
Код:

Код: Выделить всё

  // Set the clocking to run from the PLL at 50MHz
    //
    SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ);

Как тут вообще настройка идет? Почему юзают делитель, при том, что надо умножать? И откуда тут 50 МГц?
Вложения
OSC.C
Функция
(9.48 КБ) 128 скачиваний
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Ответить

Вернуться в «Разные вопросы по МК»