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

 
 
> Снова мастер для SOPC, с HDL
torik
сообщение Apr 25 2008, 11:04
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Всем привет. Как-то я тут говорил, что можно в квартусе 7.2 сделать мастер без HDL, чтобы сигналы типа write_n, read_n транслировались к модулю верхнего уровня. Хм... может я ошибся, они почему-то не лезут наврх.

Вот состряпал я тогда мастер на основе HDL файла, где эти сигналы транслируются на выход:

Цитата
module reader_mm (
avm_m0_address,
avm_m0_read_n,
avm_m0_readdata,
avm_m0_readdatavalid,
avm_m0_waitrequest,

i_addr,
i_r_n,
o_rdata,
o_rdatavalid,
o_wait
);

output [23:0] avm_m0_address; //это мастер
output avm_m0_read_n;
input [15:0] avm_m0_readdata;
input avm_m0_readdatavalid;
input avm_m0_waitrequest;

input [23:0] i_addr; //наружу
input i_r_n;
output [15:0] o_rdata;
output o_rdatavalid;
output o_wait;

assign avm_m0_address = i_addr;
assign avm_m0_read_n = i_r_n;
assign o_rdata = avm_m0_readdata;
assign o_rdatavalid = avm_m0_readdatavalid;
assign o_wait = avm_m0_waitrequest;

endmodule

Подобный же для записи.
И вот, собрал систему из такого модуля и on_chip памяти. Поглядел в симуляторе - читает.

- Но, во-первых, когда стал использовать его для чтения DDR, увидел что чтение не пакетами, а слово, ожидание, слово, ожидание... Как ему указать чтобы читал пакетами (в арбитраже выставляю скажем 50)?
- Во-вторых, я обратил внимание, что нету выбора глобального тактового. Не знаю нужен ли он, ведь тут только assign-ы. Или для генерируемой сопцом логики это необходимо - тогда как его задать? Не вкуриваю, напишите пожалуйста куда его в этом HDL прикрутить... Управление всеми сигналами идет по тактовому для памяти.











Вот добавляю я gls_clk, который как следует из доки будет распознан как глобальный сигнал - редактор компонентов его все-равно как slave найдет...
Он же глобальный, какой тут нахрен слейв?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Волощенко
сообщение Apr 28 2008, 18:50
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377



Цитата(torik @ Apr 25 2008, 14:04) *
Как-то я тут говорил, что можно в квартусе 7.2 сделать мастер без HDL, чтобы сигналы типа write_n, read_n транслировались к модулю верхнего уровня. Хм... может я ошибся, они почему-то не лезут наврх.

Тема интересная, но не понятно, зачем это все делается... Почему мастер? Работаем с NiosII или без?
Для slave port у меня, к примеру, такой заголовок (часть после второго комента для выхода в верхний модуль):
module a_input_buf (
//Signals from Avalon-MM slave port
csi_clockreset_clk, csi_clockreset_reset_n,
avs_s1_address, avs_s1_chipselect_n,
avs_s1_read_n, avs_s1_write_n,
avs_s1_writedata, avs_s1_readdata,
//Signals for input buf ADC-port
data_in, stat_in,
clk_in, bank_in,
adr_out, , stat_out
);
Все такты внутри этого модуля по csi_clockreset_clk, думаю, его через assign, можно вывести на верхний модуль.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:07
Рейтинг@Mail.ru


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