|
2D ускоритель, Как их делают? |
|
|
|
Jun 16 2010, 22:36
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(x736C @ Jun 17 2010, 01:21)  Другой вопрос, что, как вы верно подметили, это пока не так. Ну, я же о текущем положение вещей говорю, а не о том, что более высокий уровень хуже, чем менее высокий. Если синтезаторы станут понимать человеческий разговорный, будет глупо продолжать делать проекты в схематике. Цитата(x736C @ Jun 17 2010, 01:21)  Мне не понятно, что такое минимальный шаг отладки. Тем более «минимальный шаг отладки все равно остается равен одному такту». Отладка ведь не шагами измеряется, и далеко не всегда делается по шагам. Я имел в виду, что с текущими синтезаторами с высокоуровневых языков, я пока не могу забыть о том, что устройство функционирует по тактам. Нельзя написать алгоритм и указать, чтобы выходные данные появлялись, например, через 12 нс. Нужно думать о частоте и латентности схемы. И, если что-то идет не так, то при отладке иногда приходится "смотреть" выполнение алгоритма по тактам. Цитата(x736C @ Jun 17 2010, 01:21)  А вообще это уже оффтоп, не имеющий прямого отношения к теме. Вы правы.  Цитата(x736C @ Jun 17 2010, 02:29)  Пишут же, и вполне успешно.  Достаточно пробежаться по youtube. Честно, не видел, но верю. Главный вопрос - зачем? Разные задачи - разные инструменты.
--------------------
|
|
|
|
|
Jun 17 2010, 06:05
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(x736C @ Jun 16 2010, 21:45)  Ну, вообще-то отладка программы написанной на Си выгодно отличается от отладки ассемблерной программы, как и само их написание. Это в качестве примера преимущества ЯВУ над ЯНУ. Ускорение кодирования является следствием упрощения кодирования. Отсюда и отладка упрощается. Попробуйте оспорить.  Оспаривать действительно сложно так как сравниваете совершенно разного уровня языки. язык С это просто набор функций из ассемблерных команд для исполнения процессору и программа выполняется всегда последовательно(правда сейчас пытаются сделать параллельность вычилений). А язык хHDL - это описание цифровой схемы, при чем с помощью языка хHDL мы объясняем синтезатору как сконфигурировать цифровую логику в ПЛИС. Т.е. мы можем на языке хHDL описать сам процессор(АЛУ) со своим ассемблером, а только потом написать для него программу на ассемблере (или вначале написав свой компилятор - программу на С). В ПЛИС может быть например таких процессоров(АЛУ) десятки или сотни - на сколько логики ПЛИС хватит. И они могут одновременно и параллельно все работать. Другими словами мы можем создать с помощью языка хHDL любую архитектуру того же процессора, т.е. создать систему на кристалле или просто создать связку обычного счетчика (таймера) и дешифратора. ЗЫ Это мое мнение На счет ускорения и автоматизации написания программ, то она происходит просто более медленно чем например для С. Так ранее синтезатор не понимал знаки операций +,-,* в описании на языке хHDL цифрового устройства и приходилось на уровне простейшей логики описывать схему вычислительного блока (умножителя, сумматора и т.д.), то сейчас он сам строит необходимый вычислительный модуль. Под этот шумок многие написали и защитили кандидатские работы и было много сделано патентов. На сегодняшний день существует очень много готовых IP-ядер цифровых устройств как от производителя ПЛИС так и сторонних разработчиков
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Jun 17 2010, 10:07
|
Профессионал
    
Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942

|
GUI самый настоящий. http://www.youtube.com/watch?v=wkVf81ZwTk8 вот может быть это подпадет под ваше особое определение графического интерфейса. Maverick, никто не сравнивал несравнимое. Спасибо, что объяснили что такое Си и HDL и чем они отличаются. В общем зачетная лекция, только к нашему обсуждению прямого отношения не имеет. Я ведь с вами согласен и писал несколько о другом. Добавлю. IP ядра и библиотечные функции сродни классам, функциям в языке Си. Думаю, это неизбежный процесс. Так ранее синтезатор не понимал знаки операций +,-,*Это как раз говорит о движении в сторону Си (или языка подобного уровня абстракции, как его не назови). И согласитесь (это как раз тот момент из-за которого возникла дискуссия), отладка одного и того же функционального множества, реализованного языками разного уровня будет тем проще, чем проще описание данной реализации. Сравните работу по отладке абстрактного блока с сумматором на гейт-уровне и на уровне описания сумматора "+". Когда-то такие споры и по поводу Си и Асма возникали. Кстати, эта тема по-моему 1000 раз обсуждалась на форуме.
Сообщение отредактировал x736C - Jun 17 2010, 10:10
|
|
|
|
|
Jun 17 2010, 16:36
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
про синтезаторы с человеческого - вроде как все Сисинтезатораписатели борются сейчас за антаймед-Си, то есть преобразование последовательных действий в RTL должно выполнятся автоматицки также стоит упомянуть Handel-C вроде не умерло
сам не пользовался
а для совсем высокого - всяческие генераторы с Симулинка/Матлаба и тому подобное - кстати, как мне кажется, вполне подходящий флоу для ускорителя
опять же не забываем С2Н от Альтеры....
то есть лично я ничего плохого в трэйдоффе качество проекта (частота/гейты) / скорость разработки не вижу и если есть возможна халява (применить более высокий уровень описания), то в большинстве практических задач от халявы отказываться не стоит
----------------
по теме графических ускорителей (не топовых есс-но) - так как когда-то был озадачен - кажется, что это не так популярно как, например, мпеги/жпеги и готовых кодов для них не найдешь, да и не так формализовано, то есть задача может быть от рисования линий, до реализации эмбеддед GL там много вопросов - какая полоса к памяти, какая софтовая поддержка, то есть если начинать снизу вверх, то надо с простого фреймбуфера начинать (у Гейслера например есть на VHDL, ну и линуксовская поддержка есть, но я его линукс не пользую и видео в проектах с его либой тоже у меня нет), а если сверху вниз то надо какой нибудь СистемСтудио синопсиский брать и ваять в нем модель/драйвер и т.п. - для лоу-кост можно самому писать без студии, а там двигать границу между софтом/хардом до удовлетворения
|
|
|
|
|
Jun 17 2010, 16:38
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(Maverick @ Jun 17 2010, 18:43)  1М=1000000 Я немного ошибся в порядке цены - оно стоит $100К Цитата если это так, то действительно ОЧЕНЬ МНОГО!!! Много, даже для $100К
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|