Jump to content

    
Sign in to follow this  
MaxVetrov

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

Recommended Posts

Не могли бы Вы уточнить, правильно ли я понял:

 

1. ModelSim - утилита, входящая в комплект Квартуса?

2.Созданный entity заливается в кристалл, а тестовые воздействия,определенные в TestBench-файле, подаются прямо на синтезированныймодуль в кристалле?

3. Утилита ModelSim позволяет посмотреть реальный выход синтезированного модуля?

4.Какоу-нибудь дополнительное оборудование типа эмулятора/донжла и пр.надо иметь для работы с ModelSim'ом, или достаточно БайтБластераII?

5. ModelSim сам загружает entity в кристалл или требуется программный программатор, например Квартуса?

Нет, все неправильно. ModelSim -- это не утилита, это целый пакет (САПР). Это симулятор языков VHDL, Verilog, SystemC. Знаете, что такое симулятор? Он лишь позволяет программно проверить тот алгоритм, которыйбудет реализован в FPGA. К самой FPGA он имеет весьма опосредованноеотношение.

Share this post


Link to post
Share on other sites
Не могли бы Вы уточнить, правильно ли я понял:

 

1. ModelSim - утилита...

....

Нет, все неправильно. ModelSim -- это не утилита, это целый пакет (САПР). Это симулятор языков VHDL, Verilog, SystemC. Знаете, что такое симулятор? Он лишь позволяет программно проверить тот алгоритм, которыйбудет реализован в FPGA. К самой FPGA он имеет весьма опосредованноеотношение.

 

1. А что на входе ModelSim'а - выходной файл компилера, напр. квартуса?

 

2. Если ModelSim - симулятор, то зачем он нужен... ведь симулятор есть и в Квартусе :blink: .

Я поюзал симулятор в Макс-плюсе. В принципе все устраивает, кроме того, что не получилось смотреть сигналы по их именам, не получилось также цеплять пробы за что-то иное кроме пинов флип-флопов и регистров - неудобно. Но в принципе можно с этим жить. Вряд-ли в Квартусе симулятор хуже Макс-плюсного :unsure: .

ModelSim лишен этих недостатков?

Share this post


Link to post
Share on other sites
1. Ачто на входе ModelSim'а - выходной файл компилера, напр. квартуса?

На входе -- VHDL- или Verilog-исходники.

 

2. Если ModelSim - симулятор, то зачем он нужен... ведь симулятор есть и в Квартусе.

Если есть VisualStudio, зачем нужен C++Builder?

 

Симулятор симулятору рознь. Я всегда использовал только ModelSim, поэтому подробно про симулятор Квартуса рассказать не могу.

Share this post


Link to post
Share on other sites
1. А что на входе ModelSim'а - выходной файл компилера, напр. квартуса?

2. Если ModelSim - симулятор, то зачем он нужен... ведь симулятор есть и в Квартусе :blink: .

 

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

 

2. Симуляторы разные бывают. Квартус позволяет только руками нарисовать сигналы, подаваемые на тестируемый модуль, а модельсим, как и многие другие более продвинутые симуляторы, например Cadence IUS, позволяют использовать тест-бенчи, то есть модули, "исполнение кода" которых создает воздействие на тестируемый модуль, и эти же тест-бенчи проверяют правильность отклика модуля, получается, что кол-во ручной работы сводится к минимуму, и отпадает надобность в визуальном контроле форм сигналов, ну почти отпадает - только в процессе самого поиска "глюка", точнее его локализации.

Share this post


Link to post
Share on other sites

А как МоделСим разберется с исходником? У него есть свой синтезатор для целей симуляции?

 

Если да, то где гарантия, что отлаженный результат синтеза МоделСима будет соответсвовать загружаемому в камень результату синтеза Квартуса?

Share this post


Link to post
Share on other sites
А как МоделСим разберется с исходником? У него есть свой синтезатор для целей симуляции?

 

Если да, то где гарантия, что отлаженный результат синтеза МоделСима будет соответсвовать загружаемому в камень результату синтеза Квартуса?

 

А он не будет ничего синтезировать. Он будет симулировать то, что ему Вы подсунули. А гарантию обычно страховые компании дают. А соответствовать должно, если синтезатор (например квартуса) глюков не содержит, и переводит описание в эквивалентную ему схему, а не во что-то отвлеченное. И, как следствие, почти все ошибки произрастают именно из исходника, а не из процесса синтеза и размещения на кристалле. А те, что из синтеза-размещения, как правило отлавливаются статическим анализатором задержек без всякого моделячества.

Share this post


Link to post
Share on other sites
А как МоделСим разберется с исходником? У него есть свой синтезатор для целей симуляции?

 

Если да, то где гарантия, что отлаженный результат синтеза МоделСима будет соответсвовать загружаемому в камень результату синтеза Квартуса?

Дело в том, что при симуляции не обязательно синтезировать схему. Моделироваться может описание некоторого алгоритма на HDL (это может быть и не синтезируемо). HDL предоставляют более широкие возможности симуляции, чем симуляция синтезированной схемы.

Например, для начала, еще не зная, как будет реализован один из блоков проекта, но зная какие функции он будет выполнять, можно упрощенно описать алгоритм работы этого блока. Из этого упрощенного описания не нужно синтезировать соответствующую ему цифровую схему, зато можно использовать ПРИ МОДЕЛИРОВАНИИ как функционирующий блок внутри проекта. Таким же образом можно описать модели некоторых устройств вне кристалла, например, внешнюю память.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this