Builder
-
Постов
518 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Builder
-
-
Нужна та статья, от IBM? А то валется на винте, позже закину на ftp, с ходу вроде нету на ftp.Мне предоставили право первого укола. Итак первый раунд: 8b10b кодер. Мой первый укол : эталонная, референсная модель 8b10b кодера, без какой либо оптимизации. Написана в лоб, на основе информации из википедии (В отличии от корки на опенкоресах, которая сделана на основе документа IBM) -
да я думаю всем интересно, калитесь :)Если кому интересно, могу сказать, сколько стоит SDK60 от Achronixa. -
Во-во, сколько раз похожие темы поднимались, проблемы типовые:Больше всего похоже на неисправную JTAG-цепочку. Проверяйте ее физическую целостность.1) проверить сам программатор, какой он там. USB или LPT;
2) проверить схему на соответствие документации;
3) проверить плату на соответствие схеме;
4) проверить качество пайки, нет ли где непропая или КЗ.
Всё, больше вариантов нет.
-
Не, ну AHDL в принципе крут, для своего времени альтеровцы считаю ксалинкс уделали по полной.PS. Тем кто по прежнему уверен что AHDL много круче VerilogНо его крутизна на сегодня точечная и роли не играет. Если уж проводили аналогию asm с C/C++, то давате проводить до конца:
кто сегодня на асме пишет? А? Да реально только во встраиваемых системах, и только тогда, когда ресурсы памяти и скорости жмут. А по чему? Да потому, что во первых на сегодня, особенно для x86 компиляторы уделают подавляющее число тех, кто асм x86 знает.
Асм на сегодня ещё оправдано использоваться для сравнительно простых процессоров или сравнительно небольших проектов, когда значительные затраты на отладку оправдывают время, затраченное на этот самый асм. Область использования асм, равно как и AHDL сужается до минимума.
Та-же тенденция уже приходит и в FPGA, точнее уже пришла.
-
Опубликовано · Изменено пользователем Builder · Пожаловаться
Не от языка с компилятором, а от кривизны рук и опыта.Думаю, зависит от языка и компилятора с него. Для VHDL или Verilog в Quartus-8 может не хватить и градации C7. Если пишете на AHDL, то C8 хватает заглаза. Проверено. Единственный нюанс существует при распределении пинов для RGMII- эти пины должны иметь функцию ddio.
Если есть сомнение - поставьте в прототип что побыстрее, а серию вылижите и поставите медленее и дешевле.Какой speed grade выбирать для Gigabit Ethernet на EP3C25 если -7 хватает можно поставить E144 корпус, или лучше -6 чтобы меньше пляски было с временами ?кто какие юзает ? или и С8 хватит ?
Ну чего вы прицепились к этому sload, это проблема не Verilog, Verilog - то тут при чём?Загляните в тему про счетчик на примитивах. Там des00 доказывал, что есть разница между AHDL и Verilog.
Ваш опыт показывает не то, что VHDL или Verilog плохи, а то что чужие проекты нужно осторожно использовать, тем более - открытые, когда неизвестно кто их писал. Может тот код вообще студент писал, в образовательных целях.Я виню не язык программирования, а указываю на опасность его использования в отрыве от особенностей архитектуры FPGA. Когда пишешь на AHDL, то твердо знаешь- в синтезе будут по максимуму использованы фичи Altera. При VHDL или Verilog, как показывает мой печальный опыт применения готовых модулей из opencores, - такой уверенности нет.Если писать на Verilog в стиле AHDL, по максимуму используя готовые примитивы Altera, то разницы действительно можно и не обнаружить. Но если озаботиться не практикой, а академическими проблемами переносимости и моделирования, как в opencores, то вы правы- все зависит от "прокладки".
Последний раз тут видел рпссмотрение вопроса: http://electronix.ru/forum/index.php?showt...st&p=742018Если можно - ссылочку на данную тему, хочу ее внимательно прочитать, а то поиск дает слишком много ссылок...Ну и от себя, не флэйма ради. AHDL - это круто, сам когда-то на нём лабал. На сегодня его удел - это внутренний язык для мегафункций самой альтеры, и поддержка старых проектов. Он с этим нормально справляется. Его время прошло. Его время - это когда чип на пару десятков тысяч, если не просто тысяч был чем-то мега большим. И то, уже тогда были проблемы стмуляции, тогда ещё в Max+II - это рисование матрасов времянки, симуляция, просмотр в основно глазами результата. Вспоминаю с содраганием.
Но сегодня другие времена. У меня была жуткая ломка, когда переходил с AHDL на verilog, но когда перешёл - ни разу не возникло желание возвращаться. Я не представляю зачем мне нужен гемос с симуляцией проектов с использование AHDL?
Примеров уйму можно привести, это и стмуляция многочиповых решений, с той-же динамикой. И верификация при симуляции провекта с помощью не ситнезируемых конструкций, тут можно продолжать долго... В AHDL на прямую это нельзя сделать, но зачем лишние проблемы? Уменя знакомый с видео работал. Сделал тест бенч, который берёт картинку, прогоняет через проект и выплёвывает обратно в файл. И смотрит потом фотошопом, всёли на выходе красиво. Ну и как такое сделать на AHDL? Танцы с бубном и ухищрения разные - проблему не решат. Это если кратко, т.к. тему симуляции можно развивать.
Далее, AHDL привязывает Вас к альтере, сколько-б я не был поклонником альтеры, но иногда есть необходимость сделать что-то на том-же ксалинксе. Правильно сделанный проект VHDL или Verilog переносится с одного вендора на другой достаточно легко. Ну, если не считаьт случаи, когда есть сильная завязка на особенности конкретного железа. С AHDL такое в принципе невозможно.
Далее, не знаю как вам, а мне кажется что тенденции обычного софта, когда пусть прога будет пусть чуть больше но написана в 2 раза быстрее и ,удет иметь меньше глюков приходят и в железо. Да, есть случаи, когда нужно выжать по объёму и скорости 100%, но это и не только на AHDL можно сделать. На мой взгляд, большие проекты на AHDL отлаживать значительно сложнее и дольше.
В общем IMHO, Вы допускаете в своих рассуждениях одну ошибку, Вы распространяете свои частные неудачные попытки соскочить с AHDL на общий случай.
В общем шире нужно смотреть, на sload свет клином не сошолся...
-
Может какой-то тонкий эффект из-за разной разводки? Как насчёт асинхронщины? Тут незначительного прогрева достаточно, что-б начало глючить то, что вроде вчера работало. Возможно старый квартус немного по другому развёл и просто не видно проблемного куска в проекте. Добавите что-то, переразведёте и старый квартус тоже может начать выдавать прошивки, которые не работают. Ищите в проекте что не так, а то в серии обязательно вылезет. Было когда-то, всё отладили, работает. Купили новую партию микрух и началось.... А была асинхронщина.Но через некоторое врямя оно начинает так себя вести. Вроде не сильно туплю, но результат на лицо. Те же самые проекты в 9.0 до сих пор нормально работают. Разбираться с этим времени не было. -
Ну, я так думаю что если TSMC ещё облажается, то да, побегут от неё, кому нужны изделия на острие технологии.а может быть ну его TSMC ?не сошелся же свет клином на нем %)
-
Народ, ну Вы уже ваще, лабы на фаруме просить сделать... На большее не тянет.Подскажите описание на VHDL схемы делителя частоты с 50МГц до точно 2 Гц. -
Тут ещё много будет зависить от успехов TSMC's, на заводах которого Альтера делает чипы.У Xilinx переход на 40nm занял 1год.Virtex6 год назад анонсировали, и они уже свободно продаются.
(мы месяц назад уже заказали пару-тройку X6VLX240 в промышленном температурном диапазоне).
Если у них будут проблемы - будут задержки и у альтеры, не будет проблем - и альтера всё шустро выпустит в серию.
-
Да вроде как не совсем так должно быть. Cтратикc 5-й то по более тонким нормам будет сделан, 28 нм...прикольно.P.S. Прямая конкуренция - Virtex 6 и Spartan 6 фирмы Xilinx
Альтера что-то в HI-end микрухо вдарилась, циклоны с максами как-то совсем забросили...
-
Стмулять Вы можете что угодно и как угодно, но собрать потом не сможете. Альтера не возьмёт Х модули и наоборот.2 - эээ.. это значит что использовать можно?..
скрипт, это скрипт, посмотрите документацию алдека и прмеры, что идут в комплекте. А ещё лучше - проделайте упражнения из их туториала, помнится по ним я алдек без особых проблем освоил. По крайней мере поймёте что где и что нужно делать что-б получить нужный результат.3.3 - если скрипт - это макрос, то я их сохранял и загружал - весь список сигналов он восстанавливает, а вот описание входных сигналов - нет.. наверно что то не так делаю... :05: -
Так я к тому и вёл, что шаги реально можно использовать только в локальных местах, а так брейкпоинты в руки...а брекпоинт на что ? :) -
Но можно долго бегать по всему проекту, по всем местам где клок используется :)В Моделсиме есть кнопка "шаг". Она и позволяет проходить диаграмму по каждому фронту клока... -
Если бы Вы хоть немножко поизучали матчасть или почитали форум (постоянно похожие вопросы задают), то Вы-бы узнали легко и сами, что:Ситуация: проект в Quartus 9.0 cостоит из нескольких блоков, которые написаны на VHDL. В каждом блоке есть определенный набор переменных.Можно ли как-то отслеживать их состояние в процессе моделирования? Грубо говоря выполнять пошаговую отладку.
1) симулятор в кварус конечно есть, но по шагам там довольно проблматично симулять. Моно просимулять и посмотреть сигналы за заданное время.
2) в квартусе сигналы, некоорые можно не увидеть, т.к. они могут сминимизироваться.
3) Если хотите всх сигналов и пошаговости - милости просим в полноценные симуляторы. Тут на форум больш всго упоминаются ModelSim и ActiveHDL.
-
Не совсем хорошая практика. Можно влететь. Правильнее описать временные ограничения, что-б они проверялись при синтезе автоматически, тогда и не нужно будет надеятся - будете знать. Почитайте для начала статьи des00, про тайм квест, для затравки.По поводу временнОй симуляции - работая с внешними (по отношению к ПЛИС) устройствами на высокой частоте, мне приходилось внимательно рассматривать результаты временнОй симуляции, вставлять дополнительные элементы, чтобы получить желаемое, и при этом надеяться, что так оно будет и в реальном железе. -
Давно было, подробности уже не помню. Но смысл был в том, что какая-то версия ActiveHDL не правильно обрабатывала одну конструкцию (потом исправили, к слову), так получилось что то, так щёлкал тригер на симуляции устраивало.Поясните в таком разе, почему функционала оказалось недостаточно.В железе получалось по другому (и это было правильно, в соответствии с кодом) и были глюки. Выщемливал место, которое не так работало именно временным моделированем, на нём нашёл место, которое работает не так и дошёл до того, что функциональный симулятор глючил.
Наложились два глюка.
-
Согласен с des00, попробуйте просимулировать что-то сложное и вопросы сами самой отпадут :)to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :)
А какое Вам дело до задержек на ввентилях, задержки временной анализ учтёт при аналиже времянки, симуляция не обязательна. По крайней мере при корректном проекте не вижу необходимости для ПЛИС её делать. Я сам только один раз пользовался, когда функциональный симулятор глючил на одной конструкции, нашёл на временной симуляции.мысль, что если все правильно, то достаточно функционального моделирования.. надо подумать.. а как же задержки на вентилях? их же, кажется, нет при функциональном моделировании?.. -
Не совсем, невозможность задать текстовое описание вытекает из более общего - симулятор у альтеры всегда не позиционировался как среда полноценного симулирования.его слабость только в том, что он текстовое входное воздействие при моделировании не поддерживает.А будущего у него нет. Не выгодно и затратно. Скорее всего в последующих версиях моделирования в квартусе не станет.
-
Имеется ввиду то, что обычно сначала всё пишется и симулируется на функциональном уровне. При этом могут использоваться (у меня почти всегда они есть) констурукции кода, не синтезируемые, например работа с файлом. Наиболее часто, судя по постам тут, используют или Active HDL или ModelSim (поройтесь в архивах, их много сравнивали). Синтез и времянка делается после или паралельно (переодически запускаем синтез) с написанием кода. При этом практика показывает, что если код функционально написан корректно (нет потыток сделать типа того, что вы хотели), то симуляции с учётом времянки делать не требуется, достаточно отчёта синтезатора, что все ограничения выполнены.цитата: "Aldec предназначен для ввода и серьезного моделирования работы цифровых схем (не важно каких производителей)." - не совсем понял почему серьезного моделерования.. у меня сложилось впечатление, что он сам по себе может только функциональный анализ (т.е. без реальных задержек), а чтобы он делал анализ более менее реальной прошивки (timing analys, кажется это называется, после "заливки" в кристалл) нужно подключать quartus,xilinx и т.п. и компилить в них, а он потом просто отрисует что получилось.. может я конечно не прав потому что только сейчас буду пытаться разобраться с active-ом.. :)В самом квартусе симулятор достаточно слабый, в нём можно делать только самый примитив, я например его только пару раз попробовал, когда пересаживался в MAX+II и больше не запускаю, нет необходимости.
Это если кратко.
-
Во-во, и более того, обычно достаточно просто написать: a=a+1; и квартус автоматически подключит LPM.Обращается к lpm_counter. А тот представляет собой AHDL файл, который, я, собственно, и пытался "изобрести".Вывод такой - если хочешь качества - используй LPM, если все равно - пиши по-простому, на Verilog.
Единственный случай. который прихдит на ум, когда есть смысл попробовать ручками подключать, если сумматор по логике сложится с другой логике, и результат не ляжет на LPM. Но я например к таким экспериментам прихожу если не выполняются констрейны.
Так что не придумываете себе забот лишних, больше чем их есть.
-
Да, я думаю это была шутка.Это - шутка?Вы по моему занимаетесь пустой работой, главное - результат.
Т.е. описываете задачу, описываете сколько нужно по времянке и всё. Я тоже помню, что в старые времена красиво было смотреть как софт на раскладке рисовал цепочки переносов, видно было где счётчики. Но как-то последнее время на это уже не обращаешь внимание: временка и ресурсы устраивают и ладненько. А в последнее время как-то всёравно стало, как оно там, пока не прижмёт.
Да, что-то мне подсказывает, что такие примитивы как счётчик крайне редко получится сделать оптимальнее чем в LPM модулях сделано, времени потратите больше чем экономии будет, если будет экономия...
-
Какую версию квартуса используете? Квартус достаточно умный для того, что-б использовать мегафункции, если только там код не сильно хитрый и не завязано на что-то ещё. Если что-то не получается, по моему проще использовать LPM функцию сложения, врятли получится написать оптимальнее чем в ней, особенно для общего случая.Не устраивает тем, что Quartus не объединяет в одном логическом элементе сумматор и триггер, а раскидывает, как захочет. На MAX+II на AHDL у меня счетчики выстраивались в линейку, с цепями переноса длиной в 24 элемента. -
По моему правильно будет сделать так: функционально продумываете (можете нарисовать) то что Вам нужно.По-мойму, всегда сначала чего-то хочешь, а потом ищешь способы достижения.После некоторого времени, проведенного в попытках сотворить эту вещь самостоятельно я посчитал целесообразным спросить у более знающих людей и в специально отведенном разделе, так что моя совесть чиста.
А далее, смотрите как нужные функциональные блоки сделать на выбранном языке. По крайней мере я всегда примерно так поступаю.
Пока что у Вас не перого не второго. Задача простая, вы хотите что-б кто-то сделал её за Вас, или хотите сами научится?
-
Для начала возьмите каких книг или уроков по VHDL проделайте. А то я зыка не знаете, а что-то хотите.Алгоритм представляю, но как на vhdl перенести - нет. В частности массив и выборку из массива.Выдаваться должно с неким темпом по кругу? Если да - делаем счётчик, значение счётчика туда, где у Вас 'i'.
Как вариант оптимизации - использовать блочную память, тогда счётчиком будет 2, один будет считать слова памяти, второй биты слова.
Но начните с изучения VHDL.
Cyclone III для Gigabit Ethernet
в Работаем с ПЛИС, области применения, выбор
Опубликовано · Пожаловаться
Я вот не понимаю, как Вы можете говорить о том, с чем не разобрались? Это как рассуждать о трюфелях на основании картинки.
В общем давайте сравнивать конкретно, а не на пальцах: http://electronix.ru/forum/index.php?showtopic=75629
И по скорости и по размеру и по переносимости.