Jump to content

    

andrew_b

Свой
  • Content Count

    2314
  • Joined

  • Last visited

Community Reputation

0 Обычный

1 Follower

About andrew_b

  • Rank
    Гуру

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

7941 profile views
  1. У вас неправильно сформирован rst3. В синхронизаторе можно использовать только выход второго триггера. Добавьте третий триггер в цепочку, формируйте rst3 из выходов второго и третьего.
  2. Добрый совет: не используйте инстанцирование компонентов через (.*). Это реальная обфускация кода. Тем, кто протащил эту шнягу в стандарт, 10 лет расстрела.
  3. Без разницы. В итоге должно получиться одно и тоже. RTL -- это как написано, так и показывает. Дальше в дело вступает оптимизатор, и смотреть надо после синтеза и разводки. Соревноваться в оптимизирующим компилятором бессмыссленно.
  4. Командную строку ядра можно посмотреть в файле /proc/cmdline.
  5. Пишите функцию, котора читает файл, и инициализируйте ею сигнал. type memory is array (511 downto 0) of std_logic_vector (15 downto 0); function read_mif_file (file_name : string) return memory is begin <function body> end; signal ram_data: memory := read_mif_file ("path/to/mem.mif"); Реализацию функции можете подсмотреть в модели мегафункции.
  6. "path/to/mem.mif" Но я упустил один важный момент: атрибуты предназначены для синтеза. Симулятор их игнорирует.
  7. Альтернативный путь -- это как раз запуск его изо всяких сред. Нормальный путь -- это запуск непосредственно из ОС. Абослютный путь к файлу -- это тупик. При переносе проекта на другую машину с другой структурой каталогов всё внезапно перестаёт работать. Относительный путь должен быть одинаковым и для симулятора, и для синтезатора. Поэтому тут нужна соответствующая структура проекта.
  8. https://electronics.stackexchange.com/questions/74277/what-is-this-operator-called-as-in-verilog/74285
  9. В задании же написано: Надо сделать логическую инверсию тех полей, которые не строковые и не целые.
  10. Лицензия тоже коммерческая?
  11. В SV для инстанцирования модулей встроили обфускатор .*. Радикально сокращает размер портов, но радикально же усложняет читаемость исходников.
  12. Верилог: стреляйте в ногу из гранатомёта. Казалось бы lim[1] <= sum <= PRD_MIN ? 1'b1 : 1'b0;