您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页CPLDFPGA应用设计课程设计

CPLDFPGA应用设计课程设计

来源:华佗养生网


太原理工大学现代科技学院

《CPLD/FPGA应用设计》 课程设计

设计题目: 多路彩灯控制器

专业班级: 姓 名: 学 号: 同 组 人: 指导教师:

太原理工大学现代科技学院

课程设计任务

专业班级 设计名称 学生姓名 1.5 课程名称 用设计 指导教 CPLD/FPGA应多路彩灯控制设计周数 器 根据设计要求可知,该系统有3个输入信号:基准时钟输入信号clk_in,系统复位信号,彩灯节奏快慢选择开关chose_key;共有8路输出信号led,分别用于控制器8路彩设计内容 灯。 该彩灯控制器分为两个模块:时序控制电路模块sxkz,产生节奏控制信号,设计方案选择基准时钟频率的1/8和1/16的时钟信号来改变节奏;显示控制电路sxkz模块,产生变化的花形信号。 设计要求 设计一个8路彩灯控制器,16种花形循环变化,有复位开关。并且可以选择快慢两种节拍 计算机、EDA软件(QuartusII6.0)、下载试验箱 设计条件 学生提交 归档文件 1、 2、 3、 4、 课程设计封面; 课程设计任务书; 设计总体思路,基本原理和框图; 总结与体会; 注:1.课程设计完成后,学生提交的归档文件应按照:封面—任务书—说明书—图纸的顺序进行装订上交(大张图纸不必装订)

2.可根据实际内容需要续表,但应保持原格式不变。

指导教师签名: 日期: 2013/5/27

一、实验目的

设计一个8路彩灯控制器,8种花形循环变化,由渐亮到渐暗。

有清0开关,并且可以选择快慢2种节拍。

二、实验原理

根据系统设计要求可知,整个系统共有3个输入信号:控制彩灯节奏快慢的基准时钟信号CLK-IN,系统清0信号CLR,彩灯节奏快慢选择开关CJOSE-KEY;共有8个输出信号LED,分别用于控制8路彩灯。

据此,可将整个彩灯控制器CDKZQ分为3大部分:时序控制模块SXKZ,产生节奏控制信号,设计方案选择产生基准时钟频率1/4和1/8的时钟信号来改变节奏;显示控制模块XSKZ,生成变化的花形信号,8种花形循环;顶层模块caideng,用来联系时序控制模块和显示控制模块。

三、实验设备

装有ispDesignEXPERT System的计算机一台、实验电路板和连线一

四.实验程序

library IEEE;

use IEEE.STD_LOGIC_11.ALL; use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM;

--use UNISIM.VComponents.all;

entity caideng is

port( clk: in std_logic; clr: in std_logic;

led: out std_logic_vector( 7 downto 0)); end caideng;

architecture Behave of caideng is

signal cnt: std_logic_vector( 3 downto 0);

begin

process(clr,clk) begin

if clr='0' then cnt<=\"0000\";

elsif clk'event and clk='1' then cnt<=cnt+1; end if; end process; process(cnt) begin

case cnt is

when \"0000\" => led<=\"11111111\"; when \"0001\" => led<=\"10111111\"; when \"0010\" => led<=\"11011111\"; when \"0011\" => led<=\"11101111\"; when \"0100\" => led<=\"11110111\"; when \"0101\" => led<=\"11111011\"; when \"0110\" => led<=\"11111101\"; when \"0111\" => led<=\"11111110\"; when \"1000\" => led<=\"00000000\"; when \"1001\" => led<=\"11111110\"; when \"1010\" => led<=\"11111101\"; when \"1011\" => led<=\"11111011\"; when \"1100\" => led<=\"11110111\"; when \"1101\" => led<=\"11101111\"; when \"1110\" => led<=\"11011111\"; when \"1111\" => led<=\"10111111\";

when others => led<=\"11111111\"; end case; end process; end Behave;

五.实验步骤

1.可编程逻辑器件的设计流程 2.建立设计项目

启动:在程序栏中选中Lattice Semiconductor ispEXPERT System下的ispDesignEXPERT System命令,进入ispDesignEXPERT System Project Navigator主窗口。左边为项目源窗口,有一个默认的项目标题金和器件,右边是相应源的处理过程窗口。

创建设计项目:在菜单File中选择New Project,自建设计目录E:\\caideng,输入项目名,并选择项目类型Schematic/VHDL,保存后项目管理窗口标题行显示新的设计项目E:\\caideng。

选择器件:双击默认器件ispLSI5356VE--165LF256,在Select Device对话框中选择ispLSI1 K Device项,在器件目录中找到并选中器件ispLSI 1016E。

3.VHDL源文件输入方法

建立项目:首先为设计建立新的设计项目,注意将项目存放在一目录中,项目类型选为Schematic/VHDL.

添加VHDL源文件:从源Source菜单下选择新建New,然后选择VHDL Module类型,输入文件名,实体名和结构体名,其中文件名和实体名相同,确认后进入VHDL编辑器。

编辑VHDL源文件:在文本编辑器中,存盘保存源文件。

VHDL

源文件的编译及综合:选择工具Tools菜单下的Synplicity

Synplify Synthesis,把输入的半加器VHDL源文件h-adder.vhd添加到综合器中,单击RUN按钮对VHDL文件进行编译,综合。若整个编

译,综合过程无错误,该窗口在综合过程结束时自动关闭。若在此过程中出错,双击错误ERRORS,根据提示修改并存盘,然后单击RUN按钮重新编译,显示Done表示通过。

4. 综合下载:编译成功后,插上电路板下载。

引脚锁定:VHDL实体的引脚锁定方法有多种,最直观简单的方法是,在项目管理器的处理过程窗口中选择Constraint Manager,进入属性编辑窗口后,双击左侧的输入,输出信号使其进入右侧属性编辑表中,在LOCK上单击鼠标右侧,选择EDIT,输入引脚号,编辑完成后存盘。

下载:选择工具Tools菜单下的ispDCD,然后扫描,浏览,运行。

六.实验仿真图

仿真波形图

综合编译成功

管脚图

实图

六.实验问题讨论及实验感想

在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。在应用VHDL的过程中让我真正领会到了其并行运行与其他软件(C语言)顺序执行的差别及其在电路设计上的优越性。用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务