|
про реализацию АЛУ, плюс ещё пару вопросов |
|
|
|
Sep 13 2010, 16:08
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 13-09-10
Пользователь №: 59 461

|
Привет всем, я абсолютный ламер по части ПЛИС, читаю много книг, но некоторые вопросы все равно остаются непонятными. Я понимаю, что их много и они тупые, но прошу ответить хотя бы на часть ... если возможно. Этим летом я написал 32ух разрядное АЛУ на VHDL (операции + - / * на базисе xor, and, or, not). Собственно вопрос первый - это вообще адекватный код, подойдет ли он к загрузке в ПЛИС? Вопрос второй - какая разница - реализовывать допустим операции (+ - / *) 32ух разрядных чисел в коде через вышеуказанный базис или просто методом a+b, a-b, a*b, a/b ? Я так понимаю, что этот код на VHDL с помощью каких-то утилит пакета (например) WebPack ISE можно отобразить в реальную логическую схему, т.е. наладить связи между CLB какой-то конкретной ПЛИС, и учитывая имеющиеся у нее в запасе ресурсы, запихать в них устройство описанное на уровне VHDL. Вопрос 3 . Правильно ли я понимаю, что для того, чтобы грамотно запрограммировать устройство в FPGA нужно четко представлять какие конструкции кода VHDL в какой цифровой эквивалент ПЛИС отображаются на цифровом логическом уровне? И где эту информацию можно почерпнуть? Вопрос 4 . Есть ли какая - нибудь литература (лучше не книги а статьи), где на примерах конкретных описывается процесс проектирования в среде ISE Design suite полностью? Начиная от VHDL описания и заканчивая внедрением проекта в ПЛИС Вопрос 5. Сейчас читаю цикл статей "Микропроцессор своими руками" и в перспективе хочу сделать тоже софт процессор. Интересует - есть ли ещё подобные статьи, где реализуют более полный вариант процессора? Вопрос 6. Я в универе учусь и мне интересно - разработка устройств под ПЛИС это вообще перспективное направление, стоит ли это ботать? Код АЛУ о котором я говорил где-то в начале приложил.
Сообщение отредактировал AlexHoppus - Sep 13 2010, 16:09
|
|
|
|
|
Sep 13 2010, 17:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(AlexHoppus @ Sep 13 2010, 20:08)  Собственно вопрос первый - это вообще адекватный код, подойдет ли он к загрузке в ПЛИС? Код не читал. Цитата(AlexHoppus @ Sep 13 2010, 20:08)  Вопрос второй - какая разница - реализовывать допустим операции (+ - / *) 32ух разрядных чисел в коде через вышеуказанный базис или просто методом a+b, a-b, a*b, a/b ? Если в двух словах - никакой. Синтезатор на сегодняшний день достаточно умный, чтобы оптимально или почти оптимально сделать относительно простые операции. Для более сложных - да, иногда придется пописать на более низком уровне. Но на данном этапе, с текущими знаниями, у Вас это будет получаться не очень хорошо. Но для общего развития можете потренироваться. Цитата(AlexHoppus @ Sep 13 2010, 20:08)  Вопрос 3 . Правильно ли я понимаю, что для того, чтобы грамотно запрограммировать устройство в FPGA нужно четко представлять какие конструкции кода VHDL в какой цифровой эквивалент ПЛИС отображаются на цифровом логическом уровне? И где эту информацию можно почерпнуть? Правильно понимаете. Почерпнуть можно некоторую часть из документации на то ПО, которым Вы пользуетесь, но большую часть поймете на экспериментах. Написали код, скомпилили, посмотрели в RTL-viewer'e, поняли, что вышло, и так по кругу. Цитата(AlexHoppus @ Sep 13 2010, 20:08)  Вопрос 4 . Есть ли какая - нибудь литература (лучше не книги а статьи), где на примерах конкретных описывается процесс проектирования в среде ISE Design suite полностью? Начиная от VHDL описания и заканчивая внедрением проекта в ПЛИС Не знаю. А что конкретно Вас интересует? Цитата(AlexHoppus @ Sep 13 2010, 20:08)  Вопрос 5. Сейчас читаю цикл статей "Микропроцессор своими руками" и в перспективе хочу сделать тоже софт процессор. Интересует - есть ли ещё подобные статьи, где реализуют более полный вариант процессора? Более серьезные процессоры реализованы на OpenCores.org - можете скачать, посмотреть код, поизучать. Цитата(AlexHoppus @ Sep 13 2010, 20:08)  Вопрос 6. Я в универе учусь и мне интересно - разработка устройств под ПЛИС это вообще перспективное направление, стоит ли это ботать? У нас в России не особо перспективно. Приборостроение почти нет, следовательно, востребованность не очень большая. Если смотреть по деньгам, то Java-разработчик или 1С-программист в средним будут зарабатывать больше. Недавно обсуждали эту темы более подробно. Пришли к выводы, что работать с ПЛИС можно только "по любви".
--------------------
|
|
|
|
|
Sep 13 2010, 17:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата какая разница - реализовывать допустим операции (+ - / *) 32ух разрядных чисел в коде через вышеуказанный базис или просто методом a+b, a-b, a*b, a/b ? Операции деления вообще нет. Умножители могут быть встроенные, так же как и сумматоры и соответственно с точки зрения ресурсов могут использоваться именно они. Цитата Есть ли какая - нибудь литература (лучше не книги а статьи), где на примерах конкретных описывается процесс проектирования в среде ISE Design suite полностью? Начиная от VHDL описания и заканчивая внедрением проекта в ПЛИС Читайте Зотова (хоть и очень убогая книга). Есть куча лабораторок по данной тематике (диодиками помигать, посмотреть времяник счетчика), поищите в инете. Цитата Я в универе учусь и мне интересно - разработка устройств под ПЛИС это вообще перспективное направление, стоит ли это ботать? Была такая темка, как уже des333 писал http://electronix.ru/forum/index.php?showt...A++%EF%EB%E8%F1
Сообщение отредактировал bogaev_roman - Sep 13 2010, 17:39
|
|
|
|
|
Sep 13 2010, 19:05
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 13-09-10
Пользователь №: 59 461

|
Цитата Написано форум защищен паролем. НУ у нас приборостроение в военку упирается, там тоже все плохо? Цитата посмотрели в RTL-viewer'e Он входит в ISE Webpack? что-то не могу его у себя найти.
|
|
|
|
|
Sep 13 2010, 19:15
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(AlexHoppus @ Sep 13 2010, 23:05)  Написано форум защищен паролем. Да, оффтоп сейчас в опале. Цитата(AlexHoppus @ Sep 13 2010, 23:05)  НУ у нас приборостроение в военку упирается, там тоже все плохо? Вот с этой областью не знаком - не могу сказать. Цитата(AlexHoppus @ Sep 13 2010, 23:05)  Он входит в ISE Webpack? что-то не могу его у себя найти. RTL Viewer входит в Quartus. В ISE это расположено в Tools -> Schematic Viewer -> RTL. Есть ли он в Webpack - не знаю, проверьте. P.S. Я тут для себя тоже решил с процами побаловаться. Так что, пишите в аську (она в профиле), будем "мозговой штурм" устраивать.
--------------------
|
|
|
|
|
Sep 14 2010, 02:24
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(AlexHoppus @ Sep 13 2010, 11:08)  Вопрос второй - какая разница - реализовывать допустим операции (+ - / *) 32ух разрядных чисел в коде через вышеуказанный базис или просто методом a+b, a-b, a*b, a/b ? Все кроме деления будет синтезированно однозначно, а вот реализация операции деления зависит от требований к производительности. Цитата Вопрос 3 . И где эту информацию можно почерпнуть? Опыт + чтение мануалов на используемый софт Цитата Вопрос 4 . Есть ли какая - нибудь литература (лучше не книги а статьи), где на примерах конкретных описывается процесс проектирования в среде ISE Design suite полностью? Начиная от VHDL описания и заканчивая внедрением проекта в ПЛИС Ищите книги зотова Цитата(bogaev_roman @ Sep 13 2010, 13:21)  В том смысле, что в старом ISE эта конструкция вообще была несинтезируема (сейчас по идее уже синтезируется т.к. dsp блоки появились). наличие dsp блоков, суть которых MULT/MAC/MULTADD/и т.д. никак не может влиять на поддержку честной операции деления, суть которой последовательное вычитание и сдвиг. А то что вы имеете в виду это замена деления на константу умножением на ее скалированную инверсию, что дает погрешность операции деления. Если в ISE это не синтезируется, значит разработчики ламеры, мало того что поддержку SV не могут допилить, так еще и синтезируемое подмножество V полностью не поддерживают
--------------------
|
|
|
|
|
Sep 14 2010, 05:58
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(AlexHoppus @ Sep 13 2010, 20:08)  Сейчас читаю цикл статей "Микропроцессор своими руками" и в перспективе хочу сделать тоже софт процессор. Интересует - есть ли ещё подобные статьи, где реализуют более полный вариант процессора? Я в универе учусь и мне интересно - разработка устройств под ПЛИС это вообще перспективное направление, стоит ли это ботать? Спасибо, что читаете мои статьи. У меня к Вам пара вопросов, ответите в личную почту? Как Вы нашли эти статьи? Что бы Вы еще хотели почитать? Где учитесь и какой курс? Теперь ответы. Возьмите книгу В.Зотова. Там написано, что и как делать в ISE. Если не найдете в сети, то у нас на сайте www.kit-e.ru смотрите его же статьи. Еще см. статьи Тарасова. Книгу Полякова... Или на сайте Ксайлинкса найдите видео-ролик об этом же... Про сайт опенсорез Вам уже написали. Там к каждому проекту есть описание. хотя и на англ... Удачи!
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 14 2010, 21:00
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 13-09-10
Пользователь №: 59 461

|
Спасибо всем, я не ожидал, что будет так много ответов, мне это очень помогло.
des333 Ваша ссылка почему-то при открытии выдает resource not found , а так было бы интересно посмотреть
iosifk
Отправил письмо Вам на почту.
|
|
|
|
|
Sep 15 2010, 08:47
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(des00 @ Sep 15 2010, 05:35)  хмм, это web книга или можно в офлайне читать ? Неужели Вы не зарегистрированы на Gigapedia.com? Рекомендую! Цитата(AlexHoppus @ Sep 15 2010, 09:24)  Вам тоже советую зарегистрироваться на Гигапедии.
--------------------
|
|
|
|
|
Sep 15 2010, 15:29
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 13-09-10
Пользователь №: 59 461

|
iosifkЯ ответил примерно следующее - Цитата Спасибо, что читаете мои статьи. Вам спасибо. Цитата Как Вы нашли эти статьи? Нашел ссылку на Вашу страницу на одном из форумов на этом сайте. Цитата Что бы Вы еще хотели почитать? Честно - затрудняюсь ответить пока. Цитата Где учитесь и какой курс? 3 курс МГТУ имБаумана yesСпасибо большое, буду читать.
|
|
|
|
|
Sep 15 2010, 21:29
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(Leka @ Sep 16 2010, 01:27)  Не процессор описывать, а программу для этого процессора. Как мне кажется, не самый первостепенный вопрос. Да пока и не вопрос вовсе. Для начала нужно с процом определиться. Или я не прав?  Лично я думаю для начала реализовать какую-нибудь существующую ISA, или несколько. А потом уже над своей подумать. Так для первого вопроса для тестирования асма хватит.
--------------------
|
|
|
|
|
Sep 16 2010, 05:36
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Leka @ Sep 16 2010, 01:37)  На ассемблере далеко не уехать, разве что побаловаться. на самом деле вопрос не в том, будет ли обязательно язык высокого уровня или нет. вопрос в том, чем занят данный процессор. Для каких задач он делался... Если это развитый управляющий автомат и не более, то, как показала моя практика, и ассемблера вполне достаточно. Тем более, что при правильном выборе набора команд, одна команда такого процессора будет заменять 2-4 команды стандартного. А более сложные обработки можно отдать во вспомогательные для данного процессора блоки - сопроцессоры. И там тоже обойтись только ассемблером. А вот если идет речь о "процессоре общего применения", то действительно, надо начинать с компилятора языка. И уже под него подгонять структуру процессора. Цитата(AlexHoppus @ Sep 15 2010, 19:29)  3 курс МГТУ имБаумана тогда до встречи на Чип-Экспо. Я там буду 26 и 27 на стенде Элтеха... Подробнее напишу в форуме. Пригласительные билеты, думаю, будут в офисе Элтеха...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 17 2010, 12:44
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(iosifk @ Sep 17 2010, 16:33)  А процессоры AVR - это нам не указ и не пример... А ведь их структура как раз и была подогнана под компилятор Си. И уже столько лет все довольны... И Атмел на этом как понялась!
а про АМД продолжить? Или и так все понятно... Один пример - это не показатель. И еще - не подскажите, у ARM структура тоже подогнана по компилятор? UPD. Судя по вступлению к этому документу: http://www.atmel.com/dyn/resources/prod_do...ts/COMPILER.pdfдело обстоит не совсем так. Цитата High Level Languages (HLLs) are rapidly becoming the standard methodology for embedded microcontrollers due to improved time-to-market and simplified maintenance support. In order to ensure that the new ATMEL AVR family of microcontrollers was well suited as a target for C compiler, the external C compiler development was started before the AVR architecture and instruction set were completed. During the initial development of the C compiler, several potential improvements in the AVR were identified and implemented. The result of this cooperation between the compiler developer and the AVR development team is a microcontroller for which highly efficient, high performance code is generated.
--------------------
|
|
|
|
|
Sep 17 2010, 18:44
|
Профессионал
    
Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118

|
Цитата LLVM - почитал немного, пишут, что для х86 результат = GCC +/- 10%, те революций не предвидится. И вспомнил, когда начинал разбираться с FPGA - ISE/Quartus весили по < 700Мбайт, сейчас > 4Гбайт, а результат синтеза/разводки - почти тот-же, и время синтеза - почти то-же (при неизменном железе). Что наблюдаем, сизифов труд компиляторописателей?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|