Например TDA7294

Форум РадиоКот • Просмотр темы - ram VHDL (Quartus)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт фев 03, 2026 11:49:37

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: ram VHDL (Quartus)
СообщениеДобавлено: Чт окт 25, 2012 18:24:26 
Родился
Аватар пользователя

Зарегистрирован: Вт мар 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;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ram VHDL (Quartus)
СообщениеДобавлено: Пт окт 26, 2012 07:32:23 
Мудрый кот
Аватар пользователя

Карма: 24
Рейтинг сообщений: 286
Зарегистрирован: Чт июн 10, 2010 08:55:35
Сообщений: 1810
Откуда: Сибирские Афины
Рейтинг сообщения: 0
А для какого чипа генерируете код?
Если ваша ПЛИС имеет встроенную SRAM, то, видать, квартус не распознал, что можно использовать встроенную память. И взялся строить память на LEшках.

Может воспользуетесь визардом, чтобы сделать блок памяти нужного размера в виде, который квартус нормально поймёт?

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ram VHDL (Quartus)
СообщениеДобавлено: Пт окт 26, 2012 07:45:42 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 143
Зарегистрирован: Сб фев 21, 2009 13:11:40
Сообщений: 1900
Откуда: Москва
Рейтинг сообщения: 0
+1. Пользуйтесь визардом Квартуса.

_________________
Ставим плюсы: )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ram VHDL (Quartus)
СообщениеДобавлено: Пт окт 26, 2012 09:02:26 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 52
Зарегистрирован: Чт дек 31, 2009 19:27:45
Сообщений: 842
Откуда: Бровари, Україна
Рейтинг сообщения: 0
Kavka писал(а):
А для какого чипа генерируете код?
Если ваша ПЛИС имеет встроенную SRAM, то, видать, квартус не распознал, что можно использовать встроенную память. И взялся строить память на LEшках.
А всё равно для какого. Все современные имеют синхронную блочную встроенную память, а тут описана асинхронная. Её в принципе иначе, чем на LE-шках не сделать.

serg130191, или +1 к генерации блока памяти визардом и его уже в проект вставлять, или в редакторе квартуса нажать кнопочку со свитком, там примеры кода. Найти пример и посмотреть как устроен код памяти, который а) возможен в принципе и б) квартус его гарантированно распознает.
Ещё смотрите документацию на сам квартус,
Chapter 11: Recommended HDL Coding Styles
Inferring Memory Functions from HDL Code

_________________
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: ram VHDL (Quartus)
СообщениеДобавлено: Пт окт 26, 2012 12:04:11 
Мудрый кот
Аватар пользователя

Карма: 24
Рейтинг сообщений: 286
Зарегистрирован: Чт июн 10, 2010 08:55:35
Сообщений: 1810
Откуда: Сибирские Афины
Рейтинг сообщения: 0
avreal писал(а):
А всё равно для какого. Все современные имеют синхронную блочную встроенную память, а тут описана асинхронная. Её в принципе иначе, чем на LE-шках не сделать.
:facepalm: Об этом я и не подумал.
Век живи - век учись! :)

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ram VHDL (Quartus)
СообщениеДобавлено: Сб окт 27, 2012 11:45:05 
Родился
Аватар пользователя

Зарегистрирован: Вт мар 27, 2012 21:13:19
Сообщений: 7
Рейтинг сообщения: 0
avreal писал(а):
или в редакторе квартуса нажать кнопочку со свитком, там примеры кода.

Точно, "Insert Tepmlate...", спасибо огромное, а то бы сам никогда не вспомнил. Ещё раз спасибо очень помогли.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y