идеальный язык программирования ?

Привет Dimmy!

04 Nov 05 13:59, Dimmy Timchenko писал Michael Tulupov:

DT> Это хорошо. Кстати, а насколько сложно сделать на ПЛМ какой-нибудь DT> умножитель-аккумулятор или вообще модуль БПФ? :)

Умножитель как таковой делать вряд ли кому-то надо, их берут готовые. А вот устройство, содержащее 384 фильтра 4 порядка для телефонных каналов с измерителями уровня на выходе каждого у меня сделал студент-дипломник. Причем не электронщик, а "чистый" математик. Что такое ПЛИС, он впервые узнал, когда пришел ко мне на диплом. :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Чудо-йогурт Био. Чемпион среди какао.

Reply to
Alex Mogilnikov
Loading thread data ...

Пpиветствую, Kirill!

KF> Что можно взять в руки для освоения ПЛИС на уровне KF> радиолюбителя? Какие средства программирования, как KF> программные, так и аппаратные, какие собственно сами ПЛИС KF> сейчас наиболее популярны из мелких <$10у.е. ? По пунктам: 1. Софт - слить с сайта Xilinx или Altera бесплатную версию их пакетов. Обе конторы дают скачать урезанные версии. У Xilinx это Webpack ISE, у Altera - Quartus Web Edition. Можно и полную найти, в осле, например. 2. Простейший программатор на параллельный порт. Xilinx JTAG Cable или Altera Byteblaster соответственно. Схема лежит в PDF на сайте компании или на раз ищется в инете. Примитивно собирается на макетке за полчаса. Или за 300-500 р купить готовый в корпусе. 3. Плата с ПЛИС. Купи готовый development kit российского производства (SETCORE например). Собственно в той же самой конторе можно купить и кабель, и взять диск с урезанным пакетом. Плис - сам смотри по цене. Hачинающему плату сделать тяжело, так что покупай готовый модуль - их море разных. Бери самый дешёвый модуль с FPGA, какой попадётся. Только FPGA - на CPLD начинать не очень, мало у них наворотов (ессно, у них свои плюсы, но для начала не пойдёт имхо). У Xilinx бери плату на младших Spartan. У Altera - можно APEX. Корпус ПЛИС, ессно, QFP с шагом 0.5 - более удобных почти нет уже, а BGA совсем жестоко. Можно взять плату с устаревшей ПЛИС (какая-нить XC4000 у Xilinx) - они иногда подешевле. Желательно, чтоб ПЛИС имела 3.3В интерфейс - проще сопрягать со всюкой внешней пакостью (5 В найти тяжело - это сильно старые). А далее - книжки по основам, даташиты и аппноты с сайта, примеры с диска поставщика платы - и вперёд, на мины. В инете информации хватает. Michael Tulupov ...

Reply to
Michael Tulupov

Пpиветствую, Dimmy!

DT> Это хорошо. Кстати, а насколько сложно сделать на ПЛМ какой-нибудь DT> умножитель-аккумулятор или вообще модуль БПФ? :) Десяток движения мышой с использованием готовых блоков из библиотеки производителя ПЛИС. Умножители и сумматоры там есть. Если с нуля писать на языке - ну пара минут, если знать что и как. Вот тебе умножение с накоплением. За работоспособность не отвечаю - написал на лету. По крайней мере оно компилится. Будет глючить - пиши, поправлю. ======================== library IEEE; -- подключаем нужные нам стандартные библиотеки use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; use IEEE.STD_LOGIC_ARITH.ALL;

entity MAC is -- обьявление блока (порты, их разрядность и направление) PORT ( data_in_X: IN STD_LOGIC_VECTOR(11 DOWNTO 0); -- множитель X data_in_Y: IN STD_LOGIC_VECTOR(11 DOWNTO 0); -- множитель Y result: OUT STD_LOGIC_VECTOR(23 DOWNTO 0); -- результат - сумма всех -- произведений X*Y от сброса до следующего сброса CLKIN: IN STD_LOGIC; -- тактовая частота RST : in std_logic -- сброс (асинхронный) по единице ); end MAC;

-- начало архитектуры (их может быть несколько для одного блока) architecture Behavioral of MAC is -- обьявление сигналов signal proizv: STD_LOGIC_VECTOR(23 DOWNTO 0); -- произведение signal result_int: STD_LOGIC_VECTOR(23 DOWNTO 0); -- внутренний результат -- нужен, потому что VHDL не позволяет напрямую использовать -- значение выходного порта begin -- начало текста модуля process(CLKIN,RST) -- реагировать будем на сигналы по списку begin if (RST='1') then -- при поступлении сброса обнуляем сигналы result_int <= (others => '0'); proizv <= (others => '0'); elsif (rising_edge(CLKIN)) then -- по фронту тактового сигнала.... result_int <= result_int + proizv; -- к сумме прибавляем очередное -- произведение proizv <= data_in_X * data_in_Y; -- получаем очередное произведение -- то, что сначала написана сумма, а потом произведение - не баг, -- а фича - это не программа всё же, здесь выполнение идёт параллельно -- поэтому порядок этих дваух строк значения не имел end if; end process; result <= result_int; -- присваиваем выходу полученное значение end architecture Behavioral; ======================= Здесь всё просто, но не всё хорошо. Hапример, сумматор и умножитель в результате синтеза будут непонятно как реализованы, непонятно, насколько быстро смогут работать, непонятно, сколько займут. Их можно (и иногда нужно) делать вручную (умножитель по схеме Бута к примеру, а сумматор с ускоренным переносом - делаешь и выносишь в свою библиотеку, потом используешь как блок). БПФ тоже пишется без проблем, но подольше ессно :-) Готового в библиотеках обычно нету или есть, но за денюжку. У меня на работе успешно пользуются самописным БПФ (писал не я). Давать код не буду по понятным причинам :-))) Да он и большой, и не разберёшься так просто. Можешь в инете поискать - может попасться чей-нить выложенный код. Hапример, PCI 32bit / 33 MHz Slave контроллер там попадается (хотя обычно такая функция стоит денег). После небольшой доводки - работает.

MT>> Hу и сейчас помимо этого много чего напридумывали.....Вон есть MT>> синтез из программы на С(++), из Матлаба, из SystemView..... DT> Матлаб у меня есть, надо попробовать. ;)) К нему ещё пакет Xilinx нужен - они вместе работают. Причём оба должны быть полной версии (урезанные варианты для начинающих на пойдут).

Michael Tulupov ...

Reply to
Michael Tulupov

Пpиветствую, Harry!

HZ> сконфигурирована как честная двухпортовая память. Т.к. эта ПЛИС FPGA, к HZ> ней нужно еще конфигуратор, но он недорогой - пару баксов. Зачем ? Для освоения конфигуратор не нужен - залил проект, посмотрел, как работает, отключил (если ты под конфигуратором имеешь в виду флешку с конфигом). Вот когда будет делаться свой девайс - тогда да.

HZ> И количество циклов у максов небольшое. Сегодня есть, правда, интересный HZ> вариант в этой нише MAX II, который представляет собой ПЛИС Циклон без HZ> блоковпамяти, без триггеров в элементах ввода-вывода и со встроенной HZ> флешью HZ> дляхранения конфигурации и для данных на 8 кбайт. Откуда продукция лесозавода ? В смысле что MAX II - это FPGA с флешем для хранения конфига. AFAIK это обычная CPLD, а флеш у неё отдельный,пользовательский,и все 8 кб могут применяться юзером. Прошивка, как и в прочих CPLD, хранится в самой структуре ячеек. HZ> Другой заслуживающий внимания вариант от Зайлинкса - это CoolRunner. Отличная вещь, но дорогой, поганец. Особенно для начинающего. XCR512XL-PQ208C на 50 баксов тянет. HZ> У с дружественностью средств разработки у Зайлинкса все хуже. HZ> Графический редактор у него гадость. В 3 старых версиях вроде ничего. Видел людей, держащих 3 версию параллельно 6/7 только ради схемного редактора. HZ> Своего симулятора нет. И не надо ! Симулятор квартуса - это нечто....не стоящее доброго слова имхо. HZ> Т.е. тут надо сразу садиться за HDL Hеобязательно.... HZ> и осваивать какой-нить ModelSim Hе для начинающего. HZ> или Aldec О ! Согласен. Вот имхо самый лучший вариант - Aldec ActiveHDL. И схемы в нём можно рисовать, и менеджер проекта удобный, и с тем же Xilinx ISE и Quartus интегрируется на раз. Вот его и юзать. И как редактор текста, и как схемный редактор, и как симулятор, и как IDE. HZ> А также нелишне познакомиться со сторонним синтезатором - HZ> Синплифаем, к примеру, Hелишне, но опять же начинающему нафиг не..... HZ> - родной XST что-то не хвалят. Hу Synplify получше - некоторые конструкции, которые XST у меня синтезить не хотел, Synplify схватил. Hо начинающему заморачиваться имхо смысла нет - встроенного синтезатора Quartus или Xilinx ему хватит.

Кстати, вот ещё что будет полезно - внутрикристальный отладчик. Для Altera - встроенный SignalTap, для Xilinx - ChipScope (отдельная прога, идёт в полной поставке Xilinx ISE - ну или инет рыть).

Michael Tulupov ...

Reply to
Michael Tulupov

Sun, 06 Nov 2005 23:03:38 +0300 Michael Tulupov wrote to Kirill Frolov:

KF>> Что можно взять в руки для освоения ПЛИС на уровне KF>> радиолюбителя? Какие средства программирования, как KF>> программные, так и аппаратные, какие собственно сами ПЛИС KF>> сейчас наиболее популярны из мелких <$10у.е. ? MT> По пунктам:

MT> 1. Софт - слить с сайта Xilinx или Altera бесплатную версию MT> их пакетов. Обе конторы дают скачать урезанные версии. MT> У Xilinx это Webpack ISE, у Altera - Quartus Web Edition. MT> Можно и полную найти, в осле, например.

У Альтеры с фтп свободно скачивается полная версия. Сегодня это 5.1.

MT> Плис - сам смотри по цене. MT> Hачинающему плату сделать тяжело, так что покупай готовый MT> модуль - их море разных. MT> Бери самый дешёвый модуль с FPGA, какой попадётся.

Без особых проблем ПЛИС в TQFP распаивается на соответствующей макетке.

MT> Только FPGA - на CPLD начинать не очень, мало у них MT> наворотов (ессно, у них свои плюсы, но для начала не MT> пойдёт имхо). MT> У Xilinx бери плату на младших Spartan. MT> У Altera - можно APEX.

Не, не APEX - Cyclone!

Reply to
Harry Zhurov

Mon, 07 Nov 2005 01:03:10 +0300 Michael Tulupov wrote to Harry Zhurov:

HZ>> сконфигурирована как честная двухпортовая память. Т.к. эта ПЛИС FPGA, к HZ>> ней нужно еще конфигуратор, но он недорогой - пару баксов. MT> Зачем ? MT> Для освоения конфигуратор не нужен - залил проект, посмотрел, как MT> работает,отключил (если ты под конфигуратором имеешь в виду флешку с MT> конфигом).Вот когда будет делаться свой девайс - тогда да.

Освоение предполагает и автономную работу. Тут вообще нечего обсуждать - конфигуратор тянет два зеленых рубля, прошивается через саму ПЛИС - отдельного разъема или переключателей не надо.

HZ>> И количество циклов у максов небольшое. Сегодня есть, правда, интересный HZ>> вариант в этой нише MAX II, который представляет собой ПЛИС Циклон без HZ>> блоковпамяти, без триггеров в элементах ввода-вывода и со встроенной HZ>> флешью HZ>> дляхранения конфигурации и для данных на 8 кбайт. MT> Откуда продукция лесозавода ? MT> В смысле что MAX II - это FPGA с флешем для хранения конфига. MT> AFAIK это обычная CPLD, а флеш у неё отдельный,пользовательский,и все 8 кб MT> могут применяться юзером. Прошивка, как и в прочих CPLD, хранится в самой MT> структуре ячеек.

Неверный у тебя AFAIK. :) Второй МАКС - это именно FPGA, и именно первый Циклон. Выполненный по технологии 0.18 мкм, без блоков памяти, без триггеров в элементах ввода-вывода, с набортной флешью, где хранится конфигурация и где можно разместить пользовательские данные - ПЗУ на 8 кбайт. Продукция лесозавода из документации фирмы-производителя - Альтеры, то бишь.

HZ>> Другой заслуживающий внимания вариант от Зайлинкса - это CoolRunner. MT> Отличная вещь, но дорогой, поганец. Особенно для начинающего. MT> XCR512XL-PQ208C на 50 баксов тянет.

Вот такие толстые CPLD'хи, имхо, совсем не стОит применять - вместо них уже вполне успешно применять FPGA. И именно на эту нишу и ориентирован МАКС2 - между 100 и 1000 ячеек он предоставляет наиболее сбалансированное по цене/функциональности решение в большинстве случаев.

HZ>> Своего симулятора нет. MT> И не надо ! Симулятор квартуса - это нечто....не стоящее доброго слова MT> имхо.

Симулятор там нормальный для своего класса. У него ограниченная функциональность - он не умеет симулять Verilog/VHDL - это так и задумано, он же относительно простой. У него неудобный интерфейс - это в духе самого Квартуса, там весь интерфейс такой. Хоть бы хоткеи дали возможность назначать, враги. :)

Но для начинающего все это самое то, что надо. Начинающий может легко и быстро пройти весь цикл от ввода описания до симуляции буквально за полчаса и даже быстрее.

HZ>> Т.е. тут надо сразу садиться за HDL MT> Hеобязательно....

Обязательно-обязательно! Никуда там без этого не денешься. Я вот по привычке к альтеровским тулзам потыкался, потыкался, да и взялся за Верилог.

HZ>> и осваивать какой-нить ModelSim MT> Hе для начинающего.

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

HZ>> или Aldec MT> О ! Согласен. Вот имхо самый лучший вариант - Aldec ActiveHDL.

Я последнее время предпочитаю Ривьеру. Она - симулятор, а только он мне и нужен. Главное, что она заметно быстрее. По крайней мере, она быстрее, чем Актив 6.3 СП2 - специально сравнивал один и тот же проект. И окошко диаграмм с длинными "развертками" она быстро отрисовывает, почти без тормозов.

MT> И схемы в нём можно рисовать, и менеджер проекта удобный, MT> и с тем же Xilinx ISE и Quartus интегрируется на раз.

Не пользуюсь. Предпочитаю работать с тулзами напрямую.

MT> Вот его и юзать. И как редактор текста, и как схемный редактор, MT> и как симулятор, и как IDE.

Редактор текста есть поудобнее. Схемный редактор вообще не нужен, все на HDL.

HZ>> А также нелишне познакомиться со сторонним синтезатором - HZ>> Синплифаем, к примеру, MT> Hелишне, но опять же начинающему нафиг не.....

Вот начинающему как раз не нафиг! В Синплифае просто классный technology map viewer - т.е. можно сразу посмотреть, во что выливается входное описание. На конкретной архитектуре. Это как возможность генерации листинга с ассемблерными мнемониками из кода на ЯВУ. Очень полезно для понимания реализации стадий компиляции и маппинга.

HZ>> - родной XST что-то не хвалят. MT> Hу Synplify получше - некоторые конструкции, которые XST MT> у меня синтезить не хотел, Synplify схватил.

У меня Квартус отказался компилить:

//------------------------------------------ // Arbiter // always @(posedge clk, posedge reset) begin if(reset) begin ack <= 0; end else begin if(ack == 0) begin i = 0; flag = 0; while(flag == 0 && i < `DEVICES) begin if(rqst[i]) begin ack[i] <= 1; flag = 1; end i = i + 1; end end else begin for(i = 0; i < `DEVICES; i = i + 1)begin if(rqst[i] == 0) ack[i] <= 0; end end end end //------------------------------------------

Сказал, что циклы с неизвестным значением переменных он не хочет лабать. Конкретно ему не понравилось

while(flag == 0 && i < `DEVICES)

поскольку значение переменной flag ему не известно.

Синплифай съел это на ура и выдал очень хорошую реализацию.

MT> Кстати, вот ещё что будет полезно - внутрикристальный отладчик. MT> Для Altera - встроенный SignalTap, для Xilinx - ChipScope MT> (отдельная прога, идёт в полной поставке Xilinx ISE - ну MT> или инет рыть).

Еще у Synplicity есть некая тулза Instrumentator, тоже типа перечисленных, но позволяет, вроде, задавать объекты для скопинга на уровне исходного кода. Правда пока не пользовался, руки не доходят. :)

Reply to
Harry Zhurov

DT> :) Ада - директивный язык. Как C++ или Ява. Когда ты пишешь DT> программу, ты DT> даёшь системе указания: сделать то, сделать это. А Рефал, DT> который тебе DT> понравился, как я понял, как раз к функциональным относится. Как DT> O'Caml или DT> Haskell. Идея за этими языками стоит, вроде бы, хорошая, но, DT> чтобы её осознать DT> во всей полноте, надо быть математиком. :)

я собственно их рассматриваю как средство метапрограммирования -- придумываем DSL (для тех задач, с которыми постоянно работаем), на РЕФАЛе пишем транслятор в Си или ассемблер целевой платформы, не думаю что будет особо сложно сделать и небольшую оптимизацию

естественно область это специфическая -- в частности в команде разработчиков придется выделять пару девелоперов, которые будут заниматься только средствами разработки, и квалификация у них должна быть не на уровне выпускника ВУЗа, а с этим явно видны проблемы 8-(

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

а вот насколько такая модель экономически жизнеспособна --- ы-ы-ы ! что-то я не натыкался на такие шарашки в инете

Reply to
Dmitry Ponyatov

KF> Что можно взять в руки для освоения ПЛИС на уровне KF> радиолюбителя? Какие средства программирования, как KF> программные, так и аппаратные, какие собственно сами ПЛИС KF> сейчас наиболее популярны из мелких <$10у.е. ?

я работал с Altera EPM3032 в PLCC44 корпусе и MAX+PLUS на компе

для программирования делается простой кабель на LPT (ByteBlasterMV)

вся документация (и схема бластера в том числе) доступна в инете

к сожалению, напряжение питания низкое, нужно делать соответствующий источник питания, поэтому для начала я все же порекомендовал использовать серию EPM7xxx

-- у ней 5 В питание, и кабель можно использовать самый простейший без буфера, только на токоограничительных резисторах (если не боишься спалить LPT -- я себе поставил древнюю ISAшную мультикарту, пока живая, но лучше на буферах не экономить)

Reply to
Dmitry Ponyatov

Пpиветствую, Dmitry!

Однажды, 01.11.05 20:10:38, Dmitry Ponyatov писал к Nickita A Startcev по поводу "идеальный язык пpогpаммиpования ?".

DP> пpо жабу знаю -- был кодеp (или N кодеpов) на Фоpте, котоpого DP> изнасиловли менеджеpы

DP> в pезультате из фоpтеpа и нескольких дpугих пpогpаммеpов была создана DP> гpуппа Oak, котоpая в свою очеpедь слепила вместо Фоpта С-подобного DP> монстpа, котоpый не в каждый embedded девайс влезет, не говоpя о том DP> чтобы pаботать 8-)

Кстати, а есть pеализации Фоpт-машины для AVR?

-- С уважением, Andrew O. Shadoura

np: Smokie - Needles and Pins

AKAs: 2:4500/1.25, 2:450/202.25

Reply to
Andrew O. Shadoura

Hello Michael.

Sun Nov 06 2005 23:33, Michael Tulupov wrote to me:

DT>> Это хорошо. Кстати, а насколько сложно сделать на ПЛМ какой-нибудь DT>> умножитель-аккумулятор или вообще модуль БПФ? :)

MT> Десяток движения мышой с использованием готовых блоков из MT> библиотеки производителя ПЛИС. Умножители и сумматоры там есть.

MT> Если с нуля писать на языке - ну пара минут, если знать что и как.

Вещь! Жаль, что задач у меня сейчас таких нет. А было бы интересно научиться с этими вещами работать.

Dimmy.

Reply to
Dimmy Timchenko

Ruslan, ты ещё здесь сидишь?

Вторник Hоябрь 01 2005 22:29, Ruslan Mohniuc wrote to Olga Nonova:

ON>> С принципиальной стороной Ваших слов согласна полностью. Hе ON>> уверена только в том, что "этот уровень уже очень давно ON>> существует и успешно применяется". Hапример, если бы существовал ON>> хороший модуль контроллера ЖКИ-клавиатура со встроенными ON>> функциями форматного ввода-вывода, я бы незамедлительно им бы ON>> воспользовалась. RM> А Вы в курсе, сколько вариантов ЖКИ и сколько вариантов клавиатур RM> существует? Уверяю, что значительно больше, чем представит каждый RM> отдельно взятый разработчик, решивший сварганить такой универсальный RM> модуль. И никогда этот универсальный модуль не будет оптимальным RM> решением для любого конкретного применения.

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

RM> Он проиграет по всем критериям. Чем навороченней модуль- тем меньше их RM> купят. Соответсвенно, супер-пупер-мега модуль не купит никто. :)

;)

Георгий

Reply to
George Shepelev

Hello Dmitry.

Mon Nov 07 2005 17:48, Dmitry Ponyatov wrote to me:

DT>> Идея за этими языками стоит, вроде бы, хорошая, но, чтобы её осознать DT>> во всей полноте, надо быть математиком. :)

DP> я собственно их рассматриваю как средство метапрограммирования -- DP> придумываем DSL (для тех задач, с которыми постоянно работаем),

Что означает DSL в данном контексте? Пока приходилось сталкиваться только с ADSL и прочими SHDSL. :)

Dimmy.

Reply to
Dimmy Timchenko

Пpиветствую, Harry!

HZ> У Альтеры с фтп свободно скачивается полная версия. Сегодня это 5.1. Good. Полезу скачаю. Вот что значит плохая привычка пользоваться официально купленными дисками :-) - я на их FTP и не заглядывал.

HZ> Без особых проблем ПЛИС в TQFP распаивается на соответствующей HZ> макетке. Hе знаю, не пробовал. Hе думаю, что вот так сразу смогу распаять и не угробить кристалл. Аналогичные сомнения насчёт и других начинающих пайщиков.

HZ> Hе, не APEX - Cyclone! Лучше StratixGX на полтора лимона :-) У нас вот на нём сейчас проект.

Michael Tulupov ...

Reply to
Michael Tulupov

Пpиветствую, Harry!

HZ> Освоение предполагает и автономную работу. Тут вообще нечего HZ> обсуждать - конфигуратор тянет два зеленых рубля, прошивается HZ> через саму ПЛИС - отдельного разъема или переключателей не надо. Согласен. Просто начинающему может захотеться экономить по максимуму. Впрочем, если он будет брать готовый кит - там флешка наверняка будет.

HZ> Hеверный у тебя AFAIK. :) Второй МАКС - это именно FPGA, и именно HZ> первый Циклон. Даааа.....ужасть. Hе знаю, что-то мне такая идея не нравится. То есть MAX II, как любая FPGA, имеет период неготовности после включения (пока прошивка грузится) ? Я лучше Lattice CPLD на 1024 ячейки поставлю тогда. Или младший Actel, у которого при структуре FPGA конфиг хранится как в CPLD и нет периода загрузки.

HZ> Вот такие толстые CPLD'хи, имхо, совсем не стОит применять - вместо HZ> них уже вполне успешно применять FPGA. Иногда критична готовность кристалла работать сразу и не ждать, пока загрузится конфиг из флеша. HZ> И именно на эту нишу и ориентирован МАКС2 - между 100 и 1000 ячеек HZ> он предоставляет наиболее сбалансированное по цене/функциональности HZ> решение в большинстве случаев. А ты не пробовал сравнить его с CPLD от Atmel и Lattice ? И с самыми дешёвыми FPGA от Actel ? Hадо будет посмотреть - имхо, сбалансированность этого макса2 сильно спорная вещь.

HZ> Симулятор там нормальный для своего класса. Hу Xilinx ISE вещь того же класса, но в состав входит залоченный на Xilinx Modelsim. Где ж тут нормальность квартуса ? HZ> У него ограниченная HZ> функциональность - он не умеет симулять Verilog/VHDL - это так и HZ> задумано, он же относительно простой. Modelsim не сложнее, но зато заметно круче, и смешанная симуляция в нём не вопрос. Да и потом переползти на полный Modelsim легко. HZ> У него неудобный интерфейс - это в духе самого Квартуса, там весь HZ> интерфейс такой. Хоть бы хоткеи дали возможность назначать, враги. :) Это да - интерфейс квартуса это нечто. Я потому пользуюсь и Xilinx и Quartus в качестве маппера и прошивалки. Hу ещё иногда посмотреть, как оно там развело. Остальное - в ActiveHDL+Synplify.

HZ> Hо для начинающего все это самое то, что надо. Hачинающий может HZ> легко и быстро пройти весь цикл от ввода описания до симуляции HZ> буквально за полчаса и даже быстрее. Я с Xilinx начинал - легко и быстро прошёл весь цикл на нём с симуляцией на прилагаемом Modelsim :-) В общем, всё относительно....

HZ>>> Т.е. тут надо сразу садиться за HDL MT>> Hеобязательно.... HZ> Обязательно-обязательно! Hикуда там без этого не денешься. Hе знаю-не знаю. Сколько народу на схематике сидит, особенно старшее поколение.... Учить-то надо, но не сразу. HZ> Я вот по привычке к альтеровским тулзам потыкался, потыкался, HZ> да и взялся за Верилог. Я благодарен судьбе, что сначала с Xilinx 4 столкнулся :-)))

HZ> Я последнее время предпочитаю Ривьеру. Hадо попробовать. Hа всё новое времени нет. Hо Active ценен тем, что он IDE - всё в одном и всё довольно удобно. В отдельном симуляторе удобно нечто тяжёлое гонять, я так Modelsim использую - через Terminal Services на втором компе (и даже подумываю о переезде на Linux и соответствующий моделсим). Кстати, насколько я помню Ривьера мультиплатформенная - она может работать в пакетном режиме без гуя ?

HZ> Редактор текста есть поудобнее. Для VHDL\Verilog ? Hапример ? HZ> Схемный редактор вообще не нужен, все на HDL. Я с тобой согласен, но многие - нет :-)

HZ> Вот начинающему как раз не нафиг! В Синплифае просто классный HZ> technology map viewer Знаю, вещь хорошая. Имхо для начинающего полезнее RTL map в том же Synplify - понять, во что превратилась его программка, только не на реальных ячейках (для понимания работы которых ещё надо даташит почитать), а на абстрактных стандартных триггерах и регистрах, описанных в учебнике. Hо ещё придётся понять, как прикрутить Synplify и что в нём где. Лишняя прога - лишнее время на разбирательство с ней.

HZ> Еще у Synplicity есть некая тулза Instrumentator, тоже типа HZ> перечисленных,но позволяет, вроде, задавать объекты для HZ> скопинга на уровне исходного кода. HZ> Правда пока не пользовался, руки не доходят. :) Та же фигня - всегда времени не хватает. Постараюсь посмотреть. PS (тема полезнее обсуждения личных предпочтений в софте): Ты не пробовал серьёзно использовать синтез Си->HDL ? У synopsis есть такая штука, вот название не помню. Я не пытался, но многие ругали саму идею....

Michael Tulupov ...

Reply to
Michael Tulupov

AOS> Кстати, а есть pеализации Фоpт-машины для AVR?

а для какого типа шитого кода ?

для switched threaded code вроде элементарно написать самому, особенно если стоит толстая внешняя РАМа

и потом, есть же куча готовый фортов, наверняка есть как минимум вариант от FORTH inc. , camel под AVR работает ?

а вот получится ли рассматривать форт-исходник как промежуточное представление, и нагенерить из него оптимизированного нативного кода -- большой вопрос, только-только начал возиться с компиляторными технологиями

Reply to
Dmitry Ponyatov

DT> Что означает DSL в данном контексте? Пока приходилось DT> сталкиваться только с ADSL и прочими SHDSL. :)

domain specific language, подробнее -- викай или гугли

Reply to
Dmitry Ponyatov

Пpиветствую, Dmitry!

Однажды, 10.11.05 21:43:22, Dmitry Ponyatov писал к Andrew O Shadoura по поводу "идеальный язык пpогpаммиpования ?".

AOS>> Кстати, а есть pеализации Фоpт-машины для AVR?

DP> а для какого типа шитого кода ?

DP> для switched threaded code вpоде элементаpно написать самому, особенно DP> если стоит толстая внешняя РАМа

Я думал использовать возможности ATmeg'и по самопеpепpогpаммиpованию (aka bootstrap loader). Т.е. словаpь Фоpт-машины хpанить не в "толстой внешней РАМе", а во внутpеннем EEPROM'е.

-- С уважением, Andrew O. Shadoura

np: Billy Joel - The Longest Time

AKAs: 2:4500/1.25, 2:450/202.25

Reply to
Andrew O. Shadoura

Wed, 09 Nov 2005 23:19:44 +0300 Michael Tulupov wrote to Harry Zhurov:

HZ>> Hе, не APEX - Cyclone! MT> Лучше StratixGX на полтора лимона :-) У нас вот на нём сейчас проект.

Кроме шуток, Циклон - наиболее выгодное решение по соотношению цена/возмжности. Он даже позиционируется как low-cost. Младший Циклон в коммерческом исполнении и самом медленном спидгрейде тянет порядка 13 баксов.

Reply to
Harry Zhurov

Wed, 09 Nov 2005 23:54:38 +0300 Michael Tulupov wrote to Harry Zhurov:

MT> Впрочем, если он будет брать готовый кит - там флешка наверняка будет.

HZ>> Hеверный у тебя AFAIK. :) Второй МАКС - это именно FPGA, и именно HZ>> первый Циклон. MT> Даааа.....ужасть. Hе знаю, что-то мне такая идея не нравится. MT> То есть MAX II, как любая FPGA, имеет период неготовности после включения MT> (пока прошивка грузится) ? MT> Я лучше Lattice CPLD на 1024 ячейки поставлю тогда. MT> Или младший Actel, у которого при структуре FPGA конфиг хранится как в MT> CPLDи нет периода загрузки.

Ты бы чем в ужас впадать да выводы опрометчивые делать, взял бы доку на него, да посмотрел (это занимает не больше времени, чем написание такого сообщения).

Так вот, время готовности у него лучше, чем у классических CPLD. Реально, afair, где-то порядка 1 мс. Он грузится очень быстро - там нет ограничений на последовательный канал загрузки, там, подозреваю, конфиг льется параллельно на несколько фрагментов структуры. В итоге, МАКС2 получается по выходу на режим быстрее.

HZ>> Вот такие толстые CPLD'хи, имхо, совсем не стОит применять - вместо HZ>> них уже вполне успешно применять FPGA. MT> Иногда критична готовность кристалла работать сразу и не ждать, MT> пока загрузится конфиг из флеша.

См выше.

HZ>> И именно на эту нишу и ориентирован МАКС2 - между 100 и 1000 ячеек HZ>> он предоставляет наиболее сбалансированное по цене/функциональности HZ>> решение в большинстве случаев. MT> А ты не пробовал сравнить его с CPLD от Atmel и Lattice ? MT> И с самыми дешёвыми FPGA от Actel ? MT> Hадо будет посмотреть - имхо, сбалансированность этого макса2 сильно MT> спорная вещь.

Не пробовал. И пробовать нечего. Эти - аналоги первых максов. МАКС2 - дивайс нового поколения. В то время, как первый МАКС выхоит на режим, питания, рабочие точки у него устанавливаются, второй МАКС быстренько конфигурируется и по факту готов оказывается даже быстрее. Для пользователя - это CPLD с архитектурой FPGA и всеми ее достоинствами - скорость, высокая плотность триггеров и т.д., что делает МАКС2 более пригодным для синхронных дизайнов, которые для ПЛИС есть рулез, без которых на ПЛИС не жизнь. :)

HZ>> Симулятор там нормальный для своего класса. MT> Hу Xilinx ISE вещь того же класса, но в состав входит MT> залоченный на Xilinx Modelsim. Где ж тут нормальность квартуса ?

Во-первых, Моделсим туда не входит. Его надо отдельно качать. И юзать отдельно, как отдельный продукт. Изучить при этом приличное количество доки, изучить HDL (это основное), научится писать тестбенчи. В Квартусе этого ничего не надо. Там несколькими кликами можно прогнать симуляцию. Естественно, уровень это совсем не тот, но для начинающего это энкратно проще и быстрее. То, что Зайлинкс не предоставляет такой возможности начинающим пользователям, не есть с его стороны хорошо. Имхо. И в этом как раз кроется популярность Альтеры - дружественнее она к начинающим ПЛИСоводам, поэтому начать на Квартусе гораздо проще, нежели на ИСЕ.

HZ>> У него ограниченная HZ>> функциональность - он не умеет симулять Verilog/VHDL - это так и HZ>> задумано, он же относительно простой. MT> Modelsim не сложнее, но зато заметно круче, и смешанная симуляция в MT> нём не вопрос. Да и потом переползти на полный Modelsim легко.

Моделсим несравненно сложнее. Хотя бы тем, что для пользования Квартусовски симулятором вообще ничего про технологию симуляции знать не надо. А для Моделсима надо знать HDL. Язык - одна из наиболее "тяжелых" вещей, т.к. это огромный объем информации, концепции, стили описания и т.д. Без этого, без понимания этих вещей нормально пользоваться языком нельзя.

HZ>> Hо для начинающего все это самое то, что надо. Hачинающий может HZ>> легко и быстро пройти весь цикл от ввода описания до симуляции HZ>> буквально за полчаса и даже быстрее. MT> Я с Xilinx начинал - легко и быстро прошёл весь цикл на нём MT> с симуляцией на прилагаемом Modelsim :-)

А VHDL ты, видимо, с рождения знал. А тестбенчи вас учили писать в детском саду. :))

HZ>>>> Т.е. тут надо сразу садиться за HDL MT>>> Hеобязательно.... HZ>> Обязательно-обязательно! Hикуда там без этого не денешься. MT> Hе знаю-не знаю. Сколько народу на схематике сидит, особенно старшее MT> поколение.... Учить-то надо, но не сразу.

Ух ты! А как ты тестбенч-то делать будешь? Тоже в схематике? Это, пардон, мазохизм!

HZ>> Я вот по привычке к альтеровским тулзам потыкался, потыкался, HZ>> да и взялся за Верилог. MT> Я благодарен судьбе, что сначала с Xilinx 4 столкнулся :-)))

Это, в общем, не важно. Понадобилось освоить - освоил.

MT> Hо Active ценен тем, что он IDE - всё в одном и всё довольно удобно. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

MT> Кстати, насколько я помню Ривьера мультиплатформенная - она MT> может работать в пакетном режиме без гуя ?

Да, мультиплатформенная. И отдельно можно симулятор из командной строки пускать. Только не понял, зачем тебе пакетный режим, если ты ценишь IDE?

HZ>> Редактор текста есть поудобнее. MT> Для VHDL\Verilog ? Hапример ?

SlickEdit старше версий 8.

HZ>> Вот начинающему как раз не нафиг! В Синплифае просто классный HZ>> technology map viewer MT> Знаю, вещь хорошая. Имхо для начинающего полезнее RTL map в том MT> же Synplify - понять, во что превратилась его программка, MT> только не на реальных ячейках (для понимания работы которых ещё MT> надо даташит почитать), а на абстрактных стандартных MT> триггерах и регистрах, описанных в учебнике.

Кому как. Я предпочитаю сразу конечную реализацию смотреть. Впрочем, в Синплифае есть и то, и другое.

MT> Hо ещё придётся понять, как прикрутить Synplify и что в нём где. MT> Лишняя прога - лишнее время на разбирательство с ней.

Зачем его куда-то прикручивать? Работаешь с ним отдельно. Прога довольно простая, там почти все интуитивно понятно. Есть хорошая дока.

MT> PS (тема полезнее обсуждения личных предпочтений в софте): MT> Ты не пробовал серьёзно использовать синтез Си->HDL ?

Поставил как-то Ментор Катапульту. Потыкался, потыкался. Не понравилось. Пускать можно только из оболочки, оболочка убожищьная - шрифт мелкий-мелкий, а изменить нельзя. И потом, если бы оно сразу реализацию давало. А HDL мне как-то не очень интересен - лишнее звено в процессе.

MT> У synopsis есть такая штука, вот название не помню. MT> Я не пытался, но многие ругали саму идею....

У Синопсиса это называется DC (Design Compiler). А вся эта кухня С->HDL называется SystemC. Правда, это не С, а С++, что есть гораздо лучше. DC этот только под Линкус, из-за этого переползать не стал. Подожду, пока появятся синтезаторы под винду. Там видно будет. Сама идея, заложенная в SystemC, вполне разумная и симпатичная. Посмотрим, что получится на практике, как С++ описание ляжет на реальное железо.

Reply to
Harry Zhurov

Andrew, ты ещё здесь сидишь?

Пятница Hоябрь 11 2005 09:43, Andrew O Shadoura wrote to Dmitry Ponyatov:

AOS>>> Кстати, а есть pеализации Фоpт-машины для AVR? DP>> а для какого типа шитого кода ? DP>> для switched threaded code вpоде элементаpно написать самому, DP>> особенно если стоит толстая внешняя РАМа AS> Я думал использовать возможности ATmeg'и по самопеpепpогpаммиpованию AS> (aka bootstrap loader). Т.е. словаpь Фоpт-машины хpанить не в "толстой AS> внешней РАМе", а во внутpеннем EEPROM'е.

А стеки возвратов и данных в оперативку влезут? Кстати, а как будешь бороться с "нетипичностью" архитектуры, ведь "классический" Forth придуман для фон-неймановской архитектуры (одно общее пространство адресов)?

Георгий

Reply to
George Shepelev

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.