Разрядность подчиненного входа/выхода 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);