реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> CPU или конечный автомат, что лучше
anatolich
сообщение May 10 2012, 09:08
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 4-05-07
Пользователь №: 27 512



Уважаемые коллеги,
извините что не мог на праздники участвовать в дискуссии. Был приятно удивлен
таким участием в моей проблемме.
Несколько месяцев назад делал контроллер под видео сенсор. Уже все работает в железе
Сейчас впихиваем все это в форм фактор.
Там все было гораздо проще. Было пять команд по УАРТу: Reset, Read/Write Memory, Get/Set Register. (типа 001, 010, 011, 100, 101)
Используя http://www.gaisler.com/doc/vhdl2proc.pdf я написал простой командник и очень упрощенный DMA

Теперь мне нужно два сенсора подцепить к одному хосту. У него уже утвержденный список телеграмм (10 штук)
Телеграмма имеет СТАРТ, КОНЕЦ, ДЛИНА, ДАННЫЕ (начинаются с ID), КОНТРОЛЬНАЯ_СУММА. Спец символы дополняются префиксом
Например 04h совпадает с ESC, поэтому заменяется на 040Сh

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

Сделать для этого машину состояний мне уже не очень сложно. (Я начал работать в этой области с полного нуля год назад сразу над реальным проектом, читал гуглил и тут же лабал. Сейчас хочется во второй итерации делать все грамотно)
Поэтому начал читать iosifk статьи, записался на осень на курсы по НИОСУ в ЭФО в Политехе. Накачал варианты МикроБлэйза с ОпенСоурса. Так что месяца через два у меня будет оба варианта - МашинаСостояний и ЦПУ. Отпишусь.
А пока с вашего разрешения буду задавать глупые вопросы в этой теме. Наверное не стоит плодить темы?

Сообщение отредактировал anatolich - May 10 2012, 09:11
Go to the top of the page
 
+Quote Post
Bad0512
сообщение May 10 2012, 16:37
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(iosifk @ May 9 2012, 13:58) *
Я для себя все это прошел лет 10 назад. И все это описал, как сумел... Потому здесь заниматься этим ради полусотни посетителей и для непонятной цели не буду. Нет времени и сил.
А Вам предлагаю следующее.
Если Вы действительно можете и хотите показать, что Вы что-то способны, то напишите об этом статью, а я, как член редколлегии Кит, помогу Вам ее напечатать. К примеру, свяжите в одну тему CPU в ПЛИС и автоматное программирование от Шалыто... Вот это и будет серьезный подход. И тогда 6 тыс. читателей КиТ Вам скажут спасибо. ТС тоже может поучаствовать, т.к. он может сформулировать конкретную задачу и для нее сделать автомат, например... А я проверю текст и подскажу, что и где надо будет добавить или изменить. Почту и личку мою знаете. Так что предложение Вам сделано и опыт в таких делах у меня есть. Да и "понятые" тоже здесь присутствуют, подтвердят, что предложение реальное...
Думайте.
А все кто хочет присоединиться к статье - милости просим...
Удачи всем...

Я бы не хотел заниматься написанием статьи по разным причинам.
1. Время. Сейчас мне его адски не хватает, а статья - это серьёзно, много времени потратить нужно.
2. Не считаю себя достаточно компетентным в эттом вопросе, развивать тему влубь - это опять же время, а его сейчас просто нет.
Потратить пару часов на написание небольшого примера - на это я пойти готов. Потратить несколько дней на написание статьи - увы, слишком большая роскошь...
Go to the top of the page
 
+Quote Post
anatolich
сообщение May 15 2012, 07:45
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 4-05-07
Пользователь №: 27 512



Цитата(SFx @ May 7 2012, 00:38) *
если UART на ~4 команд до FSM. Fmax = Highest
если UART на ~50 команд, то picoblaze. Fmax = High, но требуется bram
иначе что то более тяжелое. Fmax = Medium, и не один bram а то и внешние микросхемы памяти.


Мне удалось анимировать пример с http://www.echelonembedded.com/fpgaresources/ для платы NEXYS2
на своей плате. Программа ПикоБлэйза работает с УАРТом нормально.
Но адр.шина этого проца 8. То есть, только 256 инструкций?
Или как-то через порты и этот ваш brяm можно увеличить размер программы?
Go to the top of the page
 
+Quote Post
Barktail
сообщение May 15 2012, 07:54
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 14-12-11
Пользователь №: 68 851



Цитата(anatolich @ May 15 2012, 11:45) *
Мне удалось анимировать пример с http://www.echelonembedded.com/fpgaresources/ для платы NEXYS2
на своей плате. Программа ПикоБлэйза работает с УАРТом нормально.
Но адр.шина этого проца 8. То есть, только 256 инструкций?
Или как-то через порты и этот ваш brяm можно увеличить размер программы?

Шина адреса памяти команд у пикоблейза(того который KCPSM3) 10 разрядов, так что 1024 инструкции.
Go to the top of the page
 
+Quote Post
anatolich
сообщение May 15 2012, 08:40
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 4-05-07
Пользователь №: 27 512



Хорошо!
А если не влезает, то наверное я должен через некий порт переключать банки
и менять РС?
Go to the top of the page
 
+Quote Post
Torpeda
сообщение May 15 2012, 09:24
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Хочу поделится своими соображениями когда что лутше....
Сначала договоримся, что всё должно быть лицензионное.

Учтём следующее:

1) Процессор требует порядка ~100 флопов + ROM + RAM
Если FSM требует меньше площади - она лутше.
Если разнообразие задач большое, то понадобиться много FSM-мов, а значит и площади.
2) Процессор требует лицензии, компилятора (минимум ASM).
без компилятора - не стоит тратить время (дебаг "не С кода" очень затруднён).
Соотв. "самопальные процессоры" - себе дороже (кто сделает компилятор?).
3) В ASIC вставлять память - создавать проблему с тестированием, масками прошивки, дебагом и т.д.

Таким образом, на практике, процессор надо использовать везде где:
-он успевает
-у Вас есть лицензия и компиляторы, а также IP памятей
-много разнообразных задач, особбенно с логикой и вычислениями
-предполагаемый розмер FSM соизмерим с процессором
Go to the top of the page
 
+Quote Post
anatolich
сообщение May 15 2012, 10:57
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 4-05-07
Пользователь №: 27 512



Совершенно согласен.
Тем более, что ПикоБлэйз is free, и о нем достаточно много информации.
Только пережевать ее чтобы, нужно много времени.
Весь день сегодня читаю ug129.pdf но правду о программе более 1024 инструкций так и не нашел
Go to the top of the page
 
+Quote Post
Torpeda
сообщение May 15 2012, 11:38
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(anatolich @ May 15 2012, 13:57) *
...Тем более, что ПикоБлэйз is free....

А фиг там: "The license of the cores allows their free use, albeit only on Xilinx devices"
Оно фрии для Xilinx и только. В Альтеру нельзя, ASIC нельзя......

-----------------
Кстати, кто знает конфигурируемый процессор (8-16 бит) с дебагером, бесплатный и с GCC компилятором?
Go to the top of the page
 
+Quote Post
anatolich
сообщение May 15 2012, 11:59
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 4-05-07
Пользователь №: 27 512



Вот хорошая дискусия по поводу >1024 инструкций
http://forums.xilinx.com/t5/PicoBlaze/Pico...ctions/td-p/710

only on Xilinx devices
наверное потому, что kcpsm3.vhd написан на встроенных компонентах типа LUT4, MUXCY
а не по злоби?
Go to the top of the page
 
+Quote Post
Torpeda
сообщение May 15 2012, 12:12
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(anatolich @ May 15 2012, 14:59) *
only on Xilinx devices
наверное потому, что kcpsm3.vhd написан на встроенных компонентах типа LUT4, MUXCY
а не по злоби?

Таки по жлоби....
Вот на Xilinx форуме нашёл (http://forums.xilinx.com/xlnx/board/crawl_...;message.id=665):
Цитата
As Barrie points out, the picoBlaze IP is not well suited to a standard cell implementation (it is intentionally intended to be an optimal mcro-controller in the Xilinx architecture), and it is also a prohibited use to implement it in anything other than Xilinx components under the quoted agreement.

Of course, everything is negotiable (for the right $), so one could obtain a license to use it elsewhere, but I am unaware of anyone negociating, paying for, and obtaining one.
If you plan on going to an ASIC, you would probably be better off to choose another controller.

Good luck,
Austin Lesea
Principal Engineer
Xilinx San Jose

Ну и цитата с "Xilinx Reference Design License"
Цитата
Access to the Designs is provided only to purchasers of Xilinx programmable logic devices or
Xilinx HardWire™ devices for the purposes set forth herein.
Go to the top of the page
 
+Quote Post
Barktail
сообщение May 15 2012, 12:27
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 14-12-11
Пользователь №: 68 851



Цитата(Torpeda @ May 15 2012, 16:12) *
таки по злоби....
Вот на Xilinx форуме нашёл (http://forums.xilinx.com/xlnx/board/crawl_...;message.id=665):

Злоба тут не при чем)) Просто бонус для пользователей их и только их плис. Бизнес.
Go to the top of the page
 
+Quote Post
anatolich
сообщение May 15 2012, 13:26
Сообщение #27


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 4-05-07
Пользователь №: 27 512



И по сравнению с ниос Альтеры, не плохой бонус.
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение May 15 2012, 19:04
Сообщение #28


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(Torpeda @ May 15 2012, 20:38) *
...
Кстати, кто знает конфигурируемый процессор (8-16 бит) с дебагером, бесплатный и с GCC компилятором?

32
http://opencores.org/project,zpu

The ZPU has a FreeBSD license for the HDL and GPL for the rest. This allows deployments to implement any version of the ZPU they want without running into commercial problems, but if improvements are done to the architecture as such, then they need to be contributed back.


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
des00
сообщение May 16 2012, 06:45
Сообщение #29


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Torpeda @ May 15 2012, 06:12) *
Таки по жлоби....

так то оно так, но народ переписал VHDL пикоблейз на верилог под фришной лицензией, ну а то что он совместим с пикоблейзвым асмом (от хилых и не только), то так получилось %)


В общем, как это ни банально, читайте вики http://ru.wikipedia.org/wiki/PicoBlaze wink.gif


--------------------
Go to the top of the page
 
+Quote Post
Torpeda
сообщение May 16 2012, 13:16
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(Postoroniy_V @ May 15 2012, 22:04) *

похоже это действительно бесплатный процессор с GCC тулзами (включая С компилятор). Спасибо за подсказку.


Цитата(des00 @ May 16 2012, 09:45) *
так то оно так, но народ переписал VHDL пикоблейз на верилог под фришной лицензией, ну а то что он совместим с пикоблейзвым асмом (от хилых и не только), то так получилось %)

А Xilinx не возражает против такого клонирования?
Всётаки система команд может быть запатентована....
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th July 2025 - 13:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016