OpenCores
URL https://opencores.org/ocsvn/virtex7_pcie_dma/virtex7_pcie_dma/trunk

Subversion Repositories virtex7_pcie_dma

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 27 to Rev 28
    Reverse comparison

Rev 27 → Rev 28

/virtex7_pcie_dma/trunk/firmware/sources/pcie/dma_control.vhd
160,6 → 160,8
signal flush_fifo_40_s : std_logic;
signal dma_soft_reset_40_s : std_logic;
signal reset_global_soft_40_s : std_logic;
signal reset_register_map_40_s : std_logic;
signal reset_register_map_s : std_logic;
signal write_interrupt_40_s : std_logic;
signal read_interrupt_40_s : std_logic;
signal write_interrupt_250_s : std_logic;
595,6 → 597,8
bar0_v := bar0;
bar1_v := bar1;
bar2_v := bar2;
reset_register_map_40_s <= reset_register_map_s;
 
read_interrupt_40_s <= read_interrupt_250_s;
write_interrupt_40_s <= write_interrupt_250_s;
671,14 → 675,14
register_map_monitor_s <= register_map_monitor;
register_map_control <= register_map_control_s;
 
regrw: process(clkDiv6, reset, dma_soft_reset_40_s)
regrw: process(clkDiv6, reset, reset_register_map_40_s)
 
begin
if(reset = '1' or dma_soft_reset_40_s= '1') then
dma_soft_reset_40_s <= '0';
if(reset = '1' or reset_register_map_40_s='1') then
register_write_done_40_s <= '1';
register_read_done_40_s <= '1';
register_read_data_40_s <= (others => '0');
reset_register_map_s <= '0';
for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
dma_descriptors_40_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_dma => '0', evencycle_pc => '0', pc_pointer => (others => '0'));
end loop;
819,6 → 823,7
when REG_FIFO_FLUSH => register_read_data_40_s <= (others => '0');
when REG_DMA_RESET => register_read_data_40_s <= (others => '0');
when REG_SOFT_RESET => register_read_data_40_s <= (others => '0');
when REG_REGISTER_RESET => register_read_data_40_s <= (others => '0');
when others => register_read_data_40_s <= (others => '0');
944,11 → 949,12
-- REG_STATUS_6 is readonly
-- REG_STATUS_7 is readonly
-- REG_DESCRIPTOR_ENABLE is written at 250 MHz, see the process above.
when REG_FIFO_FLUSH => flush_fifo_40_s <= '1';
when REG_DMA_RESET => dma_soft_reset_40_s <= '1';
when REG_SOFT_RESET => reset_global_soft_40_s <= '1';
when REG_FIFO_FLUSH => flush_fifo_40_s <= '1';
when REG_DMA_RESET => dma_soft_reset_40_s <= '1';
when REG_SOFT_RESET => reset_global_soft_40_s <= '1';
when REG_REGISTER_RESET => reset_register_map_s <= '1';
when others => --do nothing
 
end case;
--Write registers in BAR1
elsif(register_write_address_40_s(31 downto 20) = bar1_40_s(31 downto 20)) then
978,7 → 984,7
int_vector_40_s(7).int_vec_data <= register_write_data_40_s(95 downto 64);
int_vector_40_s(7).int_vec_ctrl <= register_write_data_40_s(127 downto 96);
when REG_INT_TAB_EN => int_table_en_s <= register_write_data_40_s(NUMBER_OF_INTERRUPTS-1 downto 0);
when others =>
when others =>
end case;
--Write registers in BAR2
elsif(register_write_address_40_s(31 downto 20) = bar2_40_s(31 downto 20)) then
/virtex7_pcie_dma/trunk/firmware/sources/packages/pcie_package.vhd
159,6 → 159,7
constant REG_FIFO_FLUSH : std_logic_vector(19 downto 0) := x"00410";
constant REG_DMA_RESET : std_logic_vector(19 downto 0) := x"00420";
constant REG_SOFT_RESET : std_logic_vector(19 downto 0) := x"00430";
constant REG_REGISTER_RESET : std_logic_vector(19 downto 0) := x"00440";
-- BAR0 registers: end
 
--! Address Offset assignment

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.