реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> RAM с использованием разных .mif
Acvarif
сообщение Jul 3 2017, 05:48
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 844
Регистрация: 27-08-08
Пользователь №: 39 850



Имеется ROM
Код
entity moddata is

    generic
    (
        DATA_WIDTH : natural;
        ADDR_WIDTH : natural
    );

    port
    (
        rclk    : in std_logic;
        raddr    : in std_logic_vector ((ADDR_WIDTH - 1) downto 0);
        q    : out std_logic_vector((DATA_WIDTH -1) downto 0)
    );

end moddata;

architecture behavioural of moddata is

    subtype word_model is std_logic_vector((DATA_WIDTH-1) downto 0);
    type memory_mod is array(2**ADDR_WIDTH-1 downto 0) of word_model;

    signal rom_mod : memory_mod;

    attribute ram_init_file : string;
    attribute ramstyle of rom_mod : signal is "M9K, no_rw_check";
    attribute ram_init_file of rom_mod : signal is "modcossin256.mif";

begin

    process(rclk)
    begin
    if(rising_edge(rclk)) then
            q <= rom_mod(conv_integer(raddr));
    end if;
    
    end process;
    
end behavioural;

В данной ROM в качестве инициализатора используется файл modcossin256.mif
Но в основном проекте, в одном из режимов работы, требуется смена файла инициализации на другой (с другим содержимым).
Скажите пожалуйста как это можно сделать динамически - подменить файл в процессе работы, например в зависимости от состояния какого-то однобитного флага?
Или придется сделать два разных компонента ROM с разными .mif и в top-level по флагу включать в работу нужный компонент?

Сообщение отредактировал Acvarif - Jul 3 2017, 08:29
Go to the top of the page
 
+Quote Post
Swup
сообщение Jul 3 2017, 08:22
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 109
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Предложу другой вариант.
Положите обе ваши таблицы в одну ROM по очереди, и в читающем устройстве меняйте базовый адрес для чтения.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jul 3 2017, 08:28
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 844
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Swup @ Jul 3 2017, 11:22) *
Предложу другой вариант.
Положите обе ваши таблицы в одну ROM по очереди, и в читающем устройстве меняйте базовый адрес для чтения.

Точно. Спасибо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2017 - 00:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016