Добрый день,
много раньше работал с готовыми платами от 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С) температур, стоит ли закладываться на внутренний клок от латтиса, или обязательно ставить внешний, и если внешний, то какой?
Спасибо!
ИИВ