首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

模式切换控制电路设计Verilog代码vivado ego1开发板

  • 24-03-18 04:03
  • 4416
  • 6516
blog.csdn.net

名称:模式切换控制电路设计Verilog代码vivado  ego1开发板(文末获取)

软件:vivado 

语言:Verilog

代码功能:

利用 Verilog3HDL设计一个逻辑控制电路、用于对某备进行模式切换控制、设备模式共三种,控制方式为

直通模式:高电平为直通有效、接地为直通无效

跳频模式:接地为跳频模式有效,高电平跳频无数

调谐模式:接地为调谐模式有效、高电平调谐无效

设备的同一时刻只有且必颊有一个模式有效,其他两个无效,为防止同时个模有效、模式切换之间应有较小的延时,利用按键作为三种模式切换输入(按键最有消除扦动的措施

设计要求:

(1)编写源程序

(2)给出仿真电路团和仿真波形图

 (3)开发板实物验证

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

开发板.jpg

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. Testbench

6. 仿真图

部分代码展示:

module mode_ctrl(
input clk,//时钟
input rst_p,//复位
input key_1_in,//按键1
input key_2_in,//按键2
input key_3_in,//按键3
output reg [2:0] mode //输出模式,led显示
);
wire key_1;//消抖后按键1
wire key_2;//消抖后按键2
wire key_3;//消抖后按键3
//按键消抖
reg key_1_buf0;
reg key_2_buf0;
reg key_3_buf0;
reg key_1_buf1;
reg key_2_buf1;
reg key_3_buf1;
//延迟计数器
reg [7:0] cnt_base=8'd0;
always@(posedge clk or negedge rst_p)
    if(rst_p)
       cnt_base <= 8'd0;
    else
       cnt_base <=  cnt_base + 8'd1;
//输出
always@(posedge clk)
   if(cnt_base==8'hff)begin//延迟计数后采样
        key_1_buf0 <=  key_1_in;
key_2_buf0 <=  key_2_in;
key_3_buf0 <=  key_3_in;
end
//触发器打拍
always@(posedge clk)
begin
   key_1_buf1 <=  key_1_buf0;//触发器打拍
   key_2_buf1 <=  key_2_buf0;//触发器打拍
   key_3_buf1 <=  key_3_buf0;//触发器打拍   
end
assign key_1=key_1_buf0 & !key_1_buf1;//消抖后按键1
assign key_2=key_2_buf0 & !key_2_buf1;//消抖后按键2
assign key_3=key_3_buf0 & !key_3_buf1;//消抖后按键3
always@(posedge clk or negedge rst_p)
begin
if(rst_p)
mode<=3'b000;//复位
else
if(key_1)//按键1
mode<=3'b100;//指示模式1
else if(key_2)//按键2
mode<=3'b010;//指示模式2
else if(key_3)//按键3
mode<=3'b001;//指示模式3
end
endmodule
源代码

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

FPGA代码设计学习资料
微信公众号
FPGA代码设计资料
注:本文转载自blog.csdn.net的hudezaiwu的文章"https://blog.csdn.net/xiakunpei123/article/details/135302382"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

123
硬件开发
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top