Перейти к содержанию

    

ICE40 Lattice ICECube2 много вопросов начинающего

Добрый день,

 

много раньше работал с готовыми платами от Altera на Stratix 3-4, Cyclone 3-5, SoC, но появилась нужда развести маленькую простую плату с плиской и, похоже, останавливаю свой выбор на ICE40 от Lattice, но возникло куча вопросов.

 

Мне надо: где-то 24-30 вводов-выводов, минимальный корпус, два питания, максимальная скорость работы внутренней логики на простой операции, чуть сложнее FIFO, и максимальное колличество внутренней памяти под два FIFO, минимум надо 64кбита, но желательно больше, 128кбит. Также нужен очень точный клок, который внутри плиски надо умножить до примерно 240МГц (или хотя бы до 160МГц) и на нем все клочить.

 

Хочется идеально остаться в 2-х слойке, так как на плате все остальное тоже двухслойное :) То есть ice40lp8k-cm81 должно получиться, если некоторые неудобные в разводке пины с внитренних частей никуда не соединять.

 

Пока плату не разводил, начал играться с оболочкой iCEcube2. Важное замечание, у меня есть куча компов, но ни одного с Виндой, все с убунтами, в основном 14.04LTS, но уже есть и 16.04. Винду хотел бы не ставить, ибо даже как виртуалку некуда.

 

Поставил и iCEcube2, и Олимексовкий вариант http://www.clifford.at/icestorm/ все запускается, у олимекса получается скомпилить пример. У iCEcube2 никакой проект скомпилить не могу, ругается так:

 

Current Implementation my_first_project_Implmnt its sbt path: /home/ilgis/iCEcube2/Projects/test/my_first_project/my_first_project_Implmnt/sbt
"/opt/iCEcube2.2016.02/sbt_backend/bin/linux/opt/synpwrap/synpwrap" -prj "my_first_project_syn.prj" -log "/home/ilgis/iCEcube2/Projects/test/my_first_project/my_first_project_Implmnt/my_first_project.srr"
/opt/iCEcube2.2016.02/synpbase/bin/synplify_pro: 135: [: unexpected operator
/opt/iCEcube2.2016.02/synpbase/bin/synplify_pro: 149: [: !=: argument expected
Copyright (C) 1992-2014 Lattice Semiconductor Corporation. All rights reserved.
Child process exit with 2.
Error of dumping file /home/ilgis/iCEcube2/Projects/test/my_first_project/my_first_project_Implmnt/my_first_project.srr, 'stdout.log' is instead. 
Synthesis exit by 2.
/opt/iCEcube2.2016.02/synpbase/bin/synplify_pro: 208: /opt/iCEcube2.2016.02/synpbase/bin/config/execute: Syntax error: "(" unexpected (expecting ";;")
Error : can not print out log file stdout.log
Synthesis failed.
Synthesis batch mode runtime 0 seconds

 

хелп также не работает, хотя я и хачил его как было сказано по ссылке

 

В олимексе не понимаю как описать PLL и блочную память для внутренних буферов.

 

Пока курил только ICE40FamilyHandbook.pdf с сайта производителя, но не помогло...

 

Помогите, пожалуйста:

 

1. где достать вменяемый мануал по латисовской оболочке, чтобы в ней начать описывать свою логику?

2. на сколько олимексовская ссылка лучше или хуже по оптимизации, чем сама латисовская оболочка?

3. вопрос по железу: нужен точный клок, не уплывающий в диапазоне (0-40С) температур, стоит ли закладываться на внутренний клок от латтиса, или обязательно ставить внешний, и если внешний, то какой?

 

Спасибо!

 

ИИВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Current Implementation my_first_project_Implmnt its sbt path: /home/ilgis/iCEcube2/Projects/test/my_first_project/my_first_project_Implmnt/sbt
"/opt/iCEcube2.2016.02/sbt_backend/bin/linux/opt/synpwrap/synpwrap" -prj "my_first_project_syn.prj" -log "/home/ilgis/iCEcube2/Projects/test/my_first_project/my_first_project_Implmnt/my_first_project.srr"
/opt/iCEcube2.2016.02/synpbase/bin/synplify_pro: 135: [: unexpected operator
/opt/iCEcube2.2016.02/synpbase/bin/synplify_pro: 149: [: !=: argument expected
Copyright (C) 1992-2014 Lattice Semiconductor Corporation. All rights reserved.

Похоже, synplify_pro -- это shell-скрипт. Если у вас там везде Линукс, значит, вы способны разобраться со скриптом. Посмотрите, что там в этих строках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нужно проверить в системе, что sh (см. первую строчку в synplify_pro) указывает на bash - вроде слышал, что в новом дебиане и производных от него убунтах это не так по дефолту

 

ну и про ice40 вообще - рекомендую обязательно проверить разводимость проекта, прежде чем железо покупать - там из-за минимизации трассировочных ресурсов плисина может не разводится при 70% занятости

 

> 1. где достать вменяемый мануал по латисовской оболочке, чтобы в ней начать описывать свою логику?

 

описывайте логику в сиплифае, в его среде. а проект в айскубе делайте из нетлиста

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
нужно проверить в системе, что sh (см. первую строчку в synplify_pro) указывает на bash - вроде слышал, что в новом дебиане и производных от него убунтах это не так по дефолту

точно, спасибо! Там на dash показывало и из-за этого проблемы были.

 

Правда пока полностью собрать не удалось, но это уже из-за того, что сам не могу быстро проект правильно написать.

 

ну и про ice40 вообще - рекомендую обязательно проверить разводимость проекта, прежде чем железо покупать - там из-за минимизации трассировочных ресурсов плисина может не разводится при 70% занятости

у меня на всех Альтерах такое же бывало, тайминги падают при заполненности ALUов от 70% и выше, по умножителям и блочной памяти такое только при 99% начинается, а по логике да, но у меня вечно проекты кривые, и на 400МГц+ работавшие.

 

описывайте логику в сиплифае, в его среде. а проект в айскубе делайте из нетлиста

не осилил где брать симплифай, помогите, пожалуйста ссылкой!

 

 

Есть еще два вопроса новичка в Латисах... Хочу работать с iCE40HX8K (может впишусь в 4К, но не факт), так как другие не пройдут по объему памяти, и обязательно HX серия из-за скорости. Пинов надо мало, поэтому наверное буду пользовать -cb132.

 

1. Не могу понять мануал iCE40FamilyHandbook.pdf, примерно на 25 странице. скажите, пожалуйста, могу ли я сделать так:

 

VCC_SPI=1.8В,

VPP_2V5=2.5В,

 

и при таких параметрах заливать новые прошивки (для запоминания в NVCM), или при запоминании в NVCM мне обязательно надо поднять VCC_SPI до 2.5В? Убей не понятно написано, поэтому и сомневаюсь, а поэкспериментировать с разводкой и платой обойдется в штуку зелени и кучу времени...

 

2. Еще вопрос, скажите, пожалуйста, можно ли клок, генерируемый микроконтроллером в виде меандра на 1.8В завести внутрь плиски, и поднять частоту PLLем до 250МГц примерно. Клок с контроллера могу примерно в диапазоне 4-20МГц взять. Если так можно сделать, то на какую ногу мне этот меандр заводить, на обычную, или PLL.ую?

 

Спасибо!!!

 

ИИВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

> у меня на всех Альтерах такое же бывало

 

с ICE40 сильно не так, как с Альтерами, Ксайлинсами или другими Латисами (XP2 или MACHXO)

 

мне хватило тестов синтеза - больше с железом я ничего не делал и в даташиты не читал

 

---------------

 

> не осилил где брать симплифай, помогите, пожалуйста ссылкой!

 

я соврал - думал, что ICECUBE предоставляет те же возможности, что и DIAMOND (тул для родных латтисовских ПЛИС)

 

в виндовом дистрибутиве ICECUBE (при бесплатной лицензии) идет только командный режим работы, среду можно запустить, но лицензии на работу нет (у меня дистрибутив 15-го года, но вряд ли что-то поменялось)

LSC_SYNPLIFYPRO1 видимо не достаточно, нужно еще LSC_SYNPLIFY

 

то есть, спрашивать нужно в специальных разделах форума, там же наверно, нужно взять не урезаную под ICE40 версию синплифая, а полную, которая поддерживает все чипы всех вендоров

 

тут я не могу посоветовать, так как давно не пользовался

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
> у меня на всех Альтерах такое же бывало

 

с ICE40 сильно не так, как с Альтерами, Ксайлинсами или другими Латисами (XP2 или MACHXO)

 

мне хватило тестов синтеза - больше с железом я ничего не делал и в даташиты не читал

 

---------------

 

> не осилил где брать симплифай, помогите, пожалуйста ссылкой!

 

я соврал - думал, что ICECUBE предоставляет те же возможности, что и DIAMOND (тул для родных латтисовских ПЛИС)

 

в виндовом дистрибутиве ICECUBE (при бесплатной лицензии) идет только командный режим работы, среду можно запустить, но лицензии на работу нет (у меня дистрибутив 15-го года, но вряд ли что-то поменялось)

LSC_SYNPLIFYPRO1 видимо не достаточно, нужно еще LSC_SYNPLIFY

 

то есть, спрашивать нужно в специальных разделах форума, там же наверно, нужно взять не урезаную под ICE40 версию синплифая, а полную, которая поддерживает все чипы всех вендоров

 

тут я не могу посоветовать, так как давно не пользовался

 

 

Доброго дня. Не получается скачать iCEcube2 и Diamond , а также лицензии. С латисами не работал, но нужно освоить быстро, хотим использовать в серийных изделиях. Подскажите, как добыть среды разработки, на что обратить внимание из чипов, нужны аналоги циклона 1-го.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Доброго дня. Не получается скачать iCEcube2 и Diamond , а также лицензии. С латисами не работал, но нужно освоить быстро, хотим использовать в серийных изделиях. Подскажите, как добыть среды разработки, на что обратить внимание из чипов, нужны аналоги циклона 1-го.

я советую ECP5 (LFE5U) они очень хорошо по цене и наверняка покрывают циклон 1, но они только в BGA корпусах

если нужны планарные - то MACHXO2 или XP2 (там плюс - конфигурационная память внутри)

софт - бесплатный даймонд и лицензия к нему - лицензию они пришлют даже на yandex почту

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
я соврал - думал, что ICECUBE предоставляет те же возможности, что и DIAMOND (тул для родных латтисовских ПЛИС)

 

в виндовом дистрибутиве ICECUBE (при бесплатной лицензии) идет только командный режим работы, среду можно запустить, но лицензии на работу нет (у меня дистрибутив 15-го года, но вряд ли что-то поменялось)

LSC_SYNPLIFYPRO1 видимо не достаточно, нужно еще LSC_SYNPLIFY

Странно, у меня нормально работает synplify, под винду и с бесплатной лицензией. Пользуюсь версией 2017 года, но и в 2015, насколько я помню, все было в порядке с этим.

У меня стоят и iCECcube2 и Diamond, может дело в этом? В Synplify когда выбираешь семейство, доступны и ice40 и родные латтисовские. :laughing:

 

3. вопрос по железу: нужен точный клок, не уплывающий в диапазоне (0-40С) температур, стоит ли закладываться на внутренний клок от латтиса, или обязательно ставить внешний, и если внешний, то какой

У встроенного rc генератора огромный джиттер, больше 10000ppm. И частота прилично различается в разных микросхемах. Если нужен точный (насколько?) клок, поставьте, лучше, внешний генератор с требуемыми параметрами, их сейчас полно всяких. mems генераторы бывают весьма экономичными.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация