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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Lattice бросился вдогонку за альтерой, LatticeMico32 Open, Free 32-Bit Soft Processor
Postoroniy_V
сообщение Oct 4 2006, 07:09
Сообщение #31


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

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



Цитата(des00 @ Oct 4 2006, 08:55) *
Всем:
Думаю достаточно клаву греть smile.gif
Если кто-то хочет поучаствовать в разработе подобного проца, то давайте каждый подготовит описание типовых задач, которые он решал/решает в текущее время и выдвинет свои требования к процу. Затем, за несколько on-line встреч (можно в irc), можно обсудить идеи и выработать концепцию проца и стратегии разработки.
А дальше остаеться только определиться с назначением работ по разработке и реализовать, как сам проц, так и софт для разработки на нем.

Здравствуйте, Денис!
Готов участвовать - HDL, "немного" софт smile.gif, есть скромные наработки. А софт(асм) имхо на перле лучше писать smile.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
Leka
сообщение Oct 4 2006, 10:23
Сообщение #32


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(des00 @ Oct 4 2006, 08:55) *
Цитата(Leka @ Oct 3 2006, 05:54) *

Имхо. Одна из главных проблем софт-процессора: "правильный" многопортовый регистровый файл с асинхронным чтением. Блочная память не допускает асинхронное чтение, распределенная - многопортовую запись. Обход этого ограничения выливается либо в неортогональность системы команд, либо к дополнительным тактам/ступеням/логике(+задержке).


вы правы, но даже такая задача решаеться достаточно просто.
1. Честный двухпортовый регистровый файл у ксайлов делаеться на 2-х RAM16D. При этом мы можем читать 4 числа и писать 2 числа. Если не нужен доступ одновременно к 4 м числам, то все еще проще. Нужно использовать 2 однопортовки. Но при таком подходе возникает не возможность отмапливания регистров на внешние устройства.
...

У меня "красиво" не получилось. True dual port у меня реализуется на 2-х RAM16D и дополнительной логике, но тактовая падает вдвое при 8-кратном росте числа LUT --> теряется всякий смысл. На 2-х однопортвках однотактовый true dual port не реализуется, имхо. Можно примеры?
Цитата
Всем:
Думаю достаточно клаву греть smile.gif
Если кто-то хочет поучаствовать в разработе подобного проца, то давайте каждый подготовит описание типовых задач, которые он решал/решает в текущее время и выдвинет свои требования к процу.

У меня проект - многоядерный микроконтроллер, с прицелом на перевод в ASIC, отсюда все требования к ядру. Проверка софт-процессора "на вшивость": чисто программная (т.е. без использования каких-либо аппаратных костылей) реализация цветного текстового контроллера VGA (640*480 @25МГц) - задача управления в чистом виде со строгим таймингом. Для 8 цветов у меня с этим справляются 2 ядра(по 300..400 LUT) @50МГц (starter kit spartan3e).
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 5 2006, 15:29
Сообщение #33


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

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



2 Postoroniy_V, Leka, RobFPGA

Извеняюсь за паузу, я предоставлю описание своих задач и видение контроллера после выходных.

Работы много smile.gif

on-line обсудить все можно будет в irc чате или в конференции. Но думаю что более разумно будет создать отдельную тему smile.gif


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 12 2006, 14:46
Сообщение #34


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

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



После выходных не получилось smile.gif работы много навалилось.

Цитата(Leka @ Oct 4 2006, 05:23) *
У меня "красиво" не получилось. True dual port у меня реализуется на 2-х RAM16D и дополнительной логике, но тактовая падает вдвое при 8-кратном росте числа LUT --> теряется всякий смысл. На 2-х однопортвках однотактовый true dual port не реализуется, имхо. Можно примеры?


да, я реализовывал регистровый файл на 2-х RAM16D + мультиплексоры на выходе, но зная "такую особенность" я реализовывал 3-х стадийный конвейер, отделяя отдельно стадию write back (за счет чего получил простое декодирование условных комманд) поэтому уложился в требования по производительности smile.gif

Насчет однопортовых true dual port не возможен, но мы же решаем задачу в ограниченном базисе (FPGA), поэтому можно наложить небольшие ограниченя на используемые командами адреса операндов biggrin.gif

А можно узнать подробнее про ваше ядро ? интересует система комманд (остальное следует из нее smile.gif )

Меня же тема процов интересует с точки зрения управления и заворачивания битстрима в NAL unit (т.е. медленной математики), что бы экономить ресурс ФПГА. А для быстрой математики есть обычная логика + ДСП слайсы в помошь biggrin.gif

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


--------------------
Go to the top of the page
 
+Quote Post
Leka
сообщение Oct 13 2006, 08:53
Сообщение #35


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(des00 @ Oct 12 2006, 18:46) *
...
А можно узнать подробнее про ваше ядро ? интересует система комманд (остальное следует из нее smile.gif )
...
по процу я почти закончил формировать блок-схему, выложу на днях. (постараюсь выкроить время, что бы ее закончить).


Детали раскрывать не хочу - возможно, будет использоваться в коммерческом проекте. Ядро: spartan3e, ~300LUT, гарвардская архитектура, 36-разрядная инструкция, 18-разрядные данные, 2х-ступенчатый конвейер, 1 такт на инструкцию, 1 клок без фаз, ~100МГц (по данным P&R, пока отлаживаю на 50МГц). До 3х операций на инструкцию: условный переход+арифметика+пересылка (память/устройство <--> РОН). Все управление, пуск-останов, загрузка программы - через com-порт. Те с железом и с ассемблером (низкоуровневым компилятором) - проблем у меня нет (пройденный этап). Но - писать на ассемблере очень не понравилось --> хочу ввести элементы языка высокого уровня.

Предлагаю сосредоточится именно на аспекте высокоуровневого программирования,
поскольку железо+ассемблер делается и модифицируется легко и быстро (при наличии опыта, конечно). Те _конкретизировать_ пути получения высокоуровневой среды программирования для _произвольного_ софт-процессора.
Go to the top of the page
 
+Quote Post
tegumay
сообщение Oct 18 2006, 18:03
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 16-09-05
Из: Москва
Пользователь №: 8 640



Тоже предлагаю выделить в отд.тему:
атачмент -
Идея крайне неплоха

Меня интересует (в контексте):
- дешифратор команд (на чем.... или в зависимости от системы команд)
- конвейер (если их сделать несколько но с малым кол-вом ступеней, разнести по задачам
и отдельно объеденить через рег. окно)
(т.е при повышении кол-ва зан.ресурсов увел. конвеер+ меры по повышению быстродействия)
- прерывания (хотя контроллер прерываний в контексте фпга..., скорее уж механизм прерываний и их уровни)
- стр-ра памяти

... ой чето я увлекся, короче ждем отд. ветку
готов участвовать, думать, т.к. еж таки это моя специальность (выч. системы, комплексы и сети) в чистом виде.

мат. анализ или модель (частично) могу взять на себя

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

Я думаю так:
1. Модель на уровне HDL (+синтезатор)

2. Оптимизация под конкретные плисы(в иделе законстрейтеные)

В таком случае возможно выжать все


>>> to des00 блок-схему бы посмотреть


--------------------
;X
Go to the top of the page
 
+Quote Post
Doka
сообщение May 6 2008, 15:35
Сообщение #37


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(des00 @ Sep 30 2006, 16:43) *
Есть много обычных процев как заточенных под фпга (ниос, микроблейз, мико32) так не сильно заточеных под фпга, есть даже синтезируемые модели дсп процессоров. И под них есть и компиляторы, симуляторы, дебагеры. Но все это нето.
это очень интересно
помимо уже упомянутого DSPuva16 и заброшенного на этапе АЛУ проекта С5400 (TI) что-нибудь реально есть???


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
yes
сообщение Jun 18 2008, 14:22
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(Doka @ May 6 2008, 19:35) *
это очень интересно
помимо уже упомянутого DSPuva16 и заброшенного на этапе АЛУ проекта С5400 (TI) что-нибудь реально есть???


LEON поддерживает SPARC v8e - то есть 32х32 МАС 40бит можно иметь каждый такт при регистровых операндах
если использовать раздельные памяти, то наверно 0.5 МАСа на такт,

upd : про 0.5 МАСа я не подумавши написал, дтя свертки векторов надо
загрузить с индексом один отсчет,
второй,
MAC
декрементировать счетчик
перейти
то есть 5 инструкций, при раздельных шинах и использовании делей-слотов 5 тактов

у меня получалось для спартана 50МНz, для В4 до 100

но так как неоптимизирован "по LUTам" проигрывает по площади блейзу

имхо, самое важное, что есть ГЦЦ (то есть С С++ АДА ФОРТРАН и т.п.)
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Sep 5 2008, 12:01
Сообщение #39


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Народ! Кто уже использует этот проц, просьба поделиться впечатлениями.

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


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
vladz
сообщение Sep 8 2008, 18:20
Сообщение #40


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 17-06-04
Пользователь №: 39



Цитата(Vitaliy_ARM @ Sep 5 2008, 15:01) *
Народ! Кто уже использует этот проц, просьба поделиться впечатлениями.

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


Процессор как процессор, работает без нареканий. А вот отладчик программистам не нравится. Часто глючит при пошаговой отладке, если есть обращение к аппаратуре (UART, SPI etc.) Если тот же код пробежать по команде Run, то все работает.
Go to the top of the page
 
+Quote Post
Uuftc
сообщение Sep 9 2008, 21:06
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 3-10-04
Из: Кукуево-Дальнее
Пользователь №: 767



Цитата(vetal @ Sep 29 2006, 16:49) *
OpenUP(an 8-bit CISC fpga-processor)- http://www.dte.eis.uva.es/OpenProjects/OpenUP/index.htm - 8-ми битник
dspuva16(A 16-bit fixed-point DSP Processor for FPGA) - http://www.dte.eis.uva.es/OpenProjects/OpenDSP/index.htm


сайт изменился :-((
если у кого есть материалы по dspuva16, прошу поделиться - интересно глянуть

Заранее спасибо
Go to the top of the page
 
+Quote Post
Doka
сообщение Sep 10 2008, 05:09
Сообщение #42


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Uuftc
как вариант: посмотреть сайт через кэш гугл: http://209.85.135.104/search?q=cache:sOmna...;cd=4&gl=ru (видимо его удалили совсем недавно)

сами исходники: http://www.dte.eis.uva.es/OpenProjects/Ope...00/DSPuva16.zip (но ядро там совсем простенькое)


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Uuftc
сообщение Sep 10 2008, 11:22
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 3-10-04
Из: Кукуево-Дальнее
Пользователь №: 767



Цитата(Doka @ Sep 10 2008, 09:09) *
Uuftc
как вариант: посмотреть сайт через кэш гугл: http://209.85.135.104/search?q=cache:sOmna...;cd=4&gl=ru (видимо его удалили совсем недавно)

сами исходники: http://www.dte.eis.uva.es/OpenProjects/Ope...00/DSPuva16.zip (но ядро там совсем простенькое)


через кеш гугла смотрел. а вот файлов нет ....
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Sep 10 2008, 11:24
Сообщение #44


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Цитата(vladz @ Sep 8 2008, 22:20) *
Процессор как процессор, работает без нареканий. А вот отладчик программистам не нравится. Часто глючит при пошаговой отладке, если есть обращение к аппаратуре (UART, SPI etc.) Если тот же код пробежать по команде Run, то все работает.


Хорошо. Есть еще пара вопросов.
Вы его на других ПЛИС пробовали? Если да, то как он себя ведет после компиляции (размер кода, тактовая частота)?


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
Doka
сообщение Sep 10 2008, 15:33
Сообщение #45


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Uuftc
Прикрепленный файл  DSPuva16.zip ( 6.58 килобайт ) Кол-во скачиваний: 129


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post

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

 


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


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