Как сделать пользовательскую инструкцию N IOS II, которая может получить доступ к SDRAM? - PullRequest
0 голосов
/ 21 марта 2020

Как бы я сочетал какой-то интерфейс Avalon с пользовательской инструкцией, чтобы он мог обращаться к SDRAM? У меня уже работает SDRAM, а также у меня есть несколько пользовательских инструкций, написанных на Verilog. Но я не могу понять, как получить пользовательскую инструкцию, чтобы взять адрес (например, через dataa) и извлечь память, начиная с этого адреса, из SDRAM. В частности:

  1. Должна ли пользовательская инструкция иметь главный или подчиненный интерфейс Avalon? Я подумал мастер, но в (слишком сложном) примере, который я видел, был раб, поэтому я больше не уверен.
  2. Как мне убедиться, что он читает / записывает в соответствующий ведомый модуль памяти Авалона? Придется ли мне вручную вычитать базовый адрес SDRAM из любых указателей, которые я передаю?
  3. Как получить интерфейс пользовательских инструкций и интерфейс Avalon MM для совместного использования одних часов? Обе нужны часы, но пользовательской инструкции нужны часы, чтобы быть внутри их интерфейса, тогда как интерфейсу Avalon нужен отдельный интерфейс часов, с которым он связан.
  4. Как мне моделировать SDRAM в ModelSim?
  5. Будет ли это лучше построить выделенный аппаратный ускоритель? Как это будет отличаться от пользовательской инструкции? Честно говоря, я думал, что пользовательские инструкции уже считались аппаратными ускорителями, но, похоже, они означают разные вещи, хотя я не совсем уверен, что.
...