|
Делитель двух клоков с синхронизацией |
|
|
|
Sep 21 2015, 13:44
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(sergey sva @ Sep 21 2015, 15:05)  Т триггер всегда описывал так Код module tff_async_reset ( data , // Data Input clk , // Clock Input reset , // Reset input q // Q output ); //-----------Input Ports--------------- input data, clk, reset; //-----------Output Ports--------------- output q; //------------Internal Variables-------- reg q; //-------------Code Starts Here--------- always @ ( posedge clk or negedge reset) if (~reset) begin q <= 1'b0; end else if (data) begin q <= !q; end
endmodule //End Of Module tff_async_reset никогда с этим не было проблем ... может у Вас есть пересечение клоковых доменов?
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Sep 21 2015, 15:02
|
Гуру
     
Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923

|
Цитата может у Вас есть пересечение клоковых доменов? Все от одного клока тактируется по переднему фронту. Цитата а пути сигналов по кристаллу учитываются? Нет не учитывал, частота не высокая Кгц, не думал что это может влиять. Один момент на вход модуля делителя поступают два клока из другого устройства фаза этих сигналов гуляет произвольно. Убирается сигнал сброса в делителе, он должен захватить входные клоки и на входе выдать два клока /2 фаза которых должна быть такая же как у поступающих на вход. Если тригер использовать иногда происходит перескок.
|
|
|
|
|
Sep 22 2015, 05:05
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(sergey sva @ Sep 22 2015, 07:29)  Да. Сигналы не высокочастотные Кгц, а основной клок 120Мгц. Вот Вам и пересечение клоковых доменов Цитата(Golikov A. @ Sep 21 2015, 20:51)  always @(posedge clk) begin clock1 <= clock1_in; clock2 <= clock2_in; end т.е. здесь должно быть по 2 регистра
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Sep 22 2015, 05:45
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(sergey sva @ Sep 22 2015, 08:15)  Не совсем понял как сделать, последовательно два регистра ? смотреть здесьрисунок 3 И тогда делить на 2 (либо Ваша схема Т триггера) - на частоте кГц, а заводить на 120 Мгц уже деленную на 2. Это если я правильно понял Вас
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|