|
Параллельно запись/чтение в/из памяти ?, Как сделать ? |
|
|
|
 |
Ответов
|
Nov 30 2007, 22:27
|

Знающий
   
Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045

|
Почитайте мой предыдущий пост - я его немного поправил. Если устройство на которое пойдут 24 бита не предполагает управления потоком (например, не м.б. занято), то FIFO не нужно ИМХО. Тут же самый обычный конвейер - каждые 3 такта (только со сдвижкой на 1 такт) будете получать на выходе слово. В общем, как-то так (сбросы если где-то нужны - сами добавьте, и порядок байт в слове проверьте) Код process (CLK) begin if (CLK'event and CLK = '1') then if (IN_WE = '1') then RA <= IN; RB <= RA; RC <= RB; CNT <= CNT + 1; end if; OUT_WE <= CNT(1) and not CNT(0); end if; end process; process (CLK) begin if (CLK'event and CLK = '1') then if (OUT_WE = '1') then R_OUT <= RA & RB & RC; end if; end if; end process; CLK_OUT <= not OUT_WE;
--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
|
|
|
|
|
Nov 30 2007, 22:56
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(BSV @ Dec 1 2007, 02:27)  Почитайте мой предыдущий пост - я его немного поправил. Если устройство на которое пойдут 24 бита не предполагает управления потоком (например, не м.б. занято), то FIFO не нужно ИМХО. Тут же самый обычный конвейер - каждые 3 такта (только со сдвижкой на 1 такт) будете получать на выходе слово. В общем, как-то так (сбросы если где-то нужны - сами добавьте, и порядок байт в слове проверьте) Код process (CLK) begin if (CLK'event and CLK = '1') then if (IN_WE = '1') then RA <= IN; RB <= RA; RC <= RB; CNT <= CNT + 1; end if; OUT_WE <= CNT(1) and not CNT(0); end if; end process; process (CLK) begin if (CLK'event and CLK = '1') then if (OUT_WE = '1') then R_OUT <= RA & RB & RC; end if; end if; end process; CLK_OUT <= not OUT_WE; спасибо. Требования к duty cycle есть - обязано быть 50% +/- 10%
|
|
|
|
Сообщений в этой теме
Саша Z Параллельно запись/чтение в/из памяти ? Nov 28 2007, 21:06 rezident Вы вроде начинаете работать с ПЛИС? Вот и познаком... Nov 28 2007, 21:37 yuri_d Применить Dual Port RAM можно, но это напоминает с... Nov 28 2007, 22:30 skv Цитата(yuri_d @ Nov 29 2007, 01:30) Приме... Nov 30 2007, 12:08  Саша Z Цитата(skv @ Nov 30 2007, 16:08) Схема и ... Nov 30 2007, 21:26 Саша Z Спасибо, это действительно вариант, вроде просто.
... Nov 29 2007, 15:01 sazh Цитата(Саша Z @ Nov 29 2007, 18:01) Спаси... Nov 29 2007, 15:42  Саша Z Цитата(sazh @ Nov 29 2007, 19:42) Обычно ... Nov 29 2007, 22:15   AlexB Цитата(Саша Z @ Nov 30 2007, 02:15) Что и... Nov 29 2007, 23:05 BSV Что Вы все так рветесь прикрутить еще один тактовы... Nov 30 2007, 21:46 Саша Z Цитата(BSV @ Dec 1 2007, 01:46) Что Вы вс... Nov 30 2007, 21:58  BSV Цитата(Саша Z @ Dec 1 2007, 00:58) Значит... Nov 30 2007, 22:04   Саша Z Цитата(BSV @ Dec 1 2007, 02:04) Верно, то... Nov 30 2007, 22:20 Саша Z Цитата(BSV @ Dec 1 2007, 02:27) Почитайте... Dec 3 2007, 16:09 BSV А с генерацией выходного клока разобрались? Кстати... Dec 3 2007, 21:12 Саша Z Цитата(BSV @ Dec 4 2007, 01:12) А с генер... Dec 3 2007, 21:33
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|