ділять на п (5,7 ...) проти

L

logic_gate

Guest
привіт,

може хто-небудь будь ласка, дайте мені деяке уявлення про розділити на N (дивно: 5,7,9,11) лічильника.Мені потрібно проектування з використанням Verilog.

спасибі

 
Якщо ви шукаєте рішення, то загальний контроль
8254 чіп документації.Якщо вам потрібно конкретне рішення
а потім подивитися на довічного лічильника конструкції.наприклад.якщо вам потрібно розділити на 5
дизайн лічильник, який буде рахувати від 0 до 4 в bianary, як правило,
MSB MSB або другий з bianary буде надавати Вам
необхідно розділити CLK продукції.
Сподіваюся, що це допоможе!

 
Ось загальні розділити годинник породжений модуль!
Це створить нер 50% годинник для непарних значенням дільника
як і в 8254.
Сподіваюся це допоможе!
Код:

модуль дільника (

/ / Виведе

output_clk,

/ / Входи

CLK, reset_n, розділити

);

вхід CLK, reset_n;

вихід output_clk;

вхід [7:00] розриву;

р output_clk;

р [7:00] лічильника;

Дріт ЛД (ділення [0])? ((Output_clk)? (Лічильник == 1): (лічильник == 0))

: (Лічильник == 1);

завжди @ (posedge CLK або negedge reset_n) починають

якщо (! reset_n) починають

Лічильник <= 0;

output_clk <= 1'b0;

кінець ще початку

якщо (LD) починають

output_clk <= ~ output_clk;

Лічильник <= (1'b0, розділити [7:01]);

кінець ще

Лічильник <= лічильника - 1;

кінець

кінець

endmodule / / дільникмодуль контролю ();

р CLK;

р [7:00] розриву;

р reset_n;output_clk дроту;

дільник дільник (

/ / Виведе

. Output_clk (output_clk),

/ / Входи

. CLK (CLK),

. Reset_n (reset_n),

. Розриву (розриву [7:00]));

початковий почати

$ DumpFile ("wave.vcd");

$ Dumpvars ();

CLK = 0; reset_n = 0; розриву = 5;

# 33 reset_n = 1;

# 500 розділити = 10

# 500 розділити = 9;

# 500 розділити = 11;

# 500 розділити = 4;

# 500 $ оздоблення;

кінець

завжди # 5 CLK = ~ CLK;

endmodule / / Перевірка
 

Welcome to EDABoard.com

Sponsor

Back
Top