Jump to content

    

xHDL.... А зачем оно надо? Растолкуйте, плз.

Случилось на работе заняться Альтерой.

 

В схемном редакторе Макс-плюса нарисовал схему: шинный интерфейс (девайс отображается на пространство памяти контроллера), модули обработки ШИМов, сигналов обратных связей от драйверов.

Симульнул, залил (FLEX 10K30), отладил - работает!!! Клок = 60МГц.

 

Зачем тогда нужет xHDL, если и без него можно успешно решать задачи. Не бейте сильно, просто новичек в данной теме, ... не понимаю :)

Share this post


Link to post
Share on other sites
Случилось на работе заняться Альтерой.

 

В схемном редакторе Макс-плюса нарисовал схему: шинный интерфейс (девайс отображается на пространство памяти контроллера), модули обработки ШИМов, сигналов обратных связей от драйверов.

Симульнул, залил (FLEX 10K30), отладил - работает!!! Клок = 60МГц.

 

Зачем тогда нужет xHDL, если и без него можно успешно решать задачи. Не бейте сильно, просто новичек в данной теме, ... не понимаю :)

 

Это вы поймете когда нарисуете и отладите например PCI.

Share this post


Link to post
Share on other sites

IMHO:

1) обеспечивается хоть какая-то переносимость исходных кодов между различными платформами (Xilinx, Altera, ...)

2) модно это нынче (писать на языках).

Подавляющее большинство как "фирменных" примеров реализации различных устройств (даже простых), так и писанных энтузиастами OpenCores, делается на xHDL.

Так что разбираться с xHDL все-равно придется.

Share this post


Link to post
Share on other sites
Это вы поймете когда нарисуете и отладите например PCI.

 

Может быть поясните, на чем будет "затык" при вводе и отладке схемы PCI в графическом редакторе. Что бы мне ее не рисовать впустую.

С каким траблом я столкнусь, и чем мне поможет xHDL?

Я догадываюсь, что может быть в xHDL проще реализуется поддержка больших проектов? Какие еще плюсы? ...

 

Наверное тема уже обсуждалась здесь много лет назад... Поиск у меня не работает :( - политика безопасности организации по доступу в и-нет.

Share this post


Link to post
Share on other sites
Может быть поясните, на чем будет "затык" при вводе и отладке схемы PCI в графическом редакторе. Что бы мне ее не рисовать впустую.

 

Формата A0 может не хватить мелким шрифтом :) А на HDL сотня строк.

Share this post


Link to post
Share on other sites
IMHO:

1) обеспечивается хоть какая-то переносимость исходных кодов между различными платформами (Xilinx, Altera, ...)

...

Подавляющее большинство ... так и писанных энтузиастами OpenCores, делается на xHDL.

Так что разбираться с xHDL все-равно придется.

 

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

 

При использовании xHDL "мы держим в голове" схему устройства, описывая ее текстом, или же там иная философия?

 

Что такое OpenCores?

 

Извините, что вопросы совсем уж чайницкие :)

 

Формата A0 может не хватить мелким шрифтом :) А на HDL сотня строк.

 

Можно использовать вложенные блоки, что я с успехом и делаю....

Share this post


Link to post
Share on other sites
При использовании xHDL "мы держим в голове" схему устройства, описывая ее текстом, или же там иная философия?

 

А это как нравится. Хотите - описывайте "схему", получится ручной ввод нетлиста, хотите делайте поведенческое описание, а синтезатор за Вас схему сам синтезирует, которая будет работать так, как Вы описали. А можете одно с другим мешать. Как нравится, и как для данного случая удобнее.

Share this post


Link to post
Share on other sites
1. А если не предполагается переносимость проекта? Например, в организации традиционно используют Альтеру... попытка применить Ксайлинкс будет сразу же пресечена :(

 

2. При использовании xHDL "мы держим в голове" схему устройства, описывая ее текстом, или же там иная философия?

 

3. Что такое OpenCores?

 

1. Но в будущем, может быть, Вы будете работать в другой организации :)....

 

2. Вы писали когда нибудь прграммы, т.е. Вы программист? xHDL приvерно тоже самое, что высокоуровневое программирование...

 

3. http://www.opencores.org

 

В любом случае, с любым из языков xHDL Вы сильно облегчите себе жизнь :) и будет намного проще устроиться на другую работу. Опыт никогда не бывает лишним!

Share this post


Link to post
Share on other sites

IMHO:

1) обеспечивается хоть какая-то переносимость исходных кодов между различными платформами (Xilinx, Altera, ...)

...

Подавляющее большинство ... так и писанных энтузиастами OpenCores, делается на xHDL.

Так что разбираться с xHDL все-равно придется.

 

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

 

При использовании xHDL "мы держим в голове" схему устройства, описывая ее текстом, или же там иная философия?

 

Что такое OpenCores?

 

Извините, что вопросы совсем уж чайницкие :)

 

Формата A0 может не хватить мелким шрифтом :) А на HDL сотня строк.

 

Можно использовать вложенные блоки, что я с успехом и делаю....

 

 

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

 

А Вы собираетесь всю жизнь на одну организацию работать?

А вдруг Altera(Xilinx,Actel, ...) разорится?

 

А если серьезно то все солидные конторы при приеме на работу требуют знания Verilog/VHDL (лучше оба). А иногда еще и SystemC.

Share this post


Link to post
Share on other sites
...

2. Вы писали когда нибудь прграммы, т.е. Вы программист? xHDL приvерно тоже самое, что высокоуровневое программирование...

...

 

Пишу проги на С/С++, сейчас вызвался позаниматься программируемой логикой.

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

Или я что-то не понимаю?

Share this post


Link to post
Share on other sites
Пишу проги на С/С++, сейчас вызвался позаниматься программируемой логикой.

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

Или я что-то не понимаю?

 

Элементарный пример: Чтобы сделать сумматор схемотехнически, нужно описать его как "пачку" XOR'ов, AND'ов, ORов. Чтобы сделать сдвигатель M-разрядного числа на N нужно MxN мультиплексоров 2:1. А на HDL первый опишется как a=b+c; а второй - как a = b << c;

Share this post


Link to post
Share on other sites
Элементарный пример: Чтобы сделать сумматор схемотехнически, нужно описать его как "пачку" XOR'ов, AND'ов, ORов. Чтобы сделать сдвигатель M-разрядного числа на N нужно MxN мультиплексоров 2:1. А на HDL первый опишется как a=b+c; а второй - как a = b << c;

 

Понял.

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

 

А компилятор, работая с HDL-исходником вообще пытается сгенерить цифровую схему, хотябы для репорта? Или же это не надо ни компилеру, ни HDL-программисту?

Share this post


Link to post
Share on other sites

Элементарный пример: Чтобы сделать сумматор схемотехнически, нужно описать его как "пачку" XOR'ов, AND'ов, ORов. Чтобы сделать сдвигатель M-разрядного числа на N нужно MxN мультиплексоров 2:1. А на HDL первый опишется как a=b+c; а второй - как a = b << c;

 

Понял.

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

 

А компилятор, работая с HDL-исходником вообще пытается сгенерить цифровую схему, хотябы для репорта? Или же это не надо ни компилеру, ни HDL-программисту?

 

Цифровую схемотехнику по любому надо знать хорошо. Иначе ничего путного не выйдет. xHDL только лишь средство описания. Лучше сразу прочитать пару-тройку книг по Verilog/VHDL. Там найдутся ответы на большинство Ваших вопросов.

Share this post


Link to post
Share on other sites
Понял.

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

 

А компилятор, работая с HDL-исходником вообще пытается сгенерить цифровую схему, хотябы для репорта? Или же это не надо ни компилеру, ни HDL-программисту?

 

В общем, с учетом сегодняшнего состояния дел с синтезаторами, не надо быть "гуру в области цифровой схемотехники". Но, с другой стороны, очень хорошо бы себе представлять, во что выльется та или иная конструкция языка. Где получатся защелки, где триггеры, где какая логика. Так что все таки знать цифровую схемотехнику надо, чтобы понимать, что где оптимальнее.

 

А схема обязательно генерируется, и именуется "нетлист". Где Ваше описание разложено на низкоуровевые примитивы той технологии, под которую синтезировали. Если FPGA - то LUT'ы, если ASIC - то примитивы из технологической библиотеки. И есть просмотрщики этого хозяйства в графическом виде. Однако если это что-то большое типа ядра процессора, то там черт ногу сломит.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this