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

 
 
> Чтение данных из CPU в FPGA, vhdl
%-)
сообщение Nov 23 2009, 06:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



сигналы:
ce - выбор ПЛИС (активное 0)
we - запись в ПЛИС (активное 0)
d[7 downto 0] - данные которые надо записать в ПЛИС

как сделать простейшее чтение данных из шины процессора в ПЛИС на vhdl ?

наподобие как запись в SRAM
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SFx
сообщение Nov 23 2009, 06:22
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



а почему шина адреса не используется? все подряд данные собираетесь в плис гнать?
конструкцию модуля определяет не только входной, но и выходной интерфейс.
выходной интерфейс каким планируете ?
какое количество данных будете записывать в плис? как будете эти данные систематизировать?
Go to the top of the page
 
+Quote Post
%-)
сообщение Nov 23 2009, 06:57
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(SFx @ Nov 23 2009, 10:22) *
а почему шина адреса не используется? все подряд данные собираетесь в плис гнать?


да.

Цитата(SFx @ Nov 23 2009, 10:22) *
конструкцию модуля определяет не только входной, но и выходной интерфейс.
выходной интерфейс каким планируете ?


только запись в ПЛИС.

Цитата(SFx @ Nov 23 2009, 10:22) *
какое количество данных будете записывать в плис? как будете эти данные систематизировать?


нужно передавать байты данных в ПЛИС. один за другим.
ассертить cs в 0 на время всей передачи запрещается - щёлкать 1-0-1 для каждого байта.


Цитата(SM @ Nov 23 2009, 10:39) *
вот на верилоге. на вхдл сами переводите если очень надо, не люблю монстров. Только тут еще сигнал OE есть, который, наверное, вы забыли.

Код
module simple_reg (d, nce, noe, nwe);
  inout [7:0] d;
  input nce, nwe, noe;

  reg [7:0] rg;

  // latch data from bus by nwe low
  always @*
    if (!nce & !nwe) rg <=  d;

  // read to bus while nce & noe low
  assign d = (nce | noe) ? 8'hzz : rg;

endmodule


Перевёл:
Код
process
begin
if ce='0' and we='0' then
  rg<=d;
end if;
end process;

d<=(others => 'Z') when ce=1 or oe=1 else rg;


праильно?

что-то совсем всё просто получается... слыхал что по фронту нужно фиксировать данные, а не по уровню. кому верить?
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 23 2009, 07:04
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(%-) @ Nov 23 2009, 09:57) *
слыхал что по фронту нужно фиксировать данные, а не по уровню. кому верить?


Так расскажите побольше. Может и по фронту нужно у вас. Вы же сказали, "как в SRAM", я подразумевал, что как в асинхронную SRAM. А если по фронту, то еще и тайминги все рассказывайте. А может у вас там еще и к клоку надо все привести. В общем - телепаты в отпуске, каков вопрос, таков ответ.
Go to the top of the page
 
+Quote Post
%-)
сообщение Nov 23 2009, 07:17
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(SM @ Nov 23 2009, 10:04) *
Так расскажите побольше. Может и по фронту нужно у вас. Вы же сказали, "как в SRAM", я подразумевал, что как в асинхронную SRAM. А если по фронту, то еще и тайминги все рассказывайте. А может у вас там еще и к клоку надо все привести. В общем - телепаты в отпуске, каков вопрос, таков ответ.


зря обижаетесь. вашим ответом доволен. просто я сам не знаю какой тайминг подойдет лучше.

Скажу лучше процессор. ADSP BF533. Именно он будет слать данные. Через асинхронный банк

Setup=1 такт, we=1 такт , hold =0 тактов. Частота clk=133.3333 МГц

Не понятно по каким признакам вести запись(фронты или уровни?) sad.gif

Сообщение отредактировал %-) - Nov 23 2009, 07:19
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Nov 23 2009, 07:20
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(%-) @ Nov 23 2009, 11:17) *
зря обижаетесь. вашим ответом доволен. просто я сам не знаю какой тайминг подойдет лучше.

Скажу лучше процессор. ADSP BF533. Именно он будет слать данные. Через асинхронный банк

Setup=1 такт, we=1 такт , hold =0 тактов. Частота clk=133.3333 МГц

Не понятно по каким признакам вести запись sad.gif


Лучше привести внешние сигналы к глобальному клоку ФПГА + добавить цепочку триггеров для подавления метастабильности
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- %-)   Чтение данных из CPU в FPGA   Nov 23 2009, 06:08
- - SM   вот на верилоге. на вхдл сами переводите если очен...   Nov 23 2009, 06:39
- - SM   Вы сначала определитесь, что эти данные с выхода р...   Nov 23 2009, 07:20
- - dvladim   Цитата(%-) @ Nov 23 2009, 11:17)...   Nov 23 2009, 08:34
- - %-)   диаграммы ниже. отвечаю на вопросы от SM данные ...   Nov 23 2009, 08:37
- - SM   Тогда, наверное, надо работать по CLKOUT (если ПЛИ...   Nov 23 2009, 08:52
- - dvladim   Цитата(%-) @ Nov 23 2009, 12:37)...   Nov 23 2009, 09:03
- - Shivers   Смотря какие тайминги, и смотря как скорость ПЛИС....   Nov 23 2009, 09:46
|- - des00   Цитата(Shivers @ Nov 23 2009, 03:46) Смот...   Nov 23 2009, 10:43
|- - Shivers   Цитата(des00 @ Nov 23 2009, 13:43) при ра...   Nov 23 2009, 12:40
|- - des00   Цитата(Shivers @ Nov 23 2009, 06:40) Это ...   Nov 23 2009, 14:27
|- - Shivers   Цитата(des00 @ Nov 23 2009, 17:27) Вы одн...   Nov 23 2009, 14:49
- - SM   Ну вы бы асики-то не приплетали... Там все на так,...   Nov 23 2009, 14:55
|- - Shivers   Цитата(SM @ Nov 23 2009, 17:55) Ну вы бы ...   Nov 23 2009, 15:04
|- - SM   Цитата(Shivers @ Nov 23 2009, 18:04) Если...   Nov 23 2009, 15:06
- - dvladim   Цитата(Shivers @ Nov 23 2009, 16:40) Это ...   Nov 23 2009, 20:45
- - %-)   вот часть дизайна, которая перехватывает обращение...   Nov 23 2009, 23:13
- - BSV   Делал интерфейс с Блэкфином на Спартан 3. Использо...   Nov 24 2009, 01:11
|- - %-)   Цитата(BSV @ Nov 24 2009, 05:11) В коде и...   Nov 24 2009, 02:37
|- - des00   Цитата(%-) @ Nov 23 2009, 20:37)...   Nov 24 2009, 04:19
- - SM   Еще констрейны покажите. Исходника мало.   Nov 24 2009, 05:55
|- - %-)   Цитата(SM @ Nov 24 2009, 08:55) Еще конст...   Nov 24 2009, 06:44
|- - SM   Цитата(%-) @ Nov 24 2009, 09:44)...   Nov 24 2009, 07:13
- - SFx   констрейны - это ограничения, которые требуется вы...   Nov 24 2009, 07:18
|- - %-)   Цитата(SFx @ Nov 24 2009, 10:18) констрей...   Nov 24 2009, 07:22
|- - SM   Цитата(%-) @ Nov 24 2009, 10:22)...   Nov 24 2009, 07:25
|- - %-)   Цитата(SM @ Nov 24 2009, 11:25) Создаете ...   Nov 24 2009, 08:22
|- - SM   Цитата(%-) @ Nov 24 2009, 11:22)...   Nov 24 2009, 08:24
|- - %-)   Цитата(SM @ Nov 24 2009, 12:24) А дальше ...   Nov 25 2009, 05:46
- - dvladim   Цитата(%-) @ Nov 24 2009, 06:37)...   Nov 24 2009, 19:17
- - %-)   проблема почти полностью решена с помощью буфера м...   Nov 25 2009, 03:15
- - SM   для WE - если он заведен как тактовый сигнал creat...   Nov 25 2009, 11:22


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:42
Рейтинг@Mail.ru


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