![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA
小狗爱晴天
这个作者很懒,什么都没留下…
展开
-
FPGA 闪烁LED
module LED( clk,led ); input clk; output[3:0] led; reg[25:0] count; reg[3:0] led; always@(posedge clk) begin count<=count+1; if(count==25'd25000000) begin led<=~led;原创 2016-01-22 11:03:37 · 1137 阅读 · 0 评论 -
FPGA BCD计数器(一位)
模块代码:module BCD_Count(Clk,Rst_n,Cin,Cout,q); input Clk; input Rst_n; input Cin; output reg Cout; output [3:0] q; reg [3:0] cnt; always@( posedge Clk or negedge Rst_n ) begin if( Rs原创 2016-01-30 20:46:22 · 1292 阅读 · 0 评论 -
FPGA 计数器
时钟:50MHz(周期为20ns)计数值:2500*2(由0到2499)计数周期:20ns*5000=100000ns=100us=0.1ms 模块代码:module counter(Clk,led,Rst_n); input Clk; input Rst_n; output reg led; reg [24:0] cnt; always@(原创 2016-01-30 14:16:30 · 1405 阅读 · 0 评论 -
FPGA 3-8译码器
模块文件代码:module decoder3_8(a,b,c,dout); input a,b,c; output [7:0] dout; reg [7:0] dout; always@(a,b,c) begin case( {a,b,c} ) 3'b000: dout=8'b0000_0001; 3'b001: dout=8'b0000_0010原创 2016-01-29 20:22:11 · 3685 阅读 · 0 评论 -
FPGA 二选一数据选择器
模块文件程序:module selector(a,b,key,led); input a; input b; input key; output led; assign led=(key==0)?a:b; endmodule testbench文件程序:`timescale 1ns/1psmodule selector_tb; reg原创 2016-01-29 19:04:29 · 9502 阅读 · 1 评论 -
FPGA 独立按键消抖
思路:状态机的思想,分4个状态:1.空闲状态,等待按键按下2.消除抖动状态1,用计数器延时5ms至10ms3.按键按下4.消除抖动状态2,用计数器延时5ms至10ms程序:module Key_Filter(Clk,Rst_n,Key_in,Key_flag,Key_state); input Clk; input Rst_n; input Key_in原创 2016-02-06 20:18:29 · 2436 阅读 · 0 评论 -
FPGA 按键控制数码管
module Digital(clk,key,dig,out); input clk,key; output dig; output[7:0] out; wire dig; reg[7:0] out; reg[4:0] count; assign dig=0; div(clk,clk_1khz); always@(posedge clk_1khz) begin原创 2016-01-27 15:18:27 · 7428 阅读 · 0 评论 -
FPGA 四或门
module or_gate( a,b,c,d,y ); input a,b,c,d; output y; assign y=a|b|c|d; endmodule原创 2016-01-27 14:09:56 · 1082 阅读 · 0 评论 -
FPGA 与门
module and_gate( a,b,y ); input a,b; output y; assign y=a&b; endmodule原创 2016-01-27 14:00:53 · 1417 阅读 · 0 评论 -
FPGA BCD计数器(多位)
将多个一位BCD计数器级联即可得到多位BCD计数器一位BCD计数器模块代码:module BCD_Count(Clk,Rst_n,Cin,Cout,q); input Clk; input Rst_n; input Cin; output reg Cout; output [3:0] q; reg [3:0] cnt; always@( posedge C原创 2016-01-30 22:24:31 · 1129 阅读 · 0 评论