Wed, 16 Nov 2005 16:19:04 +0300 Michael Tulupov wrote to Harry Zhurov:
HZ>> В итоге, МАКС2 получается по выходу на режим быстрее. MT> Гм. Попадётся делать что-то мелкое и несложное - посмотрю внимательнее.
На 1200 ячейках уже можно и достаточно непростые вещи лабать.
HZ>>>> Симулятор там нормальный для своего класса. MT>>> Hу Xilinx ISE вещь того же класса, но в состав входит MT>>> залоченный на Xilinx Modelsim. Где ж тут нормальность квартуса ? HZ>> Во-первых, Моделсим туда не входит. Его надо отдельно качать. MT> Вот у меня лежит 7 дисковый официально купленный ксилинкс. MT> Есть там моделсим. MT> Даже если качать - ну скачать 2 файла вместо одного.
Чего споришь? Моделсим - это отдельный продукт, это поделие фирмы Ментор Графикс, Зайлинкс просто договорился с Ментором, чтобы поставлять урезанную версию вместе со своей оболочкой. Это совсем другое дело, нежели симулятор в Квартусе, который туда встроен, и отдельно не бывает. А так и Альтера тоже имеет аналогичное соглашение с Ментором, по которому тоже поставляет в полной Квартуса версии урезанный вариант Моделсима.
HZ>> И юзать отдельно, как отдельный продукт. MT> Почему же как отдельный ? Он стартует из ксилинкса, который ему MT> создаёт подпроект. Всё получается прозрачно.
И Синплфай тоже может стартовать из ИСЕ - это не означает, тем не менее, что Синпфлифай входит в ИСЕ. Все это в равной степени относится и к Альтере. Нету в ИСЕ своего простого симулятора. В прежней их среде - Фаундейшн был функциональный симулятор. В ИСЕ его нет.
HZ>> Изучить при этом приличное количество доки, MT> В доку моделсима я полез гораздо позже - когда приспичило MT> написать умный DO-скрипт. До этого всё на интуиции.
Ага, концепцию подхода ты тоже проинтуичил? Или товарищи старшие объяснили? Одно дело с интерфейсом разобраться, совсем другое - понять, что на чем стоит, что от чего зависит, что на входе, что на выходе, и как всем этим грамотно управлять. Тут на одной интуиции далеко не уедешь - тут надо доку долбить, форумы сканить, у знающих коллег консультироваться, что тоже не просто - т.к. чтобы получить хороший ответ, надо задать правильный вопрос, а правильный вопрос, как известно, содержит половину ответа, чтобы такой вопрос задать, уже надо что-то и самому понимать. Т.ч. этот начальный этап "затравки" получается очень непростым, если тут некому подсказать, направить по верному пути.
HZ>> изучить HDL (это основное), MT> Схематик компилится квартусом в нетлист, который симулится. MT> Моднелсиму HDL необязателен, он всё переваривает.
Квартус выдает такой неудобоваримый нетлист (пост-синтез), что с ним работать - мазохизм. Основной вид моделирования - функциональный, и именно его Квартус нормально делать и не дает. Ни в своем симуляторе, ни во внешнем.
HZ>> научится писать тестбенчи. MT> Это по-любому надо.
Ото ж. Без этого туда (Моделсимы, Альдеки и прочие) и соваться нечего.
HZ>> И в этом как раз кроется популярность Альтеры - дружественнее она HZ>> к начинающим ПЛИСоводам, поэтому начать на Квартусе гораздо проще, HZ>> нежели на ИСЕ. MT> Hууууу.... Я на ИСЕ начинал - после этого, когда понадобилось MT> сесть за альтеру, мне было очень неприятно (и до сих пор так) MT> пользоваться квартусом.
См следующий коммент.
MT>>> Я с Xilinx начинал - легко и быстро прошёл весь цикл на нём MT>>> с симуляцией на прилагаемом Modelsim :-) HZ>> А VHDL ты, видимо, с рождения знал. HZ>> А тестбенчи вас учили писать в детском саду. :)) MT> Hеа :-) Просто человек, втянувший меня в эту область, так ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MT> мне проказывал с самого начала. Дал дистрибутив ISE, показал ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ MT> пару книжек (в т.ч. свою) по VHDL.
Во-от и ответ на вопрос! Тебя сразу в колею поставили, дали рычаги в руки, сказали в какую сторону ехать. Поэтому ты так легко и начал. А вот если бы ты _сам_ с нуля бы начал, то в полной мере бы ощутил все удобства. И Квартус, уверяю тебя, значительно проще для начального освоения с нуля - там есть _ВСЕ_ в одном флаконе, все можно запускать, не вникая, как это внутри работает. Нарисовал на входы воздействия, нажал кнопку, оно симуляет. А с Модесимом/Альдеком надо сперва понять, что же это за прога такая, что она на входе хочет, что у нее на выходе. Понять концепцию (основной замысел) программы и подхода к моделированию, понять, что есть для нее библиотеки - в частности, что библиотеками она считает ЛЮБЫЕ скомпиленные файлы, в том числе и файлы проекта, а не коллекции объектников с атрибутом lib, как это принято в программерской практике. Понять, что такое тестбенч - самому до этого дойти, а не когда тебе это кто-то объяснит. И для всего этого еще в купе надо HDL освоить, чтобы начать пробовать, приобретать опыт на практике. Вот когда перед тобой встают все эти вопросы в купе, а подсказать некому, когда не понимаешь простых, в общем-то, вещей, вот тогда действительно испытываешь неуверенность, дискомфорт. Начать в такой ситуации очень непросто - буквально не знаешь, за что хвататься.
MT>>> Hе знаю-не знаю. Сколько народу на схематике сидит, особенно старшее MT>>> поколение....
Я вот на форумах вижу дофига людей старшего поколения, которые давно и плотно HDL'ят, и у которых есть чему в этом поучиться.
HZ>> Ух ты! А как ты тестбенч-то делать будешь? Тоже в схематике? Это, HZ>> пардон, мазохизм! MT> Я вообще в схематике не буду :-) А знакомые мне люди, сидящие на MT> схематике,используют в основном 3 ксилинкс, в котором вместо моделсима ещё MT> былсвой симулятор вроде квартусовского, с рисовалкой сигналов..... MT> Hи одного HDL эти люди не знают и учить не хотят.
Это их дело и право. Возможно, это их "потолок".
MT>>> Ты не пробовал серьёзно использовать синтез Си->HDL ? HZ>> Поставил как-то Ментор Катапульту. Потыкался, потыкался. Hе HZ>> понравилось. HZ>> Пускать можно только из оболочки, оболочка убожищьная - шрифт HZ>> мелкий-мелкий, а изменить нельзя. И потом, если бы оно сразу HZ>> реализацию давало. А HDL мне как-то не очень интересен - лишнее HZ>> звено в процессе. MT> А в этом HDL самому разобраться реально ? MT> Или там свалка невразумительного кода ?
Не знаю, не помню уже, на каком этапе бросил - почти сразу пришел к выводу, что сразу на HDL писать быстрее и надежнее. К тому же я тогда еще находился в стадии начального освоения Верилога, т.ч. вряд ли смог бы адекватно оценить кодогенерацию.
MT> HDL тут аналогично асмовому листингу на выходе сишного компилятора. MT> Имхо без HDL тут пока никак. Слишком сырая технология.
Пожалуй, что так.
HZ>> У Синопсиса это называется DC (Design Compiler). А вся эта кухня HZ>> С->HDL называется SystemC. Правда, это не С, а С++, что есть гораздо HZ>> С->лучше. DC HZ>> этот только под Линкус, из-за этого переползать не стал. Подожду, пока HZ>> появятся синтезаторы под винду. Там видно будет. Сама идея, заложенная в HZ>> SystemC, HZ>> вполне разумная и симпатичная. Посмотрим, что получится на практике, как HZ>> С++ HZ>> описание ляжет на реальное железо.
MT> SystemC - это не только ценный мех.... Он создан для моделирования MT> прежде всего, и в этом качестве успешно компилится под виндой в MT> VisualStudio. В исполняемый экзешник, ессно.
Я в курсе, спецификацию на 2.0 читал.
MT> Hаверняка у этого DC тоже есть синтезируемое подмножество SystemC. MT> Любую конструкцию точно переварить не получится.
Естественно есть и синтезируемое подмножество. Там и дока на этот счет имеется, по слухам, приличная.
Насколько знаю, там этот DC выдает из С++ описания HDL, который уже надо скармливать синтезатору. Т.е. прямого синтеза нет.
MT> А как оно будет ложиться - наверняка получится как с сишными MT> компиляторами под однокристалки. По мере роста сложности MT> и скорости ПЛИС хреновая реализация на железе никого волновать MT> не будет - лишь бы работало.
Тут, имхо, несколько по-другому - всегда можно написать SystemC конструкцию, которая однозначно отобразится на определенное HDL описание, которое, в свою очередь, вполне однозначно отмапится на указанную технологию. Т.е. предсказуемость должна быть выше. Это основывается на том, что реально элементарных строительных аппаратных блоков очень немного.