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

 
 
> Quartus and Ram, EAB?
Vain
сообщение Jun 21 2006, 14:56
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 24-02-06
Пользователь №: 14 644



Джентельмены! Кто подскажет?
Есть своя память, написаная на VHDL без использования параметризированных модулей. Как заставить Quartus разместить эту память в ячейках EAB? Использование параметризированных модулей не предлагать.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rundll
сообщение Jun 23 2006, 15:18
Сообщение #2


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

Группа: Свой
Сообщений: 181
Регистрация: 24-05-06
Из: Россия, Таганрог
Пользователь №: 17 409



Цитата(des00 @ Jun 23 2006, 16:37) *
PS. Если кого обидел приношу извинения.


Можно было бы немного помягче cool.gif

Я обчитался этой документации! Грёбаный LPM я юзать не хочу, в ксилинсе использовать кор ген тоже. Остальная документация сторонних авторов, представляет описание, которое ну уж точно никуда не годится и является примитивной, например это с сайта Алтеры:

Код
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;

ENTITY ram IS
    GENERIC
    (
        ADDRESS_WIDTH    : integer := 4;
        DATA_WIDTH    : integer := 8
    );
    PORT
    (
        clock            : IN  std_logic;
        data            : IN  std_logic_vector(DATA_WIDTH - 1 DOWNTO 0);
        write_address            : IN  std_logic_vector(ADDRESS_WIDTH - 1 DOWNTO 0);
        read_address            : IN  std_logic_vector(ADDRESS_WIDTH - 1 DOWNTO 0);
        we            : IN  std_logic;
        q            : OUT std_logic_vector(DATA_WIDTH - 1 DOWNTO 0)
    );
END ram;

ARCHITECTURE rtl OF ram IS
    TYPE RAM IS ARRAY(0 TO 2 ** ADDRESS_WIDTH - 1) OF std_logic_vector(DATA_WIDTH - 1 DOWNTO 0);

    SIGNAL ram_block : RAM;
BEGIN
    PROCESS (clock)
    BEGIN
        IF (clock'event AND clock = '1') THEN
            IF (we = '1') THEN
                ram_block(to_integer(unsigned(write_address))) <= data;
            END IF;

            q <= ram_block(to_integer(unsigned(read_address)));
        END IF;
    END PROCESS;
END rtl;



Вот вы, des00, сами как SRAM описываете или вы используете мегафункции?


P.S. поиск по форуму выдал мне 40 топиков из них 3 близко тему, которая так и нераскрыта до конца smile.gif


--------------------
Не сломаешь - не поймешь!
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 23 2006, 15:57
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Rundll @ Jun 23 2006, 10:18) *
P.S. поиск по форуму выдал мне 40 топиков из них 3 близко тему, которая так и нераскрыта до конца smile.gif


соседняя ветка 4-ый топик сверху

http://electronix.ru/forum/index.php?showtopic=16946&st=15

там приведен пример асинхронной двухпортовки на переменных (не совсем корректный конечно, но для тех кто гордо несет флаг чистого ВХДЛ)

7 ой топик на той же странице под великолепным названием, который НИКАКОГО отношения к описанию памяти в квартусе не имеет.

память в VHDL, VHDL - Quartus
http://electronix.ru/forum/index.php?showt...%E0%EC%FF%F2%FC

все это ищеться даже без поиска

затем xilinx/doc/useenglish/books/docs/xst.pdf -> HDL Coding Techniques -> RAMs/ROMs -> и тут все что душе угодно
synplicity/fpga_8x/doc/reference.pdf -> VHDL Language Support-> RAM Inference

подозреваю что подобное есть и в доках на квартус

Желаю удачи


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:09
Рейтинг@Mail.ru


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