数字电路课程设计VHDL语言文本输入设计.docx
《数字电路课程设计VHDL语言文本输入设计.docx》由会员分享,可在线阅读,更多相关《数字电路课程设计VHDL语言文本输入设计.docx(15页珍藏版)》请在冰豆网上搜索。
数字电路课程设计VHDL语言文本输入设计
石家庄铁道大学
数字电路课程设计
——VHDL语言文本输入设计汽车尾灯
学院:
信息科学与技术学院
班级:
计0805—2班
数字电路课程设计:
VHDL语言文本输入设计
——汽车尾灯控制电路
一、需求分析
1、功能描述
设计一个汽车尾灯控制电路,汽车尾部共有六盏指示灯,左右各三盏,分别为LD1、LD2、LD3,RD1、RD2、RD3。
具体能能如下:
1.1汽车正常行驶时,所有指示灯都不亮;
1.2汽车左转时L1闪烁;
1.3汽车右转时R1闪烁;
1.4汽车刹车时L2和R2同时亮;
1.5汽车夜间行驶时L3和R3同时亮。
2、实现工具
2.1用VHDL语言文本形式输入;
2.2使用MAX+pluxII进行语言编写、时序仿真和综合。
二、设计思想
采用自顶向下的设计方式,分层进行设计。
设计分为四个模块进行:
主控模块、定时器模块、左侧尾灯控制模块和右侧尾灯控制模块。
顶层设计可完全独立于目标器件芯片物理结构的硬件描述语言。
使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。
1、顶层原理框图
2、具体功能实现
2.1主控模块
图2:
主控模块框图
2.2时钟定时器模块
只有LD1和RD1有闪烁功能,因此定时器模块只控制这两个尾灯。
框图如下:
2.3左转尾灯和右转尾灯功能
图4:
转向功能框图
2.4刹车功能
刹车功能对应的尾灯为LD2和RD2,框图如下:
2.5夜间行驶功能
夜间行驶功能对应的尾灯为LD3和RD3,框图如下:
图6:
夜间行驶功能框图
三、设计过程
1、建立工程
建立个一个Project,命名为weideng。
将各个模块生成的文件放在同一个文件夹下。
2、文本输入
将各个模块的VHDL代码输入、保存并综合。
3、仿真
建立各个模块的gdf图,设置输入波形并仿真。
4、顶层原理图输入
利用各个模块生成的sym文件建立顶层原理图。
编译并仿真。
5、硬件实现
实验室提供的器件为ACEX系列,型号为EP1K100QC208—3。
将dingceng.sof文件下载到器件当中,在实验箱中进行硬件模拟。
四、VHDL代码及说明
1、主控模块CTLR
1.1VHDL代码
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYCTRLIS
PORT(LEFT,RIGHT,BRAKE,NIGHT:
INSTD_LOGIC;
LP,RP,LR,BRAKE_LED,NIGHT_LED:
OUTSTD_LOGIC);
ENDENTITYCTRL;
ARCHITECTUREARTOFCTRLIS
BEGIN
NIGHT_LED<=NIGHT;
BRAKE_LED<=BRAKE;
PROCESS(LEFT,RIGHT)
VARIABLETEMP:
STD_LOGIC_VECTOR(1DOWNTO0);
BEGIN
TEMP:
=LEFT&RIGHT;
CASETEMPIS
WHEN"00"=>LP<='0';RP<='0';LR<='0';
WHEN"01"=>LP<='0';RP<='1';LR<='0';
WHEN"10"=>LP<='1';RP<='0';LR<='0';
WHENOTHERS=>LP<='0';RP<='0';LR<='1';
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREART;
1.2说明
输入
RIGHT:
右转信号;
LEFT:
左转信号;
BRAKE:
刹车信号;
NIGHT:
夜间行驶信号;
输出
LP:
左侧灯控制信号;
RP:
右侧灯控制信号;
LR:
错误控制信号;
BRAKE_LED:
刹车控制信号;
NIGHT_LED:
夜间行驶控制信号
1.3sym图
2、定时器模块
2.1VHDL代码
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYSZIS
PORT(CLK:
INSTD_LOGIC;
CP:
OUTSTD_LOGIC);
ENDENTITYSZ;
ARCHITECTUREARTOFSZIS
SIGNALCOUNT:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
COUNT<=COUNT+1;
ENDIF;
ENDPROCESS;
CP<=COUNT(3);
ENDARCHITECTUREART;
2.2说明
输入:
CLK:
时钟输入信号;
输出:
CP:
尾灯闪烁触发信号。
2.3sym图
3、左侧尾灯控制模块
3.1VHDL代码
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYLCIS
PORT(CLK,LP,LR,BRAKE,NIGHT:
INSTD_LOGIC;
LEDL,LEDB,LEDN:
OUTSTD_LOGIC);
ENDENTITYLC;
ARCHITECTUREARTOFLCIS
BEGIN
LEDB<=BRAKE;
LEDN<=NIGHT;
PROCESS(CLK,LP,LR)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IF(LR='0')THEN
IF(LP='0')THEN
LEDL<='0';
ELSE
LEDL<='1';
ENDIF;
ELSE
LEDL<='0';
ENDIF;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREART;
3.2说明
输入:
CLK:
时钟控制信号;
LP:
左侧灯控制信号;
LR:
错误控制信号;
BRAKE:
刹车控制信号;
NIGHT:
夜间行驶控制信号;
输出:
LEDL:
左侧LD1灯控制信号;
LEDB:
左侧LD2灯控制信号;
LEDN:
左侧LD3灯控制信号;
3.3sym图
4、右侧尾灯控制模块
4.1VHDL代码
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYRCIS
PORT(CLK,RP,LR,BRAKE,NIGHT:
INSTD_LOGIC;
LEDR,LEDB,LEDN:
OUTSTD_LOGIC);
ENDENTITYRC;
ARCHITECTUREARTOFRCIS
BEGIN
LEDB<=BRAKE;
LEDN<=NIGHT;
PROCESS(CLK,RP,LR)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IF(LR='0')THEN
IF(RP='0')THEN
LEDR<='0';
ELSE
LEDR<='1';
ENDIF;
ELSE
LEDR<='0';
ENDIF;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREART;
4.2说明
输入:
CLK:
时钟控制信号;
RP:
右侧灯控制信号;
LR:
错误控制信号;
BRAKE:
刹车控制信号;
NIGHT:
夜间行驶控制信号;
输出:
LEDR:
右侧RD1灯控制信号;
LEDB:
右侧RD2灯控制信号;
LEDN:
右侧RD3灯控制信号;
4.3sym图
五、顶层原理图
六、各模块仿真结果
1、主控模块
2、定时器模块
3、左侧尾灯控制模块
4、右侧尾灯控制模块
5、顶层模块
七、管脚锁定及硬件实现
1、管脚锁定
打开File菜单中的FloorplanEeitor,用鼠标就各输入输出各相应管脚上进行锁定。
如图:
2、文件下载
实验室提供的器件为ACEX系列,型号为EP1K100QC208—3。
在Assign菜单Device项中选择些器件。
在MAX+pluxII菜单中选择Programmer项,在Options菜单中选择HardwareSetup项,选择BitBlaster串口接入方式。
如图:
3、硬件实现
将dingceng.sof文件下载完成后在硬件实验箱中进行仿真检查。
八、总结
1、过程问题及改正
经过几天的学习和上机,完成了文本输入形式设计汽车尾灯控制电路。
在设计过程中出现了诸多问题。
首先是对VHDL语言接触的时间短,小学期时间短,做课程设计感觉很仓促,没有过多的时间去系统的学习这门课程。
不像做C语言课程设计时是先经过了一个学期的学习再做的,那样感觉做起来能从最根本的原理入手,再逐步提高,收获也较多。
其次是对实验箱非常不了解。
前几部分的实验比较顺利,最后三天时间一直在解决程序下载的问题。
在进行实验箱连接过程中,系统一直提示“Programminghardwareisbusy!
”。
由于实验室没给提供实验箱的使用说明,自己又但心损坏实验箱,不能大胆的进行尝试,最后也没能解决些问题。
再次是课程设计过程中解决问题的方法不多。
实验室不能上网,无法从网上搜索解决的办法,书上的描述也不是很清楚,老师一个人要带两个班,所以每个问题都去问老师也不现实。
最后是自己的原因,由于课程设计过程中遇到的问题较多,自己没能保持一个良好的心态,遇到问题就很着急,影响了思考和问题的解决。
2、心得体会
经过了十天的小学期课程设计,有成功也有失败,有喜悦也有焦急。
但是学习只是个过程,在这个过程中才能使我们积累经验和逐渐成熟。
在今后的学习和生活当中,要提高自己分析问题和解决问题的能力,学会从不同的角度考虑问题。
十天的小学期结束了,自己也收获了很多。
感谢王老师为了我们的课程设计所做的一切。