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