时序逻辑设计之计数器

时序逻辑设计之计数器

基于XILINX BASYS 3板

时序逻辑基本概念

组合逻辑电路:二选一多路器、三八译码器

计数器基本概念

D端口送到Q端口需满足CK(时钟的)上升沿(0->1)出现,故D触发器具有存储特性–计数器。

在这里插入图片描述

50MHz 20ns(T=20ns)

500ms/20ns

500 000000/20=25000000

BIN:25位的值才能最大表示
在这里插入图片描述

设计一个4位加法器结构图

在这里插入图片描述

设计一个1s频率闪烁的LED灯

(亮灭各500ms)

源文件

module led_flash(
        Clk,
        Reset_n,
        Led
        );
    
    input Clk;
    input Reset_n;
    output reg Led;
    
    reg [24:0] counter;
    
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
    //低电平,清零,复位状态
        counter <= 0;
        // <=非阻塞赋值  
    else if(counter == 25000000-1)
        counter <= 0;
    else
        counter <= counter + 1'd1;
        
    always@(posedge Clk or negedge Reset_n)
         if(!Reset_n)
             Led <= 0;
         else if(counter == 25000000-1)
             Led <= !Led;
           
endmodule

测试激励文件

module led_flash_tb;

    reg Clk;
    reg Reset_n;
    wire Led;
    
    led_flash(
           .Clk(Clk),
           .Reset_n(Reset_n),
           .Led(Led)
           );
     initial Clk = 1;
     always #10 Clk = !Clk;
     
     initial begin
        Reset_n = 0;
        #201;
        Reset_n = 1;
        end
        
endmodule

管脚分配

set_property IOSTANDARD LVCMOS33 [get_ports Clk]
set_property IOSTANDARD LVCMOS33 [get_ports Led]
set_property IOSTANDARD LVCMOS33 [get_ports Reset_n]
set_property PACKAGE_PIN U16 [get_ports Led]
set_property PACKAGE_PIN V17 [get_ports Reset_n]
set_property PACKAGE_PIN W5 [get_ports Clk]

在这里插入图片描述

引脚分配表格
在这里插入图片描述

计数值与计数时间的关系

所得时间-1

4

0–1
1–2
2–3
3–0
0–1

计数器闪烁

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值