Зарегистрирован: Вт мар 27, 2012 21:13:19 Сообщений: 7
Рейтинг сообщения:0
Написал в Quartus озу на Vhdl, но проект, компилируется очень долго (при Functional Similation mode около 1ч 20 мин). Можно ли как-то ускорить процесс ?
КОД ОЗУ
Код:
КОД ОЗУ
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.numeric_std.all;
entity ram is generic( width_adr : integer:=12; width_data : integer:=12; depth : integer:=2**12 ); port( DATA_IN : in std_logic_vector(width_data-1 downto 0); ADR :in std_logic_vector(width_adr-1 downto 0); CS :in std_logic; WE : in std_logic; DATA_OUT : out std_logic_vector(width_data-1 downto 0) ); end ram; architecture beh of ram is type mem_ram is array(depth-1 downto 0) of std_logic_vector(width_data-1 downto 0); --Signal ram_el : mem_ram;
begin process(CS,WE) variable address: natural; variable ram_el : mem_ram; begin address:=to_integer(unsigned(ADR)); if(CS='1') then if (WE='1') then ram_el(address):=DATA_IN; else DATA_OUT<=ram_el(address); end if; end if; end process; end beh;
А для какого чипа генерируете код? Если ваша ПЛИС имеет встроенную SRAM, то, видать, квартус не распознал, что можно использовать встроенную память. И взялся строить память на LEшках.
Может воспользуетесь визардом, чтобы сделать блок памяти нужного размера в виде, который квартус нормально поймёт?
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
А для какого чипа генерируете код? Если ваша ПЛИС имеет встроенную SRAM, то, видать, квартус не распознал, что можно использовать встроенную память. И взялся строить память на LEшках.
А всё равно для какого. Все современные имеют синхронную блочную встроенную память, а тут описана асинхронная. Её в принципе иначе, чем на LE-шках не сделать.
serg130191, или +1 к генерации блока памяти визардом и его уже в проект вставлять, или в редакторе квартуса нажать кнопочку со свитком, там примеры кода. Найти пример и посмотреть как устроен код памяти, который а) возможен в принципе и б) квартус его гарантированно распознает. Ещё смотрите документацию на сам квартус, Chapter 11: Recommended HDL Coding Styles Inferring Memory Functions from HDL Code
_________________ Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
А всё равно для какого. Все современные имеют синхронную блочную встроенную память, а тут описана асинхронная. Её в принципе иначе, чем на LE-шках не сделать.
Об этом я и не подумал. Век живи - век учись!
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения