Postoroniy_V 0 October 4, 2006 Posted October 4, 2006 · Report post Всем: Думаю достаточно клаву греть :) Если кто-то хочет поучаствовать в разработе подобного проца, то давайте каждый подготовит описание типовых задач, которые он решал/решает в текущее время и выдвинет свои требования к процу. Затем, за несколько on-line встреч (можно в irc), можно обсудить идеи и выработать концепцию проца и стратегии разработки. А дальше остаеться только определиться с назначением работ по разработке и реализовать, как сам проц, так и софт для разработки на нем. Здравствуйте, Денис! Готов участвовать - HDL, "немного" софт :), есть скромные наработки. А софт(асм) имхо на перле лучше писать :) Quote Share this post Link to post Share on other sites More sharing options...
Leka 1 October 4, 2006 Posted October 4, 2006 · Report post Имхо. Одна из главных проблем софт-процессора: "правильный" многопортовый регистровый файл с асинхронным чтением. Блочная память не допускает асинхронное чтение, распределенная - многопортовую запись. Обход этого ограничения выливается либо в неортогональность системы команд, либо к дополнительным тактам/ступеням/логике(+задержке). вы правы, но даже такая задача решаеться достаточно просто. 1. Честный двухпортовый регистровый файл у ксайлов делаеться на 2-х RAM16D. При этом мы можем читать 4 числа и писать 2 числа. Если не нужен доступ одновременно к 4 м числам, то все еще проще. Нужно использовать 2 однопортовки. Но при таком подходе возникает не возможность отмапливания регистров на внешние устройства. ... У меня "красиво" не получилось. True dual port у меня реализуется на 2-х RAM16D и дополнительной логике, но тактовая падает вдвое при 8-кратном росте числа LUT --> теряется всякий смысл. На 2-х однопортвках однотактовый true dual port не реализуется, имхо. Можно примеры? Всем: Думаю достаточно клаву греть :) Если кто-то хочет поучаствовать в разработе подобного проца, то давайте каждый подготовит описание типовых задач, которые он решал/решает в текущее время и выдвинет свои требования к процу. У меня проект - многоядерный микроконтроллер, с прицелом на перевод в ASIC, отсюда все требования к ядру. Проверка софт-процессора "на вшивость": чисто программная (т.е. без использования каких-либо аппаратных костылей) реализация цветного текстового контроллера VGA (640*480 @25МГц) - задача управления в чистом виде со строгим таймингом. Для 8 цветов у меня с этим справляются 2 ядра(по 300..400 LUT) @50МГц (starter kit spartan3e). Quote Share this post Link to post Share on other sites More sharing options...
des00 27 October 5, 2006 Posted October 5, 2006 · Report post 2 Postoroniy_V, Leka, RobFPGA Извеняюсь за паузу, я предоставлю описание своих задач и видение контроллера после выходных. Работы много :) on-line обсудить все можно будет в irc чате или в конференции. Но думаю что более разумно будет создать отдельную тему :) Quote Share this post Link to post Share on other sites More sharing options...
des00 27 October 12, 2006 Posted October 12, 2006 · Report post После выходных не получилось :) работы много навалилось. У меня "красиво" не получилось. True dual port у меня реализуется на 2-х RAM16D и дополнительной логике, но тактовая падает вдвое при 8-кратном росте числа LUT --> теряется всякий смысл. На 2-х однопортвках однотактовый true dual port не реализуется, имхо. Можно примеры? да, я реализовывал регистровый файл на 2-х RAM16D + мультиплексоры на выходе, но зная "такую особенность" я реализовывал 3-х стадийный конвейер, отделяя отдельно стадию write back (за счет чего получил простое декодирование условных комманд) поэтому уложился в требования по производительности :) Насчет однопортовых true dual port не возможен, но мы же решаем задачу в ограниченном базисе (FPGA), поэтому можно наложить небольшие ограниченя на используемые командами адреса операндов А можно узнать подробнее про ваше ядро ? интересует система комманд (остальное следует из нее :) ) Меня же тема процов интересует с точки зрения управления и заворачивания битстрима в NAL unit (т.е. медленной математики), что бы экономить ресурс ФПГА. А для быстрой математики есть обычная логика + ДСП слайсы в помошь по процу я почти закончил формировать блок-схему, выложу на днях. (постараюсь выкроить время, что бы ее закончить). Quote Share this post Link to post Share on other sites More sharing options...
Leka 1 October 13, 2006 Posted October 13, 2006 · Report post ... А можно узнать подробнее про ваше ядро ? интересует система комманд (остальное следует из нее :) ) ... по процу я почти закончил формировать блок-схему, выложу на днях. (постараюсь выкроить время, что бы ее закончить). Детали раскрывать не хочу - возможно, будет использоваться в коммерческом проекте. Ядро: spartan3e, ~300LUT, гарвардская архитектура, 36-разрядная инструкция, 18-разрядные данные, 2х-ступенчатый конвейер, 1 такт на инструкцию, 1 клок без фаз, ~100МГц (по данным P&R, пока отлаживаю на 50МГц). До 3х операций на инструкцию: условный переход+арифметика+пересылка (память/устройство <--> РОН). Все управление, пуск-останов, загрузка программы - через com-порт. Те с железом и с ассемблером (низкоуровневым компилятором) - проблем у меня нет (пройденный этап). Но - писать на ассемблере очень не понравилось --> хочу ввести элементы языка высокого уровня. Предлагаю сосредоточится именно на аспекте высокоуровневого программирования, поскольку железо+ассемблер делается и модифицируется легко и быстро (при наличии опыта, конечно). Те _конкретизировать_ пути получения высокоуровневой среды программирования для _произвольного_ софт-процессора. Quote Share this post Link to post Share on other sites More sharing options...
tegumay 8 October 18, 2006 Posted October 18, 2006 · Report post Тоже предлагаю выделить в отд.тему: атачмент - Идея крайне неплоха Меня интересует (в контексте): - дешифратор команд (на чем.... или в зависимости от системы команд) - конвейер (если их сделать несколько но с малым кол-вом ступеней, разнести по задачам и отдельно объеденить через рег. окно) (т.е при повышении кол-ва зан.ресурсов увел. конвеер+ меры по повышению быстродействия) - прерывания (хотя контроллер прерываний в контексте фпга..., скорее уж механизм прерываний и их уровни) - стр-ра памяти ... ой чето я увлекся, короче ждем отд. ветку готов участвовать, думать, т.к. еж таки это моя специальность (выч. системы, комплексы и сети) в чистом виде. мат. анализ или модель (частично) могу взять на себя к тому же быстродействие зависит не только от частоты но и организации Я думаю так: 1. Модель на уровне HDL (+синтезатор) 2. Оптимизация под конкретные плисы(в иделе законстрейтеные) В таком случае возможно выжать все >>> to des00 блок-схему бы посмотреть Quote Share this post Link to post Share on other sites More sharing options...
Doka 5 May 6, 2008 Posted May 6, 2008 · Report post Есть много обычных процев как заточенных под фпга (ниос, микроблейз, мико32) так не сильно заточеных под фпга, есть даже синтезируемые модели дсп процессоров. И под них есть и компиляторы, симуляторы, дебагеры. Но все это нето. это очень интересно помимо уже упомянутого DSPuva16 и заброшенного на этапе АЛУ проекта С5400 (TI) что-нибудь реально есть??? Quote Share this post Link to post Share on other sites More sharing options...
yes 23 June 18, 2008 Posted June 18, 2008 · Report post это очень интересно помимо уже упомянутого DSPuva16 и заброшенного на этапе АЛУ проекта С5400 (TI) что-нибудь реально есть??? LEON поддерживает SPARC v8e - то есть 32х32 МАС 40бит можно иметь каждый такт при регистровых операндах если использовать раздельные памяти, то наверно 0.5 МАСа на такт, upd : про 0.5 МАСа я не подумавши написал, дтя свертки векторов надо загрузить с индексом один отсчет, второй, MAC декрементировать счетчик перейти то есть 5 инструкций, при раздельных шинах и использовании делей-слотов 5 тактов у меня получалось для спартана 50МНz, для В4 до 100 но так как неоптимизирован "по LUTам" проигрывает по площади блейзу имхо, самое важное, что есть ГЦЦ (то есть С С++ АДА ФОРТРАН и т.п.) Quote Share this post Link to post Share on other sites More sharing options...
Vitaliy_ARM 0 September 5, 2008 Posted September 5, 2008 · Report post Народ! Кто уже использует этот проц, просьба поделиться впечатлениями. А то глядя на среду разработки ispLevel закрадывается сомнение, что проц тоже очень кривой Quote Share this post Link to post Share on other sites More sharing options...
vladz 0 September 8, 2008 Posted September 8, 2008 · Report post Народ! Кто уже использует этот проц, просьба поделиться впечатлениями. А то глядя на среду разработки ispLevel закрадывается сомнение, что проц тоже очень кривой Процессор как процессор, работает без нареканий. А вот отладчик программистам не нравится. Часто глючит при пошаговой отладке, если есть обращение к аппаратуре (UART, SPI etc.) Если тот же код пробежать по команде Run, то все работает. Quote Share this post Link to post Share on other sites More sharing options...
Uuftc 0 September 9, 2008 Posted September 9, 2008 · Report post 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, прошу поделиться - интересно глянуть Заранее спасибо Quote Share this post Link to post Share on other sites More sharing options...
Doka 5 September 10, 2008 Posted September 10, 2008 · Report post 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 (но ядро там совсем простенькое) Quote Share this post Link to post Share on other sites More sharing options...
Uuftc 0 September 10, 2008 Posted September 10, 2008 · Report post 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 (но ядро там совсем простенькое) через кеш гугла смотрел. а вот файлов нет .... Quote Share this post Link to post Share on other sites More sharing options...
Vitaliy_ARM 0 September 10, 2008 Posted September 10, 2008 · Report post Процессор как процессор, работает без нареканий. А вот отладчик программистам не нравится. Часто глючит при пошаговой отладке, если есть обращение к аппаратуре (UART, SPI etc.) Если тот же код пробежать по команде Run, то все работает. Хорошо. Есть еще пара вопросов. Вы его на других ПЛИС пробовали? Если да, то как он себя ведет после компиляции (размер кода, тактовая частота)? Quote Share this post Link to post Share on other sites More sharing options...
Doka 5 September 10, 2008 Posted September 10, 2008 · Report post Uuftc DSPuva16.zip Quote Share this post Link to post Share on other sites More sharing options...