VHDL+LED控制器+50MHZ分频+例化
题目:设计一个LED控制器,能够控制LED以不同速度闪烁,具体要求如下:
要求:开关SW1做为多路输入端,当开关为高电平‘1’时,LED以1秒间隔闪烁(亮0.5秒,灭0.5秒循环往复)。当开关为低电平‘0’时,LED以10秒间隔闪烁(亮5秒,灭5秒循环往复)。
步骤
- 思路
- 一、必要器件
- 1.分频器
- 2.计数器
- 3.选择器
- 二、元件例化设计顶层
思路
先分别写出分频器,计数器,选择器,然后例化3个器件
提示:以下是本篇文章正文内容,下面案例可供参考
一、必要器件
1.分频器
代码如下(示例):
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity fenpin isport (clk50m:in std_logic;clk:out std_logic);
end entity;architecture fen of fenpin is
signal cnt: integer range 0 to 24999999;
signal clkout :std_logic;
beginprocess(clk50m)beginif clk50m'event and clk50m = '1' thenif cnt = 24999999 thencnt <= 0;clkout <= not clkout;elsecnt <= cnt + 1;end if;end if;end process;clk <= clkout;
end architecture;
2.计数器
代码如下(示例):
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity count is
port(clk1,rst:in std_logic;clk10: out std_logic);
end count;
architecture count10 of count is
signal cnt:integer range 0 to 4;
signal clkout :std_logic;
beginprocess(clk1)begin if rst='1' then cnt<=0;elsif rising_edge(clk1) thenif cnt = 4 thencnt<= 0;clkout <= not clkout;else cnt<=cnt+1;end if;end if;end process;clk10<=clkout;
end count10;
3.选择器
代码如下(示例):
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity mux is
port (sw :in std_logic;clk1:in std_logic;clk10:in std_logic;clkout:out std_logic);
end mux;
architecture mux21 of mux is
beginprocess(sw ,clk1,clk10)beginif sw='1' then clkout<= clk1;elseclkout<= clk10;end if;end process;
end mux21;
二、元件例化设计顶层
代码如下(示例):
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity leds is
port(clki,SW:in std_logic;clko:out std_logic);
end leds;
architecture led of leds is
signal u1,u2:std_logic;
component fenpin isport (clk50m:in std_logic;clk:out std_logic);
end component;
component count isport(clk1,rst:in std_logic;clk10: out std_logic);
end component;
component mux isport (sw :in std_logic;clk1:in std_logic;clk10:in std_logic;clkout:out std_logic);
end component;
beginfen:fenpin port map(clki,u1);cnt:count port map(u1,'0',u2);m:mux port map(SW,u1,u2,clko);
end led;
VHDL+LED控制器+50MHZ分频+例化相关推荐
- (11)VHDL例化system Verilog
(11)VHDL例化system Verilog 1.1 目录 1)目录 2)FPGA简介 3)VHDL简介 4)VHDL例化system Verilog 5)结语 1.2 FPGA简介 FPGA(F ...
- (09)VHDL例化VHDL
(09)VHDL例化VHDL 1.1 目录 1)目录 2)FPGA简介 3)VHDL简介 4)VHDL例化VHDL 5)结语 1.2 FPGA简介 FPGA(Field Programmable Ga ...
- (10)VHDL例化verilog
(10)VHDL例化verilog 1.1 目录 1)目录 2)FPGA简介 3)VHDL简介 4)VHDL例化verilog 5)结语 1.2 FPGA简介 FPGA(Field Programma ...
- (63)Verilog HDL模块例化VHDL模块
(63)Verilog HDL模块例化VHDL模块 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL模块例化VHDL模块 5)结语 1.2 FPGA ...
- clock wizard 生成VHDL例化
最近在使用clock wizard时,发现vivado 自动生成的ip例化文件是verilog的,但是项目是vhdl,经过多方设置仍然不能生成vhdl的ip核,最后发现只需要找到生成的vhdl例化文件 ...
- 数字系统课程设计——VHDL密码锁控制器
@数字系统课程设计 VHDL密码锁控制器 VHDL语言设计的密码锁控制器,模拟仿真平台为vivado 2018.(学生:慌慌和张张) 使用器材:Nexys4 DDR Artix-7 FPGA 设计软件 ...
- Verilog初级教程(7)Verilog模块例化以及悬空端口的处理
博文目录 写在前面 正文 按顺序排列的端口连接 按名称排列的端口连接 未连接/悬空端口处理 关于模块端口的说明 参考资料 交个朋友 写在前面 此系列相关博文: Verilog初级教程(6)Verilo ...
- FPGA(2)--例化语句--1位全加器
文章目录 一.实验目的 二.实验内容 三.实验设计 四.实验结果及仿真 一.实验目的 熟悉元件封装方法,掌握层次化电路设计方法:掌握VHDL例化语句的设计方法. 二.实验内容 1.用VHDL语言设计1 ...
- (91)FPGA模块例化(module)
(91)FPGA模块例化(module) 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA模块例化(module) 5)结语 1.2 FPGA简介 FPGA(Fi ...
最新文章
- 浅谈lambda表达式最通俗易懂的讲解
- 「云端 JavaScript 漫游指南」
- openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 四
- [转]使用DBX分析AIX 下的 CoreDump
- 阶段3 2.Spring_07.银行转账案例_4 编写事务管理工具类并分析连接和线程解绑
- Java中字符串的拼接和转义
- 小凡Dynamips 虚拟pc的使用
- pythonmt4通讯swot矩阵_SWOT矩阵分析法
- jsonp原理详解——终于搞清楚jsonp是啥了
- 我的博客今天启用了量子统计
- 相敏解调 matlab,Matlab-信号与系统实验
- 双十一,站在巨人的肩膀上囤最优秀的编程书
- UVM中的factory机制
- 风险偏好情绪提振,欧元低位延续反弹
- JavaScript基础之函数截流、防抖、柯理化
- 最后防线:三款开源HIDS功能对比评估
- c语言中switch结构,switch结构c语言
- 手机变蓝牙音响_能提升幸福感的几大3C数码配件推荐?有线变无线、居家办公神器...
- web全栈开发项目搭建整体思路和学习路线
- eclipse中输出时出现中文乱码的问题