Jump to content

    

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

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

 

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

Большое спасибо, уважаемые коллеги, за ваше участие и ваши ответы!

 

Я получил ответ на свой вопрос в полной мере.

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