2 Asb - спасибо, почитаемс..
2 Postoroniy_V -
спецификации авалона читал, оттуда собно и узнал проWaitRequest и что он должен быть установлен до следующего rising_edge авалоновского клока.
И собственно говоря это я и получаю =>
Цитата
read_from_data_reg and (not data_now_prepared)
даёт нам установленный WaitRequest через 10 с копейками нс после выставления нужной комбинации (пока всё декодится и пройдёт через луты).
Далее, data_now_prepared устанавливается как раз после того как был импульс на clock_enable компонента:
delay_chain <= delay_chain(2 downto 0) & Read_request - это мы подгоняем наш Read_request под Input_clock.
далее, логика
Цитата
strobe <= (not delay_chain(2)) and delay_chain(1)
Выставляет нам строб, чтоб до rising_edge Input_clock он уже был установлен.
Ну а как раз после strobe будет идти delay_chain(3) что и будет знаком что данные готовы.
Итого - data_now_prepared привязана как раз к клокам Input_clock - так что пока Input_clock тикает, а оно тикает пока есть питание, то data_now_prepared будет выставлен всегда.
и того вроде как раз всё согласно картинке с спецификации авалона для работы с WaitRequest:
Так что получается что всё вроде сделано согласно тому как написано в документации.
Единственное что я пока заметил с вопиющего - data_now_prepared у меня привязана к Input_clock а не авалоновскому клоку, хотя по правилам нужно было перейти к авалоновском клоковому домену. Сегодня переработаю.. Но не ужели из-за этого оно всё и не работает ????