[an error occurred while processing this directive] [an error occurred while processing this directive]
У меня получилось нечто следующее:
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено SNN 07 мая 2002 г. 00:12
В ответ на: подскажите как реализовать синхронизатор шины с внуренним тактом отправлено yes 06 мая 2002 г. 14:58


//*****************************************************
module cc (cH, wr, cL, rst, go);

input cH; //такт шины (быстрый)
input wr; //сигнал записи
input cL; // медленный такт
input rst; // сброс
output go; // запись во внешнее устройство

reg A, AA, B, BB;
wire go;
//----------------------------------------------
always @(posedge cH)
begin
if (rst) A=0; else
begin
if(wr)
begin
if(B) AA = 1;
A= 1;
end
else
begin
if(B &(!BB)) A=0;
if(BB) AA=0;
end
end
end
//-----------------------------------------------
always @(posedge cL)
begin
if (rst) B=0; else
begin
B= A | AA ;
if(AA) BB=1; else BB=0;
end
end
//-----------------------------------------------
assign go= B;
//-----------------------------------------------
endmodule
//*****************************************************

P.S. Результат ес-но не гарантируется :)
Стандартных решений не припомню, вроде что-то подобное может быть в реализации двухпортового ОЗУ или FIFO.

Некоторые соображения:
1)Используя асинхронные входы можно сделать несколько проще.
2)Если допустим асинхронный выход (по отношению к медленному такту) проще поставить счетчик с предустановкой по wr и декрементом от такта шины.

На мой взгляд, в общем случае, это не совсем тривиальная задача. Интересно как Вы её решили?

С уважением
SNN

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru