电器控制电路的设计和实现Verilog代码Vivado basys3开发板

名称:电器控制电路的设计和实现Verilog代码Vivado  basys3开发板(文末获取)

软件:Vivado

语言:Verilog

代码功能:

继电器控制电路的设计和实现

1设计目标

实现使用8个LEC灯当作继电器并进行控制。

2.设计内容

如下图,8个LED中近两个LED作为一组同时亮,以切换速率1s到切换到下一组循环,利用一个按键切换频率从1s换到2s

QQ图片20240106100534.png

1.流水灯的方向向左或向右都可以

2.管脚定义实验时给出

本代码已在basys3开发板验证,basys3开发板如下,其他开发板可以修改管脚适配:

basys3开发板.png

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚定义

5. Testbench

6. 仿真图

部分代码展示:

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2019/11/23 16:26:11
// Design Name: 
// Module Name: basys3_led
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//
module basys3_led(
    input clk_100M,
    input reset_p,//BTNU
    input switch,//SW0
    output [7:0] led
    );
//100M时钟分频到1Hz和0.5Hz
reg [31:0] count=32'd0;
reg clk_1Hz=0;//1Hz
reg clk_05Hz=0;//0.5Hz
always@(posedge clk_100M or posedge reset_p)
    if(reset_p)
        count<=32'd0;
    else
        if(count>=32'd100_000_000)//100M时钟计数100_000_000得1s
            count<=32'd0;
        else
            count<=count+32'd1;
always@(posedge clk_100M or posedge reset_p)
    if(reset_p)
        clk_1Hz<=0;
    else
        if(count>=32'd50_000_000)//100M时钟计数100_000_000得1s
            clk_1Hz<=1;//得到1Hz时钟
        else
            clk_1Hz<=0;
always@(posedge clk_1Hz)
    clk_05Hz<=~clk_05Hz;//2分频得到0.5Hz
wire clk_work;//工作时钟
assign clk_work=switch?clk_1Hz:clk_05Hz;//工作时钟在switch==1时为1Hz(1s),为0时为0.5Hz(2s)
reg [7:0] LED_buf=8'b11000000;
always@(posedge clk_work or posedge reset_p)
    if(reset_p)
        LED_buf<=8'b11000000;
    else
        LED_buf<={LED_buf[0],LED_buf[7:1]};//循环右移
assign led=LED_buf;//输出led
endmodule
源代码

 扫描文章末尾的公众号二维码

Basys3介绍: Digilent 的 Basys3 是一款采用 Xilinx Artix 7 FPGA 架构的入门级 FPGA 板,专门用于 Vivado 设计套件。 Basys3 是广受欢迎的 Basys 入门级 FPGA 板系列的最新成员。 Basys3 具有所有 Basys 板的标准特性:全套现成的硬件、大量板载 I/O 设备、所有必要的 FPGA 支持电路和免费版开发工具,且全部以学生价格提供。 Basys3原理图截图: Digilent 现在推出 Basys3,通过提升特性集为学生们带来更好的专业级工程代表产品。 这些改进包括: 更多 I/O: 双用户接口开关、双板载输出量、升级了外部端口(从 6 引脚、单排 Pmod 到 12 引脚、双排 Pmod)和 USB UART 桥接器。 现代编程的挑战: 由于从 Spartan 3E 系列到 Artix 7 类器件的迁移,Basys3 增加了大量硬件功能。 这款新型 Artix FPGA 器件逻辑单元提升了 15 倍(从 2,160 到 33,280),从倍增器升级到真正的 DSP 切片。 该器件的 RAM 还增加了 26 倍以上。 业内首款 SOC 加强型设计套件: 对 Basys3 的最大变化就是升级到 Xilinx Vivado 设计套件。 Vivado 设计套件是全球专业工程师使用的最先进设计工具链。 Vivado 凭借扩充的功能改进了 ISE 的用户体验,如与 Vivado IP 积分器的基于块的 IP 的集成,将开发时间减少到 1/10 的 Vivado 高级合成(仅可用于 Vivado 系统版),以及带 DSP 系统发生器的基于模型的 DSP 设计集成。 特性 5200 个切片有 33,280 的逻辑单元(每个切片包含四个 6 输入 LUT 和 8 个触发器) 1,800 Kb 的快速块 RAM 5 个时钟管理模块,每个都提供锁相环 (PLL) 90 个 DSP 切片 超过 450 MHz 的内部时钟速度 片载模转换器 (XADC) 16 个用户开关 16 个用户 LED 5 个用户按钮 4 位 7 段显示 4 个 Pmod 连接器3 个标准 12 引脚 Pmod 1 个双用途 XADC 信号/标准 Pmod 12 位 VGA 输出 USB UART 桥接器 串行闪存 用于 FPGA 编程和通信的 Digilent USB JTAG 端口 用于鼠标、键盘和记忆棒的 USB HID 主机 实物购买链接:https://www.eeboard.com/shop/?c=products&a=index&_k...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值