XC9536 100 МГц Divider

B

brunoaduarte

Guest
Привет, у меня есть 100 МГц часах источником и хотим, чтобы разделить его на 11 получить 9,091 МГц и 22 для получения 4.54 МГц на различные мероприятия часы, как я могу это сделать?

Код:Модуль clkdiv (CLK, Q);

входного CLK;

производства Q;

рег [1:0] COUNT;

первоначальный COUNT = 0;

присвоить Q = COUNT [1];

всегда @ (posedge CLK)

начинать

COUNT = COUNT 1;

конец

endmodule

 
Я это. Джед файл для программирования моя XC9536XL, он делит 100 МГц часов на 11 и 22, но мне нужно добавить некоторые дополнительные схемы на нем.

Ли any1 знает, можно ли его разобрать?
Извините, но вам необходимо войти в аккаунт это вложение

 
Нечто вроде:

-модуль divby_11_22 (
- Ввод CLK,
-
Выходной by_11 р-он,
-
Выходной обл by_22
-);
-р [4:0] борьбы;
-всегда @ (posedge CLK)
- Начать
- Если (счетчик 5'd21 ==) борьбы <= 5'd0;
- Остальное борьбе <= противодействия 5'd1;
--
- / / Разделить по 11 часов в течение 5 высокой, низкой 6
- Если ((счетчик == 5'd0) | | (счетчик == 5'd11)
- By_11 <= 1'b1;
- Если (счетчик 5'd5 ==) | | (по борьбе 5'd16 ==))
- By_11 <= 1'b0;
--
- / / Разделяю на 22-11 является высоким, низким 11
- Если (счетчик == 5'd0) by_22 <= 1'b1;
- Если (счетчик 5'd11 ==) by_22 <= 1'b0;
--
- Конец
-endmodule

Это не проверял, но он выглядит работоспособной.Это не будет достаточно дать вам 50%
рабочий цикл о / 11 часов, но близко.
Вад

 
Спасибо, но он не работает путь он писал:

Попытка собрать его Xilinx ISE, verilog модуля, но получил ошибку:

Код:Модуль divby_11_22 (CLK, by_11, by_22);

входного CLK;

by_11 производства;

by_22 производства;рег [4:0] борьбы;

всегда @ (posedge CLK)

начинать

если (счетчик == 5'd21) борьбы с <= 5'd0;

остальное борьбе <= противодействия 5'd1;

/ / Разделить по 11 часов в течение 5 высокой, низкой 6

если ((счетчик 5'd0 ==) | | (по борьбе 5'd11 ==) by_11 <= 1'b1;

если (счетчик == 5'd5) | | (по борьбе 5'd16 ==)) by_11 <= 1'b0;/ / Разделяем на 22-11 высокой, 11 низкая

если (счетчик == 5'd0) by_22 <= 1'b1;

если (счетчик 5'd11 ==) by_22 <= 1'b0;

конец

endmodule

 
Это (с изменениями) копия компилируется корректно под Кью (на) rtus 8

//////////////////////////////////////////////
модуль теста (CLK, by_11, by_22);
ввод CLK;
рег by_11 производства;
рег by_22 производства;

рег [4:0] борьбы;
всегда @ (posedge CLK)
начинать
если (счетчик == 5'd21) борьбы с <= 5'd0;
остальное борьбе <= противодействия 5'd1;
/ / Разделить по 11 часов в течение 5 высокой, низкой 6
если ((счетчик 5'd0 ==) | | (по борьбе 5'd11 ==)) by_11 <= 1'b1;
если ((счетчик == 5'd5) | | (по борьбе 5'd16 ==)) by_11 <= 1'b0;

/ / Разделяем на 22-11 является высокая, низкая 11
если (счетчик 5'd0 ==) by_22 <= 1'b1;
если (счетчик 5'd11 ==) by_22 <= 1'b0;
конец
endmodule
////////////////////////////////////////////////// //////////

 
Ну, теперь он составлено, но оно не породило 2 часа мероприятия по имитации, как вы можете увидеть на прилагаемом изображении.
Извините, но вам необходимо войти в аккаунт это вложение

 
См. вложение для вывода из @ ltera моделирования.
Я не знаю, что сказать, за исключением того, что он выглядит как у нас есть тренажер дуэль происходит.
Уэйд Hassler
Извините, но вам необходимо войти в аккаунт это вложение

 
Я мигающих сигналов на XC с. Джед файл, он действительно работает ...Это генерации как 9 МГц и 4 МГц мероприятий.

К сожалению, там должны быть некоторые проблемы с моим тренажер ....

Спасибо!

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Очень веселый" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top