Разрядность подчиненного входа/выхода AXI4

Я хотел бы кое-что понять об AXI4 и в настоящее время тестирую один пример в Vivado.

Вместо множителя (пример ниже) я использовал сумматор. Хотел иметь входы A, B и выход O битового типа. Но slv_reg0 — это 32-битный std_logic_vector.

  • Должны ли ведомые устройства AXI4 всегда иметь 32-битный ввод-вывод?
  • Каким на самом деле должен быть slv_reg0.
  • вход clk всегда необходим с AXI4?
  • как я должен отправить данные моему новому рабу? Я думаю, с другим Master/Slave?

благодарю вас

https://www.fpgadeveloper.com/2014/08/creating-a-custom-ip-block-in-vivado.html/ этот код следует вставить перед началом:

      signal multiplier_out : std_logic_vector(31 downto 0);

 

component multiplier

port (

  clk: in std_logic;

  a: in std_logic_VECTOR(15 downto 0);

  b: in std_logic_VECTOR(15 downto 0);

  p: out std_logic_VECTOR(31 downto 0));

end component;

и это должно войти в: -- Добавьте сюда пользовательскую логику

      
multiplier_0 : multiplier

port map (

  clk => S_AXI_ACLK,

  a => slv_reg0(31 downto 16),

  b => slv_reg0(15 downto 0),

  p => multiplier_out);

0 ответов

Другие вопросы по тегам