vugluskr 0 24 января, 2010 Опубликовано 24 января, 2010 (изменено) · Жалоба Делаю модель (несинтезируемую), возникла такая проблемка: Имеем требование для сигнала имеем базовую частоту с периодом Т, сигнал SDATA должен удерживаться до перехода SCLK в 1 минимум 5*Т и после перехода в 1 минимум 4*Т (см.картинку) Вопрос как проверить что данное требование при работе с моделью выполнено, и в противном случае осуществить,к примеру вывод ошибки, if ...... report "Error: SDATA/SCLK timing failure!" severity failure. Простые модели с инерционной и транспортными задержками тут не подходят - они просто фильтруют сигнал. Изменено 24 января, 2010 пользователем vugluskr Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vugluskr 0 24 января, 2010 Опубликовано 24 января, 2010 · Жалоба похоже ситуевину можно асертами разрулить http://www.stefanvhdl.com/vhdl/html/sram.html но вы делитесь опытом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vugluskr 0 24 января, 2010 Опубликовано 24 января, 2010 · Жалоба вроде вот так получается, кто как реализовал бы? ---------------------------------- TWO WIRE INTERFACE TIMING CONTROL -- START CONDITION CONTROL process begin wait until SCLK='1'; wait for ((T/2)*4); assert SDATA'DELAYED((T/2)*(5+4)) = SDATA report "SDATA SU mustbe>="& time'image(T*5) severity failure; assert (SDATA'DELAYED((T/2)*4)) = SDATA report "SDATA HOLD mustbe>="& time'image(T*4) severity failure; end process; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vugluskr 0 24 января, 2010 Опубликовано 24 января, 2010 · Жалоба вот список всех атрибутов signal-ов, которые могут быть полезны для написания несинтезируемых моделей (что очень необходимо для отладки своего кода): S'DELAYED(t) is the signal value of S at time now - t . S'STABLE is true if no event is occurring on signal S. S'STABLE(t) is true if no even has occurred on signal S for t units of time. S'QUIET is true if signal S is quiet. (no event this simulation cycle) S'QUIET(t) is true if signal S has been quiet for t units of time. S'TRANSACTION is a bit signal, the inverse of previous value each cycle S is active. S'EVENT is true if signal S has had an event this simulation cycle. S'ACTIVE is true if signal S is active during current simulation cycle. S'LAST_EVENT is the time since the last event on signal S. S'LAST_ACTIVE is the time since signal S was last active. S'LAST_VALUE is the previous value of signal S. S'DRIVING is false only if the current driver of S is a null transaction. S'DRIVING_VALUE is the current driving value of signal S. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 25 января, 2010 Опубликовано 25 января, 2010 · Жалоба Я, конечно, понимаю, что требуется VHDL, но, может, все-таки, перейти на Verilog? Там для этого все есть по дефолту. Блок specify, команда $setuphold. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vugluskr 0 25 января, 2010 Опубликовано 25 января, 2010 · Жалоба Я, конечно, понимаю, что требуется VHDL, но, может, все-таки, перейти на Verilog? Там для этого все есть по дефолту. Блок specify, команда $setuphold. соглашусь, НО это частность! VHDL позволяет творить модели более абстрактного уровня чем, verilog. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 25 января, 2010 Опубликовано 25 января, 2010 · Жалоба VHDL позволяет творить модели более абстрактного уровня чем, verilog. Сильно сказано :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vugluskr 0 25 января, 2010 Опубликовано 25 января, 2010 · Жалоба Сильно сказано :) ой, да когда речь заходит о сравнени verilog/vhdl доходит до мордобоя с кровавыми соплями поэтому я пытаюсь это дело обходить стороной. Я уверен и на этом форуме люди сцеплялись. Исторически сложилось так что, i love VHDL )) посему и выкручиваюсь его возможностями. Как говорят буддисты нужно стать мастером хотя бы в одном деле, прежде чем браться за другое. Поэтому если не исчерпан ресурс VHDL считаю не целесообразным менять инструмент (время переучки + время на исправление своего недопонимания дорогого стоит). Хотя я абсолютно уверен нужно знать оба языка (так же как програмерам использующим С, нужно иметь представление об asm) вот, что меня действительно удивляет так это то, что никто не видит косяка в моем примере по реализации сути этой ветки... печально Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 25 января, 2010 Опубликовано 25 января, 2010 · Жалоба Сдаётся мне, надо использовать VITAL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vugluskr 0 27 января, 2010 Опубликовано 27 января, 2010 · Жалоба Сильно сказано :) вот авторитетное мнение в поддержку моего высказывания: "My personal opinion is that Verilog is fine for RTL simulation and synthesis but a bit weak at board- and system-level modeling." book: ASIC AND FPGA VERIFICATION: A GUIDE TO COMPONENT MODELING, by Richard Munden, page. #19 я тоже считаю, что вшдл лучше для абстрагирования и моделирования и в тоже время позволяет последовательно переходить от абстрактного уровня к уровню модели транзакций шин идалее до rtl Сдаётся мне, надо использовать VITAL. может я чего-то не догоняю, но как с помощью ВИТАЛА просимулировать модель CMOS sensor, производства APTINA? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 27 января, 2010 Опубликовано 27 января, 2010 · Жалоба может я чего-то не догоняю, но как с помощью ВИТАЛА просимулировать модель CMOS sensor, производства APTINA? Ну вы же сами сказали, что нужно контролировать временные соотношения между сигналами. Впрочем, я сам VITAL как-то ни разу специально не использовал, поэтому могу ошибаться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 27 января, 2010 Опубликовано 27 января, 2010 · Жалоба вот авторитетное мнение в поддержку моего высказывания: "My personal opinion is that Verilog is fine for RTL simulation and synthesis but a bit weak at board- and system-level modeling." book: ASIC AND FPGA VERIFICATION: A GUIDE TO COMPONENT MODELING, by Richard Munden, page. #19 я тоже считаю, что вшдл лучше для абстрагирования и моделирования и в тоже время позволяет последовательно переходить от абстрактного уровня к уровню модели транзакций шин идалее до rtl не хочу ввязываться в полемику, спрошу намеком вы хоть что-то знаете про SystemVerilog? уже минимум как 5 лет шагает по планете, стыдно не знать %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vugluskr 0 27 января, 2010 Опубликовано 27 января, 2010 · Жалоба не хочу ввязываться в полемику, спрошу намеком вы хоть что-то знаете про SystemVerilog? уже минимум как 5 лет шагает по планете, стыдно не знать %) отвечу честно - пытаюсь избегать всего где есть слово verilog, единственное от чего не могу отвязаться это то, что некоторые производители (like Micron), делают модели на верилоге, посему работаю в смешанном режиме. Да по планете много чего шагает )) и знать всего не точно не стыдно, а и не нужно, я считаю что нету такой задачи, которую не выполнить с помощью vhdl. Вот если говорить в плоскости задачи этой ветки, чем верилог или системверилог лучше вшдл? Ведь получилось же вшдл-ем задачку то решить Ну вы же сами сказали, что нужно контролировать временные соотношения между сигналами. Впрочем, я сам VITAL как-то ни разу специально не использовал, поэтому могу ошибаться. я на самом деле сейчас разбираюсь досканально в примудростях витала, честно говоря, покамест не знаю как красиво решить (а красиво синоним просто) задачку. Я для ВШДЛбной модельки кмоп сенсора (идеальной) сделал wraper с кучей феничек контролирующий тайминги входных-выходных сигналов (в общем перевел тайминг даташит в вшдл), простой и эффективный метод и не надо в даташит смотреть мой врапер при нарушении таймингов и протоколов вылетает из симуляции с просьбой исправить ошибки или убится об монитор Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 27 января, 2010 Опубликовано 27 января, 2010 · Жалоба я считаю что нету такой задачи, которую не выполнить с помощью vhdl. Вот если говорить в плоскости задачи этой ветки, чем верилог или системверилог лучше вшдл? Ведь получилось же вшдл-ем задачку то решить вашу задачу можно и на ABEL е решить, но вы же почему то выбрали VHDL %) Знать всё не возможно и не нужно, но иметь представление о предмете, который хаете, нужно обязательно. В противном случае лучше отмолчаться %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vugluskr 0 27 января, 2010 Опубликовано 27 января, 2010 · Жалоба вашу задачу можно и на ABEL е решить, но вы же почему то выбрали VHDL %) ну батенька, разница между этими вещами как между С и ASM.... Верилог я ни в коей мере не хаю (упаси боже - я же писал не дай бог в такую полемику ввязаться), тем более что это любимая приблуда в США. В какойто степени это сила привычки. НО для унификации кода, компонентов, библиотек, которые пишутся и копятся годами у разработчика (у меня в частности) не имеет смысл менять перфоратор бош на перфоратор хитачи, пока не исчерпаны возможности перфоратора бош при неоспоримом и явном преимуществе последнего над первым придется менять )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться