Verilog сумніви

G

Guest

Guest
Як я можу написати код в Verilog пропускаючи два такти в той час,

(Т. е.) за кожні два такти висновок повинен йти високої
Прохання вказати погода там будь-яких умов, щоб отримати цю

 
Ви можете розділити вас годинник на 2.а потім використовувати ці години, щоб працювати СКТ.

 
Кожні два такти продукції йде високими для цього Verilog:

призначити г = 1'b1;

Так ви ніколи не вказано, коли потрібно йти низько ...

Серйозно, однако.Ваш англійська не ясно, від чого ви хочете, але я думаю, що ви або хочете це:

завжди @ (CLK posedge або negedge nrst)
якщо (~ nrst) г <= 1'b0;
ще р <= ~ г;

яка виходить кожен другий високої циклу

або це:

р [1:00] с;
призначити г = з [1];
завжди @ (CLK posedge або negedge nrst)
якщо (~ nrst) з <= 2'b00;
інше, якщо (з == 0) з <= 2'b10;
ще з <= C - 2'b01;

що є найнижчим показником за два цикли, то високо в третій цикл

 
Це те, що ви шукаєте .............
Сподіваюся це допоможе!
Код:

Модуль div3 (CLK, reset_n з);

вхід CLK, reset_n;

вихід з;

р [2:00] кол;

призначити з к-ть = [1];завжди @ (posedge CLK або negedge reset_n)

якщо (! reset_n)

к-ть <= 0;

ще

якщо (кол-во == 2'b10)

к-ть <= 0;

ще

к-ть <= к-ть 1;

endmodule / / div3
 
Ви хочете створити сигнал whivh йде високими за кожні 2 такту.
я думаю, що це код дає вам про це.

Модуль ех (CLK, скидання, вихід);
вхід CLK, скидання;
висновок CLK;

р прапором;

призначити з = прапор;

завжди @ (CLK posedge negedge або скидання)
починати
якщо (! скидання)
прапор <= 0;
ще
прапор <= ~ прапором;
кінець

endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top