D触发器的Verilog代码

D 拖鞋 是数字逻辑电路的基本组件。的Verilog代码 D触发器 在此项目中介绍。实现了两种类型的D触发器,它们是 上升沿D型触发器 和下降沿D型触发器。 

D触发器的Verilog代码


Verilog代码 对于上升沿D触发器:

// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Verilog代码 for rising edge D flip flop 
module RisingEdge_DFlipFlop(D,clk,Q);
input D; // Data input 
input clk; // clock input 
output Q; // output Q 
always @(posedge clk) 
begin
 Q <= D; 
end 
endmodule 

带有同步复位的上升沿D触发器的Verilog代码:

// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Verilog代码 for Rising edge D flip flop with Synchronous Reset input 
module RisingEdge_DFlipFlop_SyncReset(D,clk,sync_reset,Q);
input D; // Data input 
input clk; // clock input 
input sync_reset; // synchronous reset 
output reg Q; // output Q 
always @(posedge clk) 
begin
 if(sync_reset==1'b1)
  Q <= 1'b0; 
 else 
  Q <= D; 
end 
endmodule 

具有异步复位高电平的上升沿D触发器的Verilog代码:

// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Verilog代码 for Rising edge D flip flop with Asynchronous Reset high
module RisingEdge_DFlipFlop_AsyncResetHigh(D,clk,async_reset,Q);
input D; // Data input 
input clk; // clock input 
input async_reset; // asynchronous reset high level
output reg Q; // output Q 
always @(posedge clk or posedge async_reset) 
begin
 if(async_reset==1'b1)
  Q <= 1'b0; 
 else 
  Q <= D; 
end 
endmodule 

具有异步复位低电平的上升沿D触发器的Verilog代码:

// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Verilog代码 for Rising edge D flip flop with Asynchronous Reset Low 
module RisingEdge_DFlipFlop_AsyncResetLow(D,clk,async_reset,Q);
input D; // Data input 
input clk; // clock input 
input async_reset; // asynchronous reset low level 
output reg Q; // output Q 
always @(posedge clk or negedge async_reset) 
begin
 if(async_reset==1'b0)
  Q <= 1'b0; 
 else 
  Q <= D; 
end 
endmodule 

下降沿D型触发器的Verilog代码:

// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Verilog代码 for falling edge D flip flop 
module FallingEdge_DFlipFlop(D,clk,Q);
input D; // Data input 
input clk; // clock input 
output reg Q; // output Q 
always @(negedge clk) 
begin
 Q <= D; 
end 
endmodule 

具有同步复位的下降沿D触发器的Verilog代码:

// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Verilog代码 for Falling edge D flip flop with Synchronous Reset input 
module FallingEdge_DFlipFlop_SyncReset(D,clk,sync_reset,Q);
input D; // Data input 
input clk; // clock input 
input sync_reset; // synchronous reset 
output reg Q; // output Q 
always @(negedge clk) 
begin
 if(sync_reset==1'b1)
  Q <= 1'b0; 
 else 
  Q <= D; 
end 
endmodule 

具有异步复位高电平的下降沿D触发器的Verilog代码:

// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Verilog代码 for Falling edge D flip flop with Asynchronous Reset high
module FallingEdge_DFlipFlop_AsyncResetHigh(D,clk,async_reset,Q);
input D; // Data input 
input clk; // clock input 
input async_reset; // asynchronous reset high level 
output reg Q; // output Q 
always @(negedge clk or posedge async_reset) 
begin
 if(async_reset==1'b1)
  Q <= 1'b0; 
 else 
  Q <= D; 
end 
endmodule 

具有异步复位低电平的下降沿D触发器的Verilog代码:

// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Verilog代码 for Falling edge D flip flop with Asynchronous Reset low
module FallingEdge_DFlipFlop_AsyncResetLow(D,clk,async_reset,Q);
input D; // Data input 
input clk; // clock input 
input async_reset; // asynchronous reset low level 
output reg Q; // output Q 
always @(negedge clk or negedge async_reset) 
begin
 if(async_reset==1'b0)
  Q <= 1'b0; 
 else 
  Q <= D; 
end 
endmodule 

Verilog Testbench代码以模拟和验证D触发器:

`timescale 1ns/1ps;
// FPGA projects using Verilog/ VHDL 
// hzgifts.cn
// Verilog代码 for D Flip FLop
// Testbench Verilog代码 for verification
module tb_DFF();
reg D;
reg clk;
reg reset;
wire Q;

RisingEdge_DFlipFlop_SyncReset dut(D,clk,reset,Q);

initial begin
  clk=0;
     forever #10 clk = ~clk;  
end 
initial begin 
 reset=1;
 D <= 0;
 #100;
 reset=0;
 D <= 1;
 #100;
 D <= 0;
 #100;
 D <= 1;
end 
endmodule 

D触发器的仿真波形:

D触发器的Verilog代码

了解更多有关 触发器的建立和保持时间, 看看这个 这里.
推荐的 Verilog projects:
2. FIFO存储器的Verilog代码
3. 用于16位单周期MIPS处理器的Verilog代码
4. Verilog HDL中的可编程数字延迟计时器
5. 用于数字电路中基本逻辑组件的Verilog代码
6. 用于32位无符号除法器的Verilog代码
7. 用于定点矩阵乘法的Verilog代码
8. Verilog HDL中的车牌许可证识别
9. 提前进位乘法器的Verilog代码
10。 微处理器的Verilog代码
11。 4x4乘法器的Verilog代码
12 停车场系统的Verilog代码
13 使用Verilog HDL在FPGA上进行图像处理
14。 如何使用Verilog HDL将文本文件加载到FPGA中
15 交通信号灯控制器的Verilog代码
16。 FPGA上的闹钟的Verilog代码
17。 比较器设计的Verilog代码
18岁 D触发器的Verilog代码
19 Full Adder的Verilog代码
20 带testbench的计数器的Verilog代码
21 16位RISC处理器的Verilog代码
22 用于在FPGA上反跳按钮的Verilog代码
23。 如何为双向/输入端口编写Verilog Testbench
29。 复用器的Verilog代码
30岁  Verilog中的N位加法器设计
31。 Verilog和VHDL:通过示例解释
32。 FPGA上时钟分频器的Verilog代码
33。 如何在Verilog中生成时钟使能信号
34。 用于PWM发生器的Verilog代码
35岁 Verilog编码与软件编程
36。 Moore FSM序列检测器的Verilog代码
37。 Basys 3 FPGA上的7段显示控制器的Verilog代码
FPGA Verilog VHDL课程

没意见:

发表评论

热门FPGA项目