Перейти к содержанию
    

Аппаратная интерполяция за такт

19 minutes ago, Самурай said:

КО говорит, что он в названии архива:)))

хмм, вроде пробовал, щас еще раз попробую)

PS. Открыл, по записи двухпортовая память, по чтению четырехпортовая. 

				waddr_a		: in  STD_LOGIC_VECTOR (WIDTH_ADR-1 downto 0) := (others => '0');	-- адрес записи
				waddr_b		: in  STD_LOGIC_VECTOR (WIDTH_ADR-1 downto 0) := (others => '0');	-- адрес записи
				
				wea			: in  STD_LOGIC := '0';	-- разрешение записи
				web			: in  STD_LOGIC := '0';	-- разрешение записи
				
				din_a		: in  STD_LOGIC_VECTOR (WIDTH_WR-1 downto 0) := (others => '0');	-- входные данные
				din_b		: in  STD_LOGIC_VECTOR (WIDTH_WR-1 downto 0) := (others => '0');	-- входные данные
				
				raddr_0a	: in  STD_LOGIC_VECTOR (WIDTH_ADR-1 downto 0) := (others => '0');	-- адрес чтения
				raddr_1a	: in  STD_LOGIC_VECTOR (WIDTH_ADR-1 downto 0) := (others => '0');	-- адрес чтения
				raddr_0b	: in  STD_LOGIC_VECTOR (WIDTH_ADR-1 downto 0) := (others => '0');	-- адрес чтения
				raddr_1b	: in  STD_LOGIC_VECTOR (WIDTH_ADR-1 downto 0) := (others => '0');	-- адрес чтения
		   -- OUTPUTS
				dout_0a		: out  STD_LOGIC_VECTOR (WIDTH_RD-1 downto 0);	-- выходные данные
				dout_1a		: out  STD_LOGIC_VECTOR (WIDTH_RD-1 downto 0);	-- выходные данные
				dout_0b		: out  STD_LOGIC_VECTOR (WIDTH_RD-1 downto 0);	-- выходные данные
				dout_1b		: out  STD_LOGIC_VECTOR (WIDTH_RD-1 downto 0);	-- выходные данные
	

При этом доступ атомарный, не подходящий под бурсты, т.е. однократно чтение - ожидание - запись сработает, а если там пакет на 16 вхождений и длинна конвейера обработки 8 тактов, то будет конфликт) 

	process (wea, waddr_a, raddr_0a, raddr_1a)
	begin
		if wea = '1' then
			addr_0a_com <= waddr_a;
			addr_1a_com <= waddr_a;
		else
			addr_0a_com <= raddr_0a;
			addr_1a_com <= raddr_1a;
		end if;
	end process;

Т.е. архитектура памяти 2WR_4RD для одиночных транзакций. Ее можно масштабировать в 2WR_NRD (точно также как в ug Xilinx делает 1W_1/2/4/8RD память в слайсе). Но вот сделать 4WR_4RD уже не получится,  тем более под бурст. Пазл сошелся, а я уж было подумал что туплю)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Память 2WR_2RD, на основе разделения четных и нечетных адресов, работающая в пакетом режиме на бурстах  есть тут 

 смотреть файл rsc_dec_extr_ram.v благодаря ей прямой и обратный проход решетки алгоритма Max Log Map делается одновременно, без дополнительного сохранения контекста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 hours ago, des00 said:

Память 2WR_2RD, на основе разделения четных и нечетных адресов, работающая в пакетом режиме на бурстах  есть тут 

 смотреть файл rsc_dec_extr_ram.v благодаря ей прямой и обратный проход решетки алгоритма Max Log Map делается одновременно, без дополнительного сохранения контекста.

Подскажите пожалуйста файл rsc_dec_extr_ram.v в каком архиве/проекте? их у Вас там много)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, Maverick_ said:

Подскажите пожалуйста файл rsc_dec_extr_ram.v в каком архиве/проекте? их у Вас там много)))

Вроде ссылка была на конкретный пост с релизом турбокодека:rsc_release

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 hours ago, des00 said:

Вроде ссылка была на конкретный пост с релизом турбокодека:rsc_release

Спасибо...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...