Jump to content
    

Lattice бросился вдогонку за альтерой

:1111493779:

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, только без крыльев. :)

Три варианта - Basic, Standard, Full

Периферия Whishbone-совместимая.

 

Среда разработки Micro System Builder - ну очень на SOPC Builder похож! ;)

http://www.latticesemi.com/products/intell...opmenttools.cfm

Share this post


Link to post
Share on other sites

хмм а почему в догонку ? альтера тоже открыла исходники ниоса ? :)

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

Share this post


Link to post
Share on other sites

хмм а почему в догонку ? альтера тоже открыла исходники ниоса ? :)

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

 

Открыла, да.

Задаете параметры - и при соответствующей лицензии геренируется нормальный ХДЛ :).

Share this post


Link to post
Share on other sites

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

 

Скачал, посмотрел - чистый Verilog. Синтезировать его не пробовал, т.к. пока не было времени.

Share this post


Link to post
Share on other sites

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

 

Скачал, посмотрел - чистый Verilog. Синтезировать его не пробовал, т.к. пока не было времени.

 

придеться вспомнить верилог, у меня канал не толстый, все еще тянеться. Но по даташиту, просмотренному по диагонали сильно похож на ниос :) но вот при 6 уровнях конвейера всего ~80 МГц это странно.

Share this post


Link to post
Share on other sites

А на LatticeMicro8 кто-нибудь посмотрел?

http://www.latticesemi.com/products/intell...rollermico8.cfm

 

Интерес (пока чисто академический) - возможен ли перенос LatticeMicro8 на альтеровский MAX II ?

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

Кто-нибудь возьмется за такую задачу?

Share this post


Link to post
Share on other sites

А на LatticeMicro8 кто-нибудь посмотрел?

http://www.latticesemi.com/products/intell...rollermico8.cfm

 

Интерес (пока чисто академический) - возможен ли перенос LatticeMicro8 на альтеровский MAX II ?

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

Кто-нибудь возьмется за такую задачу?

 

хмм :

1. есть же ниос16, dspuva16, atiny16 (раздавали на ниос форум), пикоблейз на нормальном ХДЛ.

 

2. я бы взялся, но свободного времени практически нет, ждать придеться долго (в моих задачах для управления минимум нужно 16 бит).

Share this post


Link to post
Share on other sites

1. есть же ниос16, dspuva16, atiny16 (раздавали на ниос форум), пикоблейз на нормальном ХДЛ.

ниос16 - отстой, занимает много места и под макс2 не заточен

dspuva16 - не знаком с таким. если не сложно, дайте ссылочку (хотя смущает "dsp" в названии)

atiny16 - годится, до документирован из рук вон плохо

пикоблейз - религия не позволяет :)

Share this post


Link to post
Share on other sites

Интерес (пока чисто академический) - возможен ли перенос LatticeMicro8 на альтеровский MAX II ?

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

Там нормальный, человеческий код. Компоненты - для симуляции.

Самое главное - поправить ОЗУ для регистрового файла и стека.

На уровне синтезатора - переносился на ACEX, дальше не заходил, т.к. я его только щупал.

 

Для надежности берите verilog версию, т.к. в vhdl был глюк с прерываниями.

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

:cheers: Вспоминая наш с вами давний спор, вы говорили о микроблейзе по другому.

но все же иногда процы сильно облегачают жизнь, т.к. КА не выход. (особенно если не нужна сверхбыстрая математика, а нужно например расчитав базовый адресс, инициализировать несколько каналов ДМА)

 

Предлаю всем форумом написать один 16/32 бита риск к нему на эклипсе иде и пользовать его, что бы "патроны блокам подностить" (с) yes с форума сахары

 

наработки в этой области есть.

 

:biggrin:

Share this post


Link to post
Share on other sites

Мне вот интересно, какую тактовую системную частоту можно достичь с NIOS-ом на втором циклоне, скажем для системы: CPU(из приблуд только кеш инструкций и данных), SDRAM, UART(несколько), Ethernet. И какая латентность на шине будет.

Share this post


Link to post
Share on other sites

Мне вот интересно, какую тактовую системную частоту можно достичь с NIOS-ом на втором циклоне, скажем для системы: CPU(из приблуд только кеш инструкций и данных), SDRAM, UART(несколько), Ethernet. И какая латентность на шине будет.

Система в составе :

- процессорное ядро NiosII Fast с кэшами инструкций и данных и отладочным JTAG-модулем;

- контроллер SDRAM (8 мегабайт);

- интерфейс с внешним Flash-ПЗУ (2 магабайта);

- два UARTa;

- Ethernet 10/100 MAC (использовалось IP-ядро фирмы SLS)

Синтезировалась под EP2C8F256, испоьзовалась SMART-компиляция, оптимизация по занимаемой площади, задана тактовая частота 120 МГц.

 

В кристалле EP2C8F256C6 занимает 6496 логических элементов (сколько встроенной памяти - пардон, запамятовал). Тактовая частота 138,66 МГц.

 

В кристалле EP2C8F256C8 занимает 6800 логических элементов, 79360 бит встроенного ОЗУ (примерно 20 блоков M4K). Тактовая частота 93,48 МГц.

 

(отладочный JTAG-модуль занимает 300-400 LE и 2 блока M4K).

 

По уму, наверное, надо было бы констрейны для обоих вариантов разные задавать.

 

Латентность на шине не оценивал.

Share this post


Link to post
Share on other sites

Не плохо, на спартане3 без секса больше 50~60МГц получить сложно (по крайней мере с мои набором периферии), я не вдавался в анализ того с кокой корки (или каких других факторов) влазит тормоз, но происходит примерно так: по началу, когда проц и пара корок, все разводится на ~100M, потом по ходу приходится уменьшать до 80 и в итоге получаешь 50 :(.

 

А сколько унего ступеней конвейера, и сколько тактов уходит на доступ по внутренней шине до корки?

Еще, я так понял, синтезировать можно любым синтезатором?

Share this post


Link to post
Share on other sites

cut

 

Предлаю всем форумом написать один 16/32 бита риск к нему на эклипсе иде и пользовать его, что бы "патроны блокам подностить" (с) yes с форума сахары

 

наработки в этой области есть.

 

:biggrin:

 

Приветствую Всех!

 

Я тоже готов поучаствовать в процессе создания велосипеда :-). Написать корку вобщем то не проблема. Главное обеспечит ее соответствующими КАЧЕСТВЕННЫМИ инструментами (легко адаптируемыми к конкретной архитектуре)- как минимум - компилятор С симулятор/эмулятор. Именно это (по мойму) и есть главная проблема в softprocessor строительстве. Я в течении месяца провел маленькое исследование в этой части и результаты не очень радостные - из возможных претендентов на компилятор ( если не разрабатывать с нуля) - LCC, SDCC, и GCC. LCC -прост в модификации под конкретный процессор но почти отсуствует оптимизация.

GCC - имеет хорошую оптимизацию но требует большой объем работы при модификации, SDCC - занимает промежуточное положение. Привязка же под конкретный софт/архитектуру процессора неизбежно влечет избыточность на аппаратном уровне но позволяет не ломать голову на софтварном.

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...