年底 网站备案,设计公司管理制度,腾讯轻量应用服务器建站模板,自媒体平台是什么意思一、设计实验目的
1#xff0e; 了解数码管显示模块的工作原理。
2#xff0e; 熟悉VHDL 硬件描述语言及自顶向下的设计思想。
3#xff0e; 掌握利用FPGA设计6位数码管扫描显示驱动电路的方法。
二、实验设备
1. PC机
2.Cyclone IV FPGA开发板
三、扫描原理
下图所…一、设计实验目的
1 了解数码管显示模块的工作原理。
2 熟悉VHDL 硬件描述语言及自顶向下的设计思想。
3 掌握利用FPGA设计6位数码管扫描显示驱动电路的方法。
二、实验设备
1. PC机
2.Cyclone IV FPGA开发板
三、扫描原理
下图所示为1位数码管由a、b、c、d、e、f、g、dp共8个LED构成通过点亮特定的LED即可显示相应的字符。 多位的数码管由多个1位数码管构成如下图所示为4位数码管。为了简化接口电路多位数码管的段码a,b,c,d,e,f,g,dp通常并联在一起并增加另外的位选信号如下图中DIG4,DIG3,DIG2,DIG1来选择使能某一位数码管。位选信号以一定的频率循环使能每一位数码管从而实现多位字符的显示。 四、设计任务
1. 编写VHDL程序在开发板的数码管上显示自己学号的末6位数字。
2. (可选)在实现用数码管显示数字的基础上结合实验一与实验二的内容修改程序实现一个上升沿触发、异步清零的计数器。具体要求
1在数码管上显示当前的计数值。
2触发计数器的时钟频率为1Hz即计数值每1秒加1该时钟通过分频得到。
3异步清零通过按钮实现。
五、设计要求
1在Quartus中用VHDL语言编写程序设计合适的分频器电路和6位数码管扫描驱动电路仿真验证后下载至开发板验证设计功能。
2开发板上有6位共阳极数码管即段码a,b,c,d,e,f,g,dp输入为0时对应的LED亮输入为1时对应的LED灭。位选信号上图中DIG开发板原理图中SEL为低有效。自行查看核心板及扩展板原理图来选择正确的引脚进行绑定。
六、解构
示例代码分享
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;entity ledtest is
port(clk : in std_logic;dig : out std_logic_vector(7 downto 0);ds : out std_logic_vector(5 downto 0));
end ledtest;architecture a of ledtest issignal cnt1 : integer range 0 to 31;signal cnt2 : std_logic_vector(9 downto 0);signal cnt1k : integer range 0 to 7;signal clk1m,clk1k : std_logic;begin--clk div by 50process(clk)beginif clkevent and clk1 thenif cnt125 thencnt1 cnt11;elsecnt1 0;clk1m not clk1m;end if;end if;end process;--clk div by 1024process(clk1m)beginif clk1mevent and clk1m1 thencnt2 cnt2 1;end if;end process;clk1k cnt2(9);--ds scanprocess(clk1k)beginif clk1kevent and clk1k1 thenif cnt1k5 thencnt1k cnt1k 1;elsecnt1k 0;end if;end if;end process;with cnt1k selectds111110 when 0,111101 when 1,111011 when 2,110111 when 3,101111 when 4,011111 when 5,111111 when others;with cnt1k select dig10000010 when 0,10010010 when 1,10011001 when 2,10110000 when 3,10100100 when 4,11111001 when 5,11000000 when others;-- dp g f e d c b a -- 0 -- 11000000-- 1 -- 11111001-- 2 -- 10100100-- 3 -- 10011001-- 4 -- 10011001-- 5 -- 10010010-- 6 -- 10000010-- 7 -- 11111000-- 8 -- 10000000-- 9 -- 10010000 end a;
按照笔者前文进行相应联合Modelsim仿真编译后进行引脚分配
怎样仿真编译
给你一个链接自己看
基于Quartus Prime18.1的安装与FPGA的基础仿真联合Modelsim教程-CSDN博客
6.1 引脚分配 FPGA 的用户 I/O 通常很多用户可以自行指定各个引脚的功能。但是当 FPGA 器件已焊在 PCB 板上时需要根据这些引脚在 PCB 上与其它元器件和设备的连接来指定其用途具体操作如下 首先需要在任务窗口中双击 Analysis Syntheis完成综合。也可以 Compile Design 编译整个工程。 只有综合通过后开发环境才能识别出整个设计的输入输出引脚 如果不综合打开下方的引脚分配窗口将看不到任何端口名(Node Name) 菜单 Assignments-Pin PlannerCtrlShiftN打开引脚分配窗口 注意原先的引脚项是白色无设置的如
需要进行相应引脚的接入本次实验共阳极所以引脚如下在对应clk一行后Location双击选择对应的Pin引脚 上方是对应的引脚图编辑后变色 6.2 下载 PC 连接 USB 下载线安装好驱动。(手动选择驱动文件位置文件路径为 Quartus 安装路径下的 drivers 文件夹 看好上方路径双击打开quartus--drivers下载编译驱动程序DPInst.exe 点击下一步会出现部分无法安装不用担心可以正常往下做点击完成 开发板插好下载线开发板上有 2 个下载接口插到 JTAG 上 插好电源按下电源开关开发板上电。先插好下载线再上电否则容易烧坏芯片 双击 Tasks 栏里的 Program Device一般会自动打开编译生成的 led.sof 文件如果没有则删除列表里的其它下载文件打开 led.sof勾选 Program/Configure其它都不打勾 点击左上 Hardware Setup选择 USB-Blaster[USB-0]OK 确认下方显示将下载的器件为 EP4CE15F17如果不是点击 Auto Detect 确认全部都设置好以后点击 Start。右上方进度条开始前进直到提示程序下载完成 100%(Successful)即可在开发板上通过按钮测试程序的效果 七、测试结果 更改数字即从下方代码逆序更改顺序显示 任务完成