目录
实验目的:
- 熟悉QuartusⅡ软件的使用方法,掌握EDA流程;
- 掌握基本时序逻辑电路的设计方法;
- 学会十进制加法计数器设计,为复杂时序逻辑电路的设计打基础。
实验预习:
- 掌握十进制加法计数器的设计原理;
- 同步、异步电路的实现;
- if语句的用法。
实验讲解1:
D触发器和锁存器的VerilogHDL描述:
module D_ff(D,clk,q); //D触发器
input D,clk;
output reg q;
always@(posedge clk)
q<=D;
end
endmodule
module latchl(D,clk,q); //锁存器
input D,clk;
output reg q;
always@(D or clk)
if(clk)
q<=D;
end
endmodule
锁存器与触发器的共同点:具有0 和1两个稳定状态,一旦状态确定,就能自行保持。一个锁存器/触发器能存储一位二进制码。
锁存器与触发器的不同点:锁存器---对脉冲电平敏感的存储电路,在特定输入脉冲电平作用下改变状态。触发器---对脉冲边沿敏感的存储电路,在时钟脉冲的上升沿或下降沿的变化瞬间改变状态。
语法点1:
时序标志性描述posedge clk:凡是边沿触发性质的时序元件必须使用posedge (negedge) clk,而不用此表述产生的时序电路都是电平敏感性时序电路。其中posedge clk 表示上升沿触发,而negedge clk 表示下降沿触发。
实验讲解2:
D触发器的设计
module d_ff(rst,D,clk,q);//异步
input rst,D,clk;
output reg q;
always@ (posedge clk or posedge rst)
begin
if(rst)
q<=0;
else
q<=D;
end
endmodule

module d_fft(rst,D,clk,q);//同步
input rst,D,clk;
output reg q;
always@ (posedge clk )
begin
if(rst)
q<=0;
else
q<=D;
end
endmodule