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

 
 
> Использование блоков ОЗУ в 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
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 17)
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
vetal
сообщение May 7 2008, 16:28
Сообщение #16


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



2Kostolomus:
Вы переводите не совсем корректно и ставите акценты на альтернативных функциях. Когда вам пишут, что EAB это RAM, то и читать надо также.
2й абзац раздела Description: http://www.altera.com/products/devices/ace...amp;WT.oss=acex

Если вы прочитаете 2 абзац раздела из которого сделали выдержку в посте, то увидите что логика реализуется путем программирования в этот самый EAB маски. В доисторические времена таким же образом использовали ПЗУ и ОЗУ для реализации сложных функций.
Go to the top of the page
 
+Quote Post
dvladim
сообщение May 7 2008, 19:19
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Ну-у, не только в доисторические времена, а и сейчас.

Когда читал доки на Циклоны - то там указано количество умножителей (из них на блоках памяти).
И есть отдельный документ как реализуются разного типа умножители на памяти - вот там извращения по полной программе.
Go to the top of the page
 
+Quote Post
mse
сообщение May 8 2008, 05:36
Сообщение #18


Знающий
****

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



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

;О) А ещо там есть триггеры, которые(надо же...) тоже могут быть РАМой.
ЕАБ, кста, тоже по 4К, тоже реконфигурируется по ширине и, соотв, по глубине, тоже конфигурируеццо под дуал порт РАМ. Цуцлоне просто рождён пожже, в жестокой конкурентной борьбе, соотв, сделан по более тонкому процессу, соотв, в него напихано всякого больше, соотв, режимов работы у него больше и шире. Но логицки М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 Текстовая версия Сейчас: 19th July 2025 - 09:29
Рейтинг@Mail.ru


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