Цитата(MegaVolt @ Apr 28 2018, 14:17)

Я так понимаю AXI_interconnect занимается согласованием доменов.
В мой Slave компонент приходят такие сигналы:
Код
S_AXI_ACLK : in std_logic;
S_AXI_ARESETN : in std_logic;
S_AXI_AWADDR : in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
S_AXI_AWVALID : in std_logic;
S_AXI_WDATA : in std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
S_AXI_WSTRB : in std_logic_vector((C_S_AXI_DATA_WIDTH/8)-1 downto 0);
S_AXI_WVALID : in std_logic;
S_AXI_BREADY : in std_logic;
S_AXI_ARADDR : in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
S_AXI_ARVALID : in std_logic;
S_AXI_RREADY : in std_logic;
S_AXI_ARREADY : out std_logic;
S_AXI_RDATA : out std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
S_AXI_RRESP : out std_logic_vector(1 downto 0);
S_AXI_RVALID : out std_logic;
S_AXI_WREADY : out std_logic;
S_AXI_BRESP : out std_logic_vector(1 downto 0);
S_AXI_BVALID : out std_logic;
S_AXI_AWREADY : out std_logic
Предположим, что S_AXI_ACLK имеет частоту 100МГц
Вы хотите сказать, что я спокойно могу в своем компоненте работать на частоте 23.96МГц с этими сигналами и AXI_interconnect все разрулит? В нем уже есть 2 ряда D-триггеров в ту и другую сторону?
Собственно, у меня тогда три вопроса.
1. Если я вижу в названии сигналов впереди букву "А", я должен относиться к этому сигналу как к асинхронному и пропускать через 2 D-триггера работающие от моего клока?
2. Должен ли я свои выходные сигналы, сформированные от моего клока приводить к частоте AXI чреез 2 D-триггера или это забота AXI_interconnect?
3. Могу ли я ничего этого не делать, строя свой компонент таким образом, чтобы он целиком работал от частоты AXI?