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

 
 
> Работа с BRAM Памятью на Хилинх
Iskatel
сообщение Apr 3 2011, 16:16
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 27-02-11
Пользователь №: 63 276



Помогите пожаилуста с BRAM

не могу сообразить что и как нужно делать чтобы Xilinx синтезатор MemoryNext как Block RAM организовал. Я понимаю что RAM двухпортовыи Read and Write, но мне надо два раза считать и два раза переписать его. А вот сделать этого не могу. Я думал что Синтезатор имеет определённую интелигенцию и понимает, что я одновреммено только в одном месте, считываю либо записываю в память, но я как видно ошибаюсь, и вместо BRAM синтезатор использует кучу регистров. Помогите пожайлуста
Мой код выглядит следуюшим образом:

type MemoryTyp is array (0 to StateNumber-1) of signed(MWidth-1 downto 0);
signal Memory : MemoryTyp := (others => (others =>'0')) ;
signal MemoryNext : MemoryTyp := (others => "10000000") ;
begin
Symbol_Read: process(Clock)
begin

if rising_edge(Clock) then
if (Flanke = '1') then
Counter <= Counter+1;
CopyBckEnbl <= '0';
--....
end if;
--.....
if(counter = RecivedBit) then -- RecivedBit == 2 bits Read
if (CopyBckEnbl = '0') then MN_Tmp <= MemoryNext(NEWSTATE); end if;-- 1 raz schitat

if(TaktCnt > 6 and TaktCnt < 14)then--14
if( MN_Tmp < LargestValue ) then
MemoryNext(NEWSTATE_1) <= LargestValue; end if; -- 1 once write
--......
end if;

if(TaktCnt = 13)then ---13
Counter <= 0;
TaktCnt <=0;
CopyBckEnbl <= '1';
else TaktCnt <= TaktCnt+1;
end if;
end if;

if ( CopyBckEnbl = '1' ) then
Memory(CBCnt) <= MemoryNext(CBCnt);end if; --2 read is a Copy back
if (CBCnt= 64)then CBCnt <= 0;
CopyBckEnbl <= '0';
SetEnbl <= '1';
else CBCnt <= CBCnt+1;
end if;
end if;

if ( SetEnbl = '1' ) then
MemoryNext(SetEnblCnt) <= ( "10000000"); -- 2 Write set a smallest value
--.......
if (SetEnblCnt= 64)then SetEnblCnt <= 0;
SetEnbl <= '0';
-- ..........
else SetEnblCnt <= SetEnblCnt+1;
end if;
end if;
end if;
end process Symbol_Read;
end Behavioral;
Go to the top of the page
 
+Quote Post



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

 


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


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