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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Использование блоков ОЗУ в ACEX 1K
НаноСБИС
сообщение Apr 30 2008, 11:32
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 15-07-07
Пользователь №: 29 127



Подскажите пожалуйста как в ACEX 1K использовать встроеные блоки ОЗУ?

Сообщение отредактировал НаноСБИС - Apr 30 2008, 11:35
Go to the top of the page
 
+Quote Post
mse
сообщение Apr 30 2008, 12:41
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



вроде так пашет в Квартусе
Код
module ramacex(we,oe,addr,data);
input    we;
input    oe;
input    [8:0] addr;
inout    [7:0] data;

lpm_ram_io0    b2v_inst(.we(we),
.outenab(oe),.address(addr),.dio(data));


endmodule

правда ещё надо Квартусовские файлики с билиотечными "выписками" добваить. Сгенерить визардом память и перегнать в ХДЛ.
Go to the top of the page
 
+Quote Post
НаноСБИС
сообщение Apr 30 2008, 13:37
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 15-07-07
Пользователь №: 29 127



В моем проекте достаточно много переменных, возможно ли их переместиь в блоки ОЗУ, чтобы они не занимали логические элементы кристала?

Сообщение отредактировал НаноСБИС - Apr 30 2008, 13:40
Go to the top of the page
 
+Quote Post
LordVader
сообщение Apr 30 2008, 13:48
Сообщение #4


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

Группа: Участник
Сообщений: 127
Регистрация: 18-10-06
Пользователь №: 21 418



Ещё можно написать чисто ХДЛ-ное описание синхронной памяти на 512 байт - квартус его в блоки ацекса отмапит. Правда, может и не отмапить, если заранее будет известно, что, например, из всего блока используются только байт 8.

Что-то вроде вот такого:

Код
module mem512( rdaddr, out, wraddr, in, we, clk );

input clk;
input [8:0] rdaddr, wraddr;
input we;
input [7:0] in;
output [7:0] out; reg [7:0] out;

reg [7:0] mem [0:511];

always @(posedge clk)
begin
    out <= mem[rdaddr];
    if(we) mem[wraddr] <= in;
end

endmodule
Go to the top of the page
 
+Quote Post
НаноСБИС
сообщение Apr 30 2008, 14:02
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 15-07-07
Пользователь №: 29 127



Как насчет переменных в ОЗУ?
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение Apr 30 2008, 20:26
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



Переменные в ОЗУ расположить конечно же можно, однако надо понимать, что из ОЗУ одновременно можно считать только одно слово, тоесть можно туда сложить только такие переменные, которые не используются одновременно, а только по очереди. Ну и просто запхнуть их в память, поставив какую-нибудь галочку в синтезаторе, не удасться, придется описывать это самому. Читабельность кода при этом конечно же пострадает, но думаю по сравнению с необходимостью последовательного доступа к переменным, это мааленькая неприятность smile.gif .
Go to the top of the page
 
+Quote Post
НаноСБИС
сообщение May 1 2008, 11:30
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 15-07-07
Пользователь №: 29 127



Спасибо за советы, что то попробывал, получилось.
Go to the top of the page
 
+Quote Post
bureau
сообщение May 1 2008, 12:42
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 625
Регистрация: 22-02-07
Пользователь №: 25 593



2 НаноСБИС - так расскажите что попробовали и что получилось...
Go to the top of the page
 
+Quote Post
Kostolomus
сообщение May 4 2008, 10:07
Сообщение #9


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

Группа: Свой
Сообщений: 80
Регистрация: 25-08-05
Пользователь №: 7 971



А что, в асексе есть встроенные блоки озу???? 01.gif
Go to the top of the page
 
+Quote Post
mse
сообщение May 4 2008, 10:44
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(Kostolomus @ May 4 2008, 14:07) *
А что, в асексе есть встроенные блоки озу???? 01.gif

Семён Семёныч!!!
Go to the top of the page
 
+Quote Post
НаноСБИС
сообщение May 5 2008, 06:20
Сообщение #11


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 15-07-07
Пользователь №: 29 127



Делаю дипломный проект по теме: "обнаружение сигналов на фоне помех". Сначало спроектировал, но достаточно много логических элементов занимает. Для хранения информации использовал переменные.
А в документации на ACEX1K нашел, что есть встроеные блоки ОЗУ и решил их задействоввать.


В ACEXе есть встроеные блоки памяти их также можно увидеть на Floorplan Editor.
Go to the top of the page
 
+Quote Post
Kostolomus
сообщение May 5 2008, 18:48
Сообщение #12


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

Группа: Свой
Сообщений: 80
Регистрация: 25-08-05
Пользователь №: 7 971



Цитата(mse @ May 4 2008, 14:44) *
Семён Семёныч!!!

Это в положительном или отрицательном смысле? beer.gif

Ну, вот специально пдфку скачал. Для точности. Есть там такие EABы, да. Их можно конфигурить как комбинаторику и как рам. Потому как архитектура такая. Лут - значит лут. Но вот выделенного блока рама, как например в циклонах, нету. Рам компилится или в еаб, или в ячейки вообще...
Go to the top of the page
 
+Quote Post
НаноСБИС
сообщение May 6 2008, 06:42
Сообщение #13


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 15-07-07
Пользователь №: 29 127



Можно посмотреть на сайте Altera там дана таблица семейств ПЛИСов. В одной из граф этой таблицы даны объемы встроеного ОЗУ.
Go to the top of the page
 
+Quote Post
mse
сообщение May 6 2008, 06:44
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(Kostolomus @ May 5 2008, 22:48) *
...Но вот выделенного блока рама, как например в циклонах, нету. Рам компилится или в еаб, или в ячейки вообще...

Семён Семёныч - 2.
;О)
"Up to 49,152 RAM bits (4,096 bits per EAB, all of which can be used without reducing logic capacity)"
Уж не знаю, щщитать ли ЕАБ выделенным блоком РАМ или нет, но чОрным по белому написано. Верю.
"The EAB is a flexible block of RAM, with registers on the input and output ports, that is used to implement common gate array megafunctions.
Because it is large and flexible, the EAB is suitable for functions such as multipliers, vector scalars, and error correction circuits. These functions
can be combined in applications such as digital filters and microcontrollers."
А что, в Цыклоне, или ещё где, РАМу нельзя пользовать как ЛУТ?
Только и разницы, что там РАМа асинхронная, а там - совсем наоборот.
Go to the top of the page
 
+Quote Post
Kostolomus
сообщение May 7 2008, 16:02
Сообщение #15


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

Группа: Свой
Сообщений: 80
Регистрация: 25-08-05
Пользователь №: 7 971



Цитата(mse @ May 6 2008, 10:44) *
Семён Семёныч - 2.
;О)

От семенсеменыча и слышу. А именно:
Цитата
"The EAB is a flexible block of RAM, with registers on the input and output ports, that is used to implement common gate array megafunctions.

То есть как хошь ее выворачивай. implement common gate array megafunctions - значит выполнять общие функции массива логики. Буквально. То, что она может работать как рам - счастливое совпадение.
Цитата
А что, в Цыклоне, или ещё где, РАМу нельзя пользовать как ЛУТ?
Только и разницы, что там РАМа асинхронная, а там - совсем наоборот.

Есть разница! В циклонах рама заточена под использование именно как рама. Двухпортовая, и блоками по 4к. Синхронная принципиально, асинхронную из нее не сделаешь. И еще ее много. И кроме этой рамы есть свои луты. Которые тоже могут быть рамой (надо же...).

Ладно, предлагаю кончить флудилище, а то подеремся еще... smile3009.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 02:50
Рейтинг@Mail.ru


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