任务5.2 流水灯电路设计
流水灯是现代广告灯中普遍采用的一种控制技术,通过搭建不同的造型和选择某种点亮的颜色,结合按照一定规律的控制技术,便能产生色彩炫目的广告画面。流水灯的制作方法多样,可以是用软件控制的单片机,也可以是用标准逻辑芯片构成的数字电路。这里使用D触发器构成异步三位二进制计数器和3/8线译码器74138连接设计一个简单的8路流水灯电路。电路框图如图5-19所示。三位二进制计数器的输出与译码器的输入直接相连,利用外界时钟控制计数器状态自动改变,由此控制3/8线译码器的输出依次有效,从而达到流水灯的效果。

1.新建led 8工程和原理图文件led 8
2.输入设计电路

3.进行编译,至编译成功
4.功能仿真

5.引脚配置
引脚配置是将芯片与输入设备相连的引脚中选择若干合适的分配给设计的输入引脚使用,而将与输出设备相连的某些引脚分配给设计的输出引脚使用。考虑开发板系统时钟为50MHz,频率太高,不适合做3位异步二进制计数器的时钟,所以在这里加入一个分频模块,VHDL程序如下所示
Libraryieee;
useieeestd_logic_1164all;
useieeestd_logic_unsignedall;
entitycnt25 is
port(cp∶instd_logic;
clk∶outstd_logic);
endcnt25;
architecturebehave of cnt25 is
signalq1∶std_logic_vector(24downto0);
Begin;process(cp)
begin
if(rising_edge(cp))then
q1<=q1+1;
endif;endprocess;
clk<=q1(24);endbehave;
分配引脚具体操作如下:
选择Assignments中的pins项便打开引脚分配编辑窗口。其中默认有三个子窗口,上左为group窗口,显示了设计中的所有引脚信息;上右为使用的编程芯片的封装示意图;下方为allpins窗口,在此进行引脚分配。选中allpins窗口中的引脚列表的locations列中表格,输入芯片引脚序号,点击enter便分配好管脚,照此依次分配好其他引脚。分配好引脚后需要再编译一次,才能将引脚锁定信息编译进编程下载文件中。此后就可以准备将编译好的sof文件下载到实验系统的FPGA中。

