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

 
 
 
Reply to this topicStart new topic
> ISE 14.7 rom 2port, вместо одной банки рисует две.
bogaev_roman
сообщение Aug 8 2016, 08:23
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Описал для virtex6 чтение по двум портам на verilog из rom:
Код
reg [11:0] rom [2**10-1:0];
reg signed [11:0] output_data_sin,output_data_cos;
initial
      $readmemh("../sin_table.txt", rom, 0, 1023);

always @(posedge clk) begin
    output_data_sin <= rom[addr_sin_s];
    output_data_cos <= rom[addr_cos_s];
    end

В planahead после разводки наблюдаю две банки памяти. Собрал корку и подключил ее вместо этого описания:
Код
wire signed [11:0] output_data_sin,output_data_cos;
rom_2port rom(
.clka(clk),
.addra(addr_sin_s),
.douta(output_data_sin),
.clkb(clk),
.addrb(addr_cos_s),
.doutb(output_data_cos)
);

Функционал тот же, но банк один. Что я не так сделал?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Aug 8 2016, 09:33
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Код
always @(posedge clk) begin
    output_data_sin <= rom[{1'b0,addr_sin_s}];
    output_data_cos <= rom[{1'b1,addr_cos_s}];
end


Если хотите разные таблицы через 2 порта читать


Успехов! Rob.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 8 2016, 09:59
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Это старая багофича xst.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Aug 8 2016, 10:41
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(RobFPGA @ Aug 8 2016, 12:33) *
Если хотите разные таблицы через 2 порта читать

Там только четверть таблицы синуса и требуется читать из одной таблицы, но по разным адресам. Полностью синус и косинус формируются посредством дополнительной логики на адресации и выходных значениях.
Цитата
Это старая багофича xst.

Спасибо. Это утверждение справедливо и для двух-портовой RAM?
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 8 2016, 11:12
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(bogaev_roman @ Aug 8 2016, 13:41) *
Это утверждение справедливо и для двух-портовой RAM?
С RAM вроде бы всё нормально.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Aug 8 2016, 11:29
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(andrew_b @ Aug 8 2016, 14:12) *
С RAM вроде бы всё нормально.

Попробую, спасибо.
Go to the top of the page
 
+Quote Post
AJIEKCEu
сообщение Aug 11 2016, 03:46
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 314
Регистрация: 7-12-05
Пользователь №: 11 917



Есть документ: http://www.xilinx.com/support/documentatio..._7/xst_v6s6.pdf
Ориентируйтесь на страницу 251.
Для чтения с двух портов одной RAM не дублируя данные - сделайте два блока @always. На каждый порт - свой.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:28
Рейтинг@Mail.ru


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