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

 
 
> Lattice бросился вдогонку за альтерой, LatticeMico32 Open, Free 32-Bit Soft Processor
Stewart Little
сообщение Sep 28 2006, 10:51
Сообщение #1


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



1111493779.gif
The LatticeMico32 is a 32-bit Harvard, RISC architecture "soft" microprocessor, available for free with an open IP core licensing agreement. Everything you need is provided, including software development tools and an evaluation board to try out your designs in hardware.

http://www.latticesemi.com/products/intell...036;3Fp$3F

В общем, тот же ниос2, только без крыльев. smile.gif
Три варианта - Basic, Standard, Full
Периферия Whishbone-совместимая.

Среда разработки Micro System Builder - ну очень на SOPC Builder похож! wink.gif
http://www.latticesemi.com/products/intell...opmenttools.cfm


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Leka
сообщение Oct 2 2006, 13:12
Сообщение #2


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

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



Имхо, все упрется в программирование, и ассемблер не выход: упор на быстродействие приведет к "длинной" инструкции, ограничения архитектуры FPGA - к вынужденной неортогональности --> проблемы программирования.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 2 2006, 13:38
Сообщение #3


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

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



Цитата(Leka @ Oct 2 2006, 08:12) *
Имхо, все упрется в программирование, и ассемблер не выход: упор на быстродействие приведет к "длинной" инструкции, ограничения архитектуры FPGA - к вынужденной неортогональности --> проблемы программирования.


хмм, опять же зависит от того, с какой стороны посмотреть.
если под длинной инструкцией вы понимаете програмное слово со слабым кодированием, то это не есть проблема. К тому же 64 бита ширины програмного слова не проблема на фпга.
Не стоит делать у такого проца большое кол-во команд и режимов адресаций, а достаточно заточить его под задачу, помня о назначении проца. Т.е. после написания кода, помочь синтезатору и "поотключать" все неиспользуемые команды. Синтезатор достаточно хорошо минимизирует логику.

Если вы хотите много считать, то сделайте отдельный блок математики и включите его в декодер комманд процессора и/или отмапте на регистровый файл и пару пинов ввода/вывода.

PS. Не обязательно процессор делать однотактным и без конвейера.
PPS. кстати по такому пути пошли Field Programmable Object Array (FPOA) и Ambric и т.д.

PPPS. Декодер потока команд управления, своего StateSeq я как раз и "вырвал" из своего программируемого проца, версии2 (версия2, заимствует идеи интерконекта как раз из FPOA). Посмотрите на StateSeq и вы поймете что я имею в виду, под заточкой под задачу smile.gif.
http://electronix.ru/forum/index.php?showt...19202&st=15


--------------------
Go to the top of the page
 
+Quote Post
Leka
сообщение Oct 2 2006, 15:09
Сообщение #4


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

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



Цитата(des00 @ Oct 2 2006, 17:38) *
Цитата(Leka @ Oct 2 2006, 08:12) *

Имхо, все упрется в программирование, и ассемблер не выход: упор на быстродействие приведет к "длинной" инструкции, ограничения архитектуры FPGA - к вынужденной неортогональности --> проблемы программирования.


хмм, опять же зависит от того, с какой стороны посмотреть.
если под длинной инструкцией вы понимаете програмное слово со слабым кодированием, то это не есть проблема. К тому же 64 бита ширины програмного слова не проблема на фпга.
...


Под длинной инструкцией понимаю несколько операций в одном программном слове. Например: переход + арифметика + пересылка. Свой софт-процессор написал (однотактный, конвейер - 2 стадии). Столкнулся с тем, что неортогональность при длинной инструкции превращает написание программы(на ассемблере) в пытку.

Сообщение отредактировал Leka - Oct 2 2006, 15:10
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 2 2006, 15:54
Сообщение #5


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

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



Цитата(Leka @ Oct 2 2006, 10:09) *
Цитата(des00 @ Oct 2 2006, 17:38) *

Цитата(Leka @ Oct 2 2006, 08:12) *

Имхо, все упрется в программирование, и ассемблер не выход: упор на быстродействие приведет к "длинной" инструкции, ограничения архитектуры FPGA - к вынужденной неортогональности --> проблемы программирования.


хмм, опять же зависит от того, с какой стороны посмотреть.
если под длинной инструкцией вы понимаете програмное слово со слабым кодированием, то это не есть проблема. К тому же 64 бита ширины програмного слова не проблема на фпга.
...


Под длинной инструкцией понимаю несколько операций в одном программном слове. Например: переход + арифметика + пересылка. Свой софт-процессор написал (однотактный, конвейер - 2 стадии). Столкнулся с тем, что неортогональность при длинной инструкции превращает написание программы(на ассемблере) в пытку.


понятно, спасибо за разьяснение.

Один раз я как раз угодил в подобную ловушку, т.е. достаточно сильно переутяжелил логику процессора, в итоге сильно упала тактовая и разработка на асме стала пыткой, т.к. голову сломаешь что да куда.smile.gif В итоге отказался от такого подхода.

Именно поэтому и обеими руками за упрощение проца + его конфигурируемость. Основное назначение проца - управление и медленная (многотактная математика). Если нужно что то считать быстро - например ДКТ, то пишем корку и мапим регистры дкт на регистры такого проца. На этом его задача заканчиваеться. Нужна выше производительность ? поставим еще проц и будет конвейер. smile.gif
нужно порулить ДМА и 10 аппаратными блоками по AMBA вообще не имплементим математику, только адреса считать. smile.gif


--------------------
Go to the top of the page
 
+Quote Post
Leka
сообщение Oct 3 2006, 10:54
Сообщение #6


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

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



Имхо. Одна из главных проблем софт-процессора: "правильный" многопортовый регистровый файл с асинхронным чтением. Блочная память не допускает асинхронное чтение, распределенная - многопортовую запись. Обход этого ограничения выливается либо в неортогональность системы команд, либо к дополнительным тактам/ступеням/логике(+задержке).
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 4 2006, 04:55
Сообщение #7


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

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



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


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

2. Если требуеться небольшое кол-во регистров, то все просто, можно использовать набор обычных регистров. В этом случае упрощаеться реализация управления внешними устройствами + можно делать распределенную, многобайтную арфиметику.

Можно также сделать составной регистровый файл. часть на памяти, часть на регистрах.

я в програмировании не очень силен, т.к. писал на асме в основном только под х86, AVR, 51, но не могу понять зачем вы хотите именно ортогональную систему комманд, в процессоре специализированного (фпга) применения. Т.е. проц для фпга ИМХО - прежде всего не универсальное решение на все случаи жизни, а уменьшение времени разработки и отладки.


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


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


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

Группа: Участник
Сообщений: 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

Сообщений в этой теме
- Stewart Little   Lattice бросился вдогонку за альтерой   Sep 28 2006, 10:51
- - des00   хмм а почему в догонку ? альтера тоже открыла исхо...   Sep 28 2006, 15:19
|- - id_gene   Цитата(des00 @ Sep 28 2006, 19:19) хмм а ...   Sep 29 2006, 08:08
|- - makc   Цитата(des00 @ Sep 28 2006, 19:19) нуно к...   Sep 29 2006, 09:20
|- - des00   Цитата(makc @ Sep 29 2006, 04:20) Цитата(...   Sep 29 2006, 11:37
- - Stewart Little   А на LatticeMicro8 кто-нибудь посмотрел? http://ww...   Sep 29 2006, 12:08
|- - des00   Цитата(Stewart Little @ Sep 29 2006, 07:0...   Sep 29 2006, 12:18
|- - Stewart Little   Цитата(des00 @ Sep 29 2006, 16:18) 1. ест...   Sep 29 2006, 12:38
- - vetal   ЦитатаИнтерес (пока чисто академический) - возможе...   Sep 29 2006, 12:49
|- - Uuftc   Цитата(vetal @ Sep 29 2006, 16:49) OpenUP...   Sep 9 2008, 21:06
- - 3.14   А я чего то уже наелся синтезируемыми процессорами...   Sep 29 2006, 13:09
|- - des00   Цитата(3.14 @ Sep 29 2006, 08:09) А я чег...   Sep 29 2006, 13:14
|- - RobFPGA   [quote name='des00' date='Sep 29 2006,...   Sep 30 2006, 10:08
|- - klop   [quote name='RobFPGA' date='Sep 30 200...   Sep 30 2006, 11:27
- - 3.14   Мне вот интересно, какую тактовую системную частот...   Sep 29 2006, 13:38
|- - Stewart Little   Цитата(3.14 @ Sep 29 2006, 17:38) Мне вот...   Sep 29 2006, 14:20
- - 3.14   Не плохо, на спартане3 без секса больше 50~60МГц п...   Sep 29 2006, 16:54
|- - makc   Цитата(3.14 @ Sep 29 2006, 20:54) Не плох...   Sep 30 2006, 10:44
|- - Stewart Little   Цитата(3.14 @ Sep 29 2006, 20:54) А сколь...   Oct 2 2006, 07:11
|- - antti   Цитата(3.14 @ Sep 29 2006, 20:54) Не плох...   Oct 3 2006, 18:11
- - des00   2 klop и RobFPGA Если вам интересно мое ИМХО, то ...   Sep 30 2006, 12:43
|- - iosifk   Цитата(des00 @ Sep 30 2006, 16:43) 2 klop...   Oct 2 2006, 07:36
||- - klop   Цитата(iosifk @ Oct 2 2006, 11:36) Цитата...   Oct 2 2006, 13:50
|- - Doka   Цитата(des00 @ Sep 30 2006, 16:43) Есть м...   May 6 2008, 15:35
|- - yes   Цитата(Doka @ May 6 2008, 19:35) это очен...   Jun 18 2008, 14:22
- - klop   Ну то есть енто проц специально для FPGA. Вот и от...   Sep 30 2006, 12:57
|- - Postoroniy_V   Цитата(des00 @ Oct 4 2006, 08:55) Всем: ...   Oct 4 2006, 07:09
|- - des00   После выходных не получилось работы много навалил...   Oct 12 2006, 14:46
|- - Leka   Цитата(des00 @ Oct 12 2006, 18:46) ... А ...   Oct 13 2006, 08:53
- - antti   LatticeMico32 http://www.latticesemi.com/dynamic...   Oct 3 2006, 17:52
- - des00   2 Postoroniy_V, Leka, RobFPGA Извеняюсь за паузу...   Oct 5 2006, 15:29
- - tegumay   Тоже предлагаю выделить в отд.тему: атачмент - И...   Oct 18 2006, 18:03
- - Vitaliy_ARM   Народ! Кто уже использует этот проц, просьба п...   Sep 5 2008, 12:01
|- - vladz   Цитата(Vitaliy_ARM @ Sep 5 2008, 15:01) Н...   Sep 8 2008, 18:20
|- - Vitaliy_ARM   Цитата(vladz @ Sep 8 2008, 22:20) Процесс...   Sep 10 2008, 11:24
|- - vladz   Цитата(Vitaliy_ARM @ Sep 10 2008, 14:24) ...   Sep 12 2008, 05:57
- - Doka   Uuftc как вариант: посмотреть сайт через кэш гугл:...   Sep 10 2008, 05:09
|- - Uuftc   Цитата(Doka @ Sep 10 2008, 09:09) Uuftc к...   Sep 10 2008, 11:22
- - Doka   Uuftc   Sep 10 2008, 15:33
|- - Uuftc   Цитата(Doka @ Sep 10 2008, 19:33) DSPuva1...   Sep 10 2008, 22:45
|- - Mahagam   Цитата(Doka @ Sep 10 2008, 18:33) Uuftc ...   Sep 12 2008, 07:32
- - Doka   Mahagam кэш гугла у вас есть - где там про тестебе...   Sep 12 2008, 19:24
|- - Mahagam   Цитата(Doka @ Sep 12 2008, 22:24) Mahagam...   Sep 15 2008, 09:15
- - Doka   Mahagam http://www.dte.eis.uva.es/Datos/Congresos/...   Sep 15 2008, 17:15
|- - Mahagam   Цитата(Doka @ Sep 15 2008, 20:15) на перв...   Sep 16 2008, 08:43
- - Yra   http://opensource.zylin.com/zpudownload.html Проц...   Aug 7 2010, 13:58


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

 


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


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