数字电路课程设计VHDL语言文本输入设计.docx

上传人:b****5 文档编号:11658832 上传时间:2023-03-29 格式:DOCX 页数:15 大小:347.71KB
下载 相关 举报
数字电路课程设计VHDL语言文本输入设计.docx_第1页
第1页 / 共15页
数字电路课程设计VHDL语言文本输入设计.docx_第2页
第2页 / 共15页
数字电路课程设计VHDL语言文本输入设计.docx_第3页
第3页 / 共15页
数字电路课程设计VHDL语言文本输入设计.docx_第4页
第4页 / 共15页
数字电路课程设计VHDL语言文本输入设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数字电路课程设计VHDL语言文本输入设计.docx

《数字电路课程设计VHDL语言文本输入设计.docx》由会员分享,可在线阅读,更多相关《数字电路课程设计VHDL语言文本输入设计.docx(15页珍藏版)》请在冰豆网上搜索。

数字电路课程设计VHDL语言文本输入设计.docx

数字电路课程设计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、心得体会

经过了十天的小学期课程设计,有成功也有失败,有喜悦也有焦急。

但是学习只是个过程,在这个过程中才能使我们积累经验和逐渐成熟。

在今后的学习和生活当中,要提高自己分析问题和解决问题的能力,学会从不同的角度考虑问题。

十天的小学期结束了,自己也收获了很多。

感谢王老师为了我们的课程设计所做的一切。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1