как реализовать ДФФ в Verilog?

N

newcpu

Guest
Привет,
Я хочу осуществить ДФФ в Verilog.И я знаю, этот метод в следующем:
Всегда @ (posedge CLK)
начинать
если (EN)
Q <= D;
еще
Q <= Q;
конец
Можем ли мы избежать "другое Q <= Q, Q <= Q;" с другим методом?
С уважением,
newcpu

 
Да, можно.Не стоит использовать эту строку в коде.Синтезатор понимаю этот код в D триггера:

Модуль D_flipflop (D, Q, часы, позволяющие);

ввод D;
ввод часы;
ввод позволить;

выходной Q;

р д;

Всегда @ (posedge часов), если начать (разрешить) Q = D; конца

ENDMODULE

 
Есть, чтобы действительно необходимы?

 
Нет, включать не требуется.Вы можете написать

Всегда @ (posedge CLK) Q <= D;

 
Чувак, попробуйте следующее:

Всегда @ (posedge CLK)
начинать
если (сбросить)
Q <= 1'b0;
еще
Q <= D;
конецДобавлено через 1 минуту:Чувак, попробуйте следующее:

Всегда @ (posedge CLK)
начинать
если (сбросить)
Q <= 1'b0;
еще
Q <= D;
конец

 
http://www.asic-world.com/examples/verilog/d_ff.html
Ссылка хорошая

 

Welcome to EDABoard.com

Sponsor

Back
Top