文档库 最新最全的文档下载
当前位置:文档库 › EDA课设报告

EDA课设报告

EDA课设报告
EDA课设报告

1 设计目的

(1)学会在QuartusⅡ环境中运用VHDL语言设计方法来构建具有一定逻辑功能的模块,并能运用原理图设计方法完成顶层设计。掌握所学的课程知识和基本单元电路的综合设计应用。

(2)通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高设计能力,并掌握汽车尾灯控制在FPGA中实现的方法。

1.调试底层模块,并时序仿真。

2.设计顶层模块,并时序仿真。

3.撰写课程设计报告。

2 设计要求和任务

假设汽车尾部左右侧各有3盏指示灯,其控制功能应包括:

(1)汽车正常行驶时指示灯都不亮

(2)汽车右转弯时,右侧的一盏指示灯亮

(3)汽车左转弯时,左侧的一盏指示灯亮

(4)汽车刹车时,左右侧的指示灯同时亮

(5)汽车在夜间行驶时,左右侧的指示灯同时一直亮,供照明使用

顶层设计采用原理图设计方案,它由时钟分频模块,汽车尾灯主控模块,左边灯控制模块和右边灯控制模块四部分组成。

3 总体设计思路及原理描述

汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯ldright亮;当汽车向左侧转弯时,汽车左侧的指示灯ldleft亮;当汽车刹车时,汽车右侧的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮。

通过设置系统的输入信号:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night和系统的输出信号:汽车左侧3盏指示灯ldleft,dbrake1,dnight1和汽车右侧3盏指示灯ldright,ldbrake2,ldnight2实现以上功能。

系统的整体组装设计原理如图所示:

4 分层次方案设计及代码描述

汽车尾灯主控模块

汽车尾灯主控模块的工作框图如图所示:

图汽车尾灯主控模块

数据入口:

RIGHT:右转信号;

LEFT:左转信号;

BRAKE:刹车信号;

NIGHT:夜间行驶信号;

数据出口:

LP:左侧灯控制信号;

RP:右侧灯控制信号;

LR:错误控制信号;

BRAKE_LED:刹车控制信号;

NIGHT_LED:夜间行驶控制信号;

左灯控

制模块

右灯控

制模块

图系统设计整体框图

VHDL程序()

LIBRARY IEEE;

USE CTRL IS

PORT(LEFT,RIGHT,BRAKE,NIGHT: IN STD_LOGIC;

LP,RP,LR,BRAKE_LED,NIGHT_LED: OUT STD_LOGIC);

END ENTITY CTRL;

ARCHITECTURE ART OF CTRL IS

BEGIN

NIGHT_LED<=NIGHT;

BRAKE_LED<=BRAKE;

PROCESS(LEFT,RIGHT)

VARIABLE TEMP:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN

TEMP:=LEFT&RIGHT;

CASE TEMP IS

WHEN "00"=>LP<='0';RP<='0';LR<='0'; --当汽车直行时,左右灯都不亮

WHEN "01"=>LP<='0';RP<='1';LR<='0'; --当汽车右拐时,右拐指示灯亮

WHEN "10"=>LP<='1';RP<='0';LR<='0'; --当汽车左拐时,左指示灯亮

WHEN OTHERS=>LP<='0';RP<='0';LR<='1';--当汽车刹车时,左右灯都亮 END CASE;

END PROCESS;

END ARCHITECTURE ART;

功能:

该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;当输入为右转信号时,输出右侧灯控制信号;当同时输入LEFT和RIGHT 信号时,输出错误控制信号。当输入为刹车信号时,输出刹车控制信号;当输入为夜间行驶信号时,输出为夜间行驶控制信号。

左边灯控制模块

左边灯控制模块的工作框图如图所示:

图左边灯控制模块

数据入口:

CLK:时钟控制信号;

LP:左侧灯控制信号;

LR:错误控制信号;

BRAKE:刹车控制信号;

NIGHT:夜间行驶控制信号;

数据出口:

LEDL:左侧LD1灯控制信号;

LEDB:左侧LD2灯控制信号;

LEDN:左侧LD3灯控制信号;

VHDL程序()

LIBRARY IEEE;

USE LC IS

PORT(CLK,LP,LR,BRAKE,NIGHT: IN STD_LOGIC;

LEDL,LEDB,LEDN: OUT STD_LOGIC);

END ENTITY LC;

ARCHITECTURE ART OF LC IS

BEGIN

LEDB<=BRAKE;

LEDN<=NIGHT;

PROCESS(CLK,LP,LR)

BEGIN

IF CLK'EVENT AND CLK='1' THEN --时钟上升沿有效

IF(LR='0') THEN --没有刹车信号时

IF(LP='0')THEN --没有左拐信号时

LEDL<='0'; --左信号灯不亮

ELSE --相反情况

LEDL<='1';

END IF;

ELSE

LEDL<='0';

END IF;

END IF;

END PROCESS;

END ARCHITECTURE ART;

功能:

本程序用于控制左侧灯的亮、灭和闪烁情况,当时钟上升沿信号和左侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现闪

烁。当错误控制信号出现时,LD1灯不亮。

右边灯控制模块

右边灯控制模块的工作框图如图所示:

图右边灯控制模块

数据入口:

CLK:时钟控制信号;

RP:右侧灯控制信号;

LR:错误控制信号;

BRAKE:刹车控制信号;

NIGHT:夜间行驶控制信号;

数据出口:

LEDR:右侧RD1灯控制信号;

LEDB:右侧RD2灯控制信号;

LEDN:右侧RD3灯控制信号;

VHDL程序()

LIBRARY IEEE;

USE RC IS

PORT(CLK,RP,LR,BRAKE,NIGHT: IN STD_LOGIC;

LEDR,LEDB,LEDN: OUT STD_LOGIC);

END ENTITY RC;

ARCHITECTURE ART OF RC IS

BEGIN

LEDB<=BRAKE;

LEDN<=NIGHT;

PROCESS(CLK,RP,LR)

BEGIN

IF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿 IF(LR='0') THEN

IF(RP='0') THEN

LEDR<='0';

ELSE

LEDR<='1';

END IF;

ELSE

LEDR<='0';

END IF;

END IF;

END PROCESS;

END ARCHITECTURE ART;

功能:

本描述用于控制右侧灯的亮、灭和闪烁情况,当时钟上升沿信号和右侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,右侧相应的灯亮或出现闪烁。当错误控制信号出现时,RD1灯不亮。

时钟分频模块

时钟分频模块的工作框图如图所示:

图时钟分频模块

VHDL程序()

LIBRARY IEEE;

USE SZ IS

PORT(CLK: IN STD_LOGIC; --时钟输入

CP: OUT STD_LOGIC);

END ENTITY SZ;

ARCHITECTURE ART OF SZ IS

SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0); --定义八位标准逻辑位矢量数据类型

BEGIN

PROCESS(CLK)

BEGIN

IF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿

COUNT<=COUNT+1;

END IF;

END PROCESS;

CP<=COUNT(3); --输出第五位END ARCHITECTURE ART;

功能:

这块的功能是对左右两边的LLED1、RLED1的闪烁时间间隔,以CLK为输入信号, CP为输出信号,在程序中定义一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT(3)给CP,实现对CLK的八分频。

再将CP的电平信号分别和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED1、RLED1,实现左右转的指示功能。

顶层原理图

顶层原理图如图所示:

图顶层原理图

顶层文件VHDL程序()

Library ieee;

Use tp is

Port(clk:in std_logic;

Left:in std_logic;

Right:in std_logic;

Brake:in std_logic;

Night:in std_logic;

Ld1,ld2,ld3:out std_logic;

Rd1,rd2,rd3:out std_logic);

End;

Architecture bh of tp is

Component sz is

Port(clk:in std_logic;

Cp:out std_logic);

End component;

Component ctrl is

Port(left,right,brake,night:in std_logic;

Lp,rp,lr,brake_led,night_led:out std_logic);

End component;

Component lc is

Port(clk,lp,lr,brake,night:in std_logic;

Ledl,ledb,ledn:out std_logic);

End component;

Component rc is

Port(clk,rp,lr,brake,night:in std_logic;

Ledr,ledb,ledn:out std_logic);

End component;

Signal tmp0,tmp1,tmp2,tmp3,tmp4:std_logic;

Signal err0,err1,err2,err3,err4,err5:std_logic;

signal bm:std_logic;

Begin

U1:sz port map(clk,bm);

U2:ctrl port map(left,right,brake,night,tmp0,tmp1,tmp2,tmp3,tmp4);

U3:lc port map(clk,tmp0,tmp2,tmp3,tmp4,err0,err1,err2);

U4:rc port map(clk,tmp1,tmp2,tmp3,tmp4,err3,err4,err5);

Ld1<=err0 and bm;

Ld2<=err1;

Ld3<=err2;

Rd1<=err3 and bm;

Rd2<=err4;

Rd3<=err5;

End;

5 各模块的时序仿真图

汽车尾灯主控模块仿真

汽车尾灯主控模块由VHDL程序实现后,其仿真图如图所示:

图汽车尾灯主控模块仿真图

对时序仿真图进行分析:当分别输入刹车信号BRAKE,左转控制信号LEFT,夜间信号NIGHT,右转控制信号RIGHT时,BRAKE_LED,LP,NIGHT_LED,RP分别亮;当同时输入刹车信号BRAKE,左转控制信号LEFT,BRAKE_LED和LP同时亮;

当同时输入BRAKE和NIGHT,同时输入BRAKE和RIGHT,同时输入LEFT和NIGHT,同时输入NIGHT和RIGHT,对应的灯分别同时亮;当同时输入BRAKE,LEFT和NIGHT,同时输入BRAKE,RIGHT和NIGHT时,对应的灯分别同时亮;只要出现LEFT和RIGHT同时输入的情况,LP和RP都不亮,LR输出为“1”。

左边灯控制模块仿真

左边灯控制模块由VHDL程序实现后,其仿真图如下图所示:

图左边灯控制模块仿真图

对时序仿真图进行分析:当分别输入刹车信号BRAKE,左转控制信号LEFT,夜间信号NIGHT,相应的灯都会亮。

右边灯控制模块仿真

左边灯控制模块由VHDL程序实现后,其仿真图如下图所示:

图右边灯控制模块仿真图

对时序仿真图进行分析:当分别输入刹车信号BRAKE,右转控制信号RIGHT,夜间信号NIGHT,相应的灯都会亮,不会发生冲突。

时钟分频模块仿真

分频模块由VHDL程序实现后,其仿真图如图所示:

图时钟分频模块仿真图

对其仿真图进行仿真分析:时钟分频实现了信号同步。

顶层原理图

顶层原理图实现后,其仿真图如图所示:

图顶层原理图仿真图

对其仿真图进行仿真分析:RIGHT,LEFT,NIGHT,BRAKE 为输入信号,RIGHT 为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。RD1,RD2,RD3为输出信号,表示汽车右侧的三盏灯。LD1,LD2,LD3为输出信号,表示汽车左侧的三盏灯。如图所示:当RIGHT为1时,RD1输出为1表示右侧灯亮,当LEFT为1时,LD1为输出为1表示左侧灯亮,当NIGHT为1时,LD3,RD3输出均为1,表示左,右两侧各有一盏灯亮。当BRAKE为1时,LD2,RD2输出均为1,表示左,右两侧各有一盏灯亮。

6 总结

通过本次课程设计,我们对EDA技术有了更深的了解,初步学会了采用自顶向下的系统设计方法设计系统,并熟练掌握了利用VHDL语言进行简单的电路模块设计。此外,我们还进一步熟悉了Quartus II这款软件的使用,深刻体会到了用软件实现硬件设计的便捷与优越。

本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,分析问题和解决问题的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。

本设计采用自顶向下设计方法,底层为一些具有独立功能的小模块,完成这些小模块后再合到一起完成顶层文件的设计。从局部到整体,不仅使得系统

设计的思路清晰明了,减少了错误的产生,更方便了程序的调试以及系统功能的扩充。在设计过程中,能与同学相互交流讨论,不仅降低了设计难度,缩短了设计周期,更是进一步培养了我们的团队合作精神。

在此次设计过程中,不仅要求我们掌握扎实的理论知识,分析问题能从根本原理出发,联系实际解决问题,还要求我们要有耐心,毅力及细心。稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查更要求我们要有足够的耐心,反复调试,直到程序顺利通过。

这次设计中我也遇到了一些问题,但通过相关资料的查询,在老师的指导和同学们的帮助下,都顺利得以解决。这些经历使我得以积累了一定的经验,相信对以后学习设计工作也会有一定的帮助。

7 参考文献

《EDA技术及应用教程》赵全利秦春斌主编机械工业出版社

《EDA技术与数字系统设计》邹彦主编电子工业出版社

《实用电子电路200例》张庆双主编. 机械工业出版社

《电子电路EDA技术》赵世强、许杰等编西安电子科技大学出版社

西安电子科技大学EDA实验报告

EDA大作业及实验报告

实验一:QUARTUS Ⅱ软件使用及组合电路设计仿真 实验目的: 学习QUARTUS Ⅱ软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等基本内容; 实验内容: 1.四选一多路选择器的设计 首先利用QuartusⅡ完成4选1多路选择器的文本编辑输入(mux41a.vhd)和仿真测试等步骤,给出仿真波形。 步骤: (1)建立工作库文件夹和编辑设计文件; (2)创建工程; (3)编译前设置; (4)全程编译; (5)时序仿真; (6)应用RTL电路图观测器(可选择) 实验程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT( S10:IN STD_LOGIC_VECTOR(1 DOWNTO 0); A,B,C,D:IN STD_LOGIC; Q:OUT STD_LOGIC ); END ENTITY mux41; ARCHITECTURE bhv OF mux41 IS BEGIN PROCESS(A,B,C,D,S10) BEGIN IF S10="00" THEN Q<=A; ELSIF S10="01" THEN Q<=B; ELSIF S10="10" THEN Q<=C; ELSE Q<=D; END IF; END PROCESS; END bhv; 波形仿真如图:

其中,分别设置A,B,C,D四个输入都为10.0ns的方波,其占空比分别为25%,50%,75%,90%以作为四种输入的区分,使能端s10以此输入00(即[0]),01(即[1]),10(即[2]),11(即[3]),可以观察到输出端Q依次输出分别为A,B,C,D。试验成功。 其RTL电路图为: 2.七段译码器程序设计仿真 2.1 原理:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。本项实验很容易实现这一目的。例1作为7段BCD码译码器的设计,输出信号LED7S的7位分别接如实验图1数码管的7个段,高位在左,低位在右。例如当LED7S输出为"0010010" 时,数码管的7个段:g、f、e、d、c、b、a分别接0、0、1、0、0、1、0,实验中的数码管为共阳极的,接有低电平的段发亮,于是数码管显示“5”。 实验图1 数码管及其电路 2.2 实验内容:参考后面的七段译码器程序,在QUARTUS II上对以下程序进行编辑、编译、综

EDA课程设计报告资料

课程设计 设计题目: 学生姓名: 学号: 专业班级: 指导教师: 2015年月日

设计 题目成绩 课 程 设 计 主 要 内 容 指 导 教 师 评 语 签名:20 年月日

设计题目:测量放大器电路原理图和PCB板设计 一、实验目的 1.了解学习Protel 99SE的目的与意义; 2.掌握Protel 99SE绘制电路原理图方法与技巧; 3.掌握PCB设计方法与技巧。 二、实验要求 1.利用Protel 99SE绘制一张电路图; 2.对绘制好的电路图进行ERC检查; 3.生成网络表; 4.生成元件列表; 5.利用Protel 99SE完成对应的双面印刷电路板设计。 三、功率放大器设计 实验原理图如下图所示: 图1

四、protel制图 4.1设计电路原理图 1.电路原理图 电路原理图的设计是整个电路设计的基础,因此电路原理图要设计好,以免影响后面的设计工作。电路原理图的设计一般有如下步骤: (1)设置原理图设计环境; (2)放置元件; (3)原理图布线; (4)编辑和调整; (5)检查原理图; (6)生成网络表。 2.设计印刷电路板 印刷电路板设计是从电路原理图变成一个具体产品的必经之路,因此,印刷电路板设计是电路设计中最重要、最关键的一步。通常,印刷电路板设计的具体步骤如下: (1)规划电路板; (2)设置参数; (3)装入网络表; (4)元器件布局; (5)自动布线; (6)手工调整。 4.2 绘制测量放大器电路原理图 原理图设计最基本的要求是正确性,其次是布局合理,最后是在正确性和布局合理的前提下力求美观。根据以上所述的电路原理图设计步骤,两级放大器电路原理图设计过程如下: 1.启动原理图设计服务器 进入Protel 99 SE,创建一个数据库,执行菜单File/New命令,从框中选择原理图服务器(Schematic Document)图标,双击该图标,建立原理图设计文档。双击文档图标,进入原理图设计服务器界面。如图2

eda课程设计报告多功能数字钟设计大学论文

湖北大学物电学院EDA课程设计报告(论文) 题目:多功能数字钟设计 专业班级: 14微电子科学与工程 姓名:黄山 时间:2016年12月20日 指导教师:万美琳卢仕 完成日期:2015年12月20日

多功能数字钟设计任务书 1.设计目的与要求 了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解 2.设计内容 1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开; 2,能用按键调时调分; 3,能整点报时,到达整点时,蜂鸣器响一秒; 4,拓展功能:秒表,闹钟,闹钟可调 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。

目录(四号仿宋_GB2312加粗居中) (空一行) 1 引言 (1) 2 总体设计方案 (1) 2.1 设计思路 (1) 2.2总体设计框图 (2) 3设计原理分析 (3) 3.1分频器 (4) 3.2计时器和时间调节 (4) 3.3秒表模块 (5) 3.4状态机模块 (6) 3.5数码管显示模块 (7) 3.6顶层模块 (8) 3.7管脚绑定和顶层原理图 (9) 4 总结与体会 (11)

多功能电子表 摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能 关键词:Verilog语言,多功能数字钟,数码管显示; 1 引言 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然 2 总体设计方案 2.1 设计思路 根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。这些模块在顶层原理图中相互连接作用 3 设计原理分析 3.1 分频器 分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块 module oclk(CLK,oclk,rst,clk_10,clk_100); input CLK,rst; output oclk,clk_10,clk_100;

EDA课程设计——函数信号发生器

EDA课程设计——函数信号发生器 实验报告 学院(系) 专业、班级 学生姓名 学号 小组其他队员: 指导教师

(1)实验要求 (2)总体设计思路 (3)程序仿真 (4)实验结果 (5)心得体会 一.实验要求 (1)利用VHDL语言设计一个多功能信号发生器,可以产生正弦波,三角波,锯齿波和方波的数字信号。

(2)焊接一个D/A转换器,对输出的数字信号转换成模拟信号并在示波器上产生波形。 (3)在电路板上可以对波形进行选择输出。 (4)在电路板上可以对波形的频率与幅度进行调节。 二.总体设计思路 信号发生器主要由分频,波形数据的产生,四选一多路选择,调幅和D/A转换五个部分组成。 总体框架图如下: (1)分频 分频器是数字电路中最常用的电路之一,在FPGA的设计中也是使用效率非常高的基本设计。实现的分频电路一般有两种方法:一是使用FPGA芯片内部提供的锁相环电路,如ALTERA提供的PLL(Phase Locked Loop),Xilinx提供的DLL(Delay Locked Loop);二是使用硬件描述语言,如

VHDL、Verilog HDL等。本次我们使用VHDL进行分频器设计,将奇数分频,和偶数分频结合起来,可以实现50%占空比任意正整数的分频。 分频器原理图: 在我们本次试验中的实现即为当按下按键时,频率自动减半。如当输入为100MHZ,输出为50MHZ。 (2)信号的产生。 根据查找资料,我们最终确定了在QUARTUS中波形数据产生的方法,即利用地址信号发生器和LPM_ROM模块。ROM 的地址信号发生器,有七位计数器担任。LPM_ROM底层是FPGA 中的M4K等模块。然后在VHDL顶层程序设计中将两部分调用从而实现信号的发生。ROM中存放不同的初始化MIF文件(存放不同波形的数据)从而产生不同的波形。 信号产生模块:

EDA实验报告

目录 第一部分实验开发系统概述及使用说明.............................................................. 1第一章EDA实验系统 ....................................................................................... 1第二章EDA/SOPC实验系统 ............................................................................ 7第二部分实验部分............................................................................................ 10实验一EDA工具基本操作与应用 ........................................................... 10实验二计数器设计..................................................................................... 24实验三串入/并出移位寄存器实现 ........................................................... 26实验四四人抢答器设计............................................................................. 28实验五序列检测器设计............................................................................. 29实验六DDS信号源的设计........................................................................ 30实验七交通灯控制器设计......................................................................... 31实验八数字钟设计..................................................................................... 32实验九出租车计费器设计......................................................................... 33实验十频率计的实现................................................................................. 34附录——FPGA接口对照表 ............................................................................ 35

EDA课程设计报告

湖北职业技术学院《EDA技术》课程设计报告 题目动态输出4位十进制频率计的设计所在学院电子信息工程学院 专业班级电信08304 学生姓名马强 学号08024839 指导教师王芳 完成日期2010年11月18 日

目录 一、概述 (3) 二、设计正文 (4) (一)设计目的 (4) (二)设计实现 (4) 1、端口说明 (4) 2、Cnt10模块说明 (5) 3、Tctl模块说明 (6) 4、锁存器reg16模块说明 (8) 5、Scan_led模块说明 (9) 6、顶层文件仿真 (10) 7、硬件下载 (11) 三、总结 (13) 四、感言 (14) 五、参考文献 (15)

概述 此次设计的主要目的是学习掌握频率计的设计方法;掌握动态扫描输出电路的实现方法;学习较复杂的数字系统设计方法。通过单位时间(1秒)内频率的计数来实现频率计的设计。此设计主要用四位十进制计数器,所以频率计数范围为100~9999Hz。然后锁存防止闪烁显示,最后由译码扫描显示电路输出到数码管进行显示输出。并且下载后会有一秒钟的延时后才会显示输出所计频率输出。设计下载后能够进行仿真频率的计数和静态显示,但是分频的设计程序有所缺陷导致长时间显示后会有1Hz的抖动。通过这次的设计能够更清楚的理解VHDL程序的描述语言,进行简单程序的编写和仿真。

动态输出4位十进制频率计的设计 一、目的 1.学习掌握频率计的设计方法。 2.掌握动态扫描输出电路的实现方法。 3.学习较复杂的数字系统设计方法 二、设计实现 4位十进制频率计外部接口如图1所示,顶层文件如图2所示,包含4中模块;Tctl、reg16、scan_led和4个cnt10。 (1)端口说明 F1Hz:给Tctl模块提供1Hz的频率输入。 Fin:被测频率输入。 scan_led:给scan_led模块提供扫描输入频率输入。 bt[1..0]:片选信号输出。 sg[6..0]:译码信号输出。 cout:进位输出。

EDA实验报告

EDA 实验报告 实验一:组合电路的设计 实验内容是对2选1多路选择器VHDL 设计,它的程序如下: ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ; END ARCHITECTURE one ; Mux21a 仿真波形图 以上便是2选1多路选择器的VHDL 完整描述,即可以看成一个元件mux21a 。mux21a 实体是描述对应的逻辑图或者器件图,图中a 和b 分别是两个数据输入端的端口名,s 为通道选择控制信号输入端的端口名,y 为输出端的端口名。Mux21a 结构体可以看成是元件的内部电路图。最后是对仿真得出的mux21a 仿真波形图。 Mux21a 实体 Mux21a 结构体

实验二:时序电路的设计 实验内容D 触发器的VHDL 语言描述,它的程序如下: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS BEGIN PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN Q <= D ; END IF; END PROCESS ; END bhv; D 触发器的仿真波形图 最简单并最具代表性的时序电路是D 触发器,它是现代可编程ASIC 设计中最基本的时序元件和底层元件。D 触发器的描述包含了VHDL 对时序电路的最基本和典型的表达方式,同时也包含了VHDL 中许多最具特色的语言现象。D 触发器元件如上图所示,其在max+plus2的仿真得出上面的波形 D 触发器

EDA课程设计

课程设计说明书 课程:EDA技术基础 题目:数字钟的设计 闹钟与整点报时模块 学生姓名:XXX 学号201265110204 班级 :1203班 专业:电子信息与科学 指导教师:XXX 2014年12月20日 长沙理工大学课程设计任务书 物理与电子科学学院电子信息与科学专业1203班姓名王玲课程名称EDA技术基础 题目数字钟的设计

长沙理工大学课程设计成绩评定表

目录 1数字钟设计闹钟模块基本任务要求4 2设计思想4 3简述闹钟模块的输入与输出5 4分进程描述6 5仿真结果与分析7 6简述数字钟的设计总成果10 7总结11 参考文献13 代码附件13

基本任务要求:运用QuartusⅡ13.1软件平台,用VHDL语言描述并设计的闹钟模块满足可调闹钟时间,当时钟时间到达闹钟时间后会响闹铃,(由于实验室权限问题会以FPGA开发板上12个LED灯交替发光来表现);整点报时过程表现为整点的前十秒内响铃,(以FPGA开发板上一个LED灯交替发光来实现)。 设计思想:闹钟模块要以分频模块、计数器模块和译码显示模块为基础,将闹钟模块分为三个进程,一个进程用来实现调闹钟,一个进程来实现闹响闹钟(即实现LED灯交替发光),另一个进程来是实现整点报时。 (上面截图为数字钟整体编译后的RTL电路的闹钟模块) 简述闹钟模块图的输入与输出:上图中的输入粗黑实线为计数器模块输出的小时、分钟的高低位和秒钟的高位(都用四位的二进制表示);输出的粗黑实线为定的闹钟时间(包括小时和分钟),将送到译码显示模块显示闹钟时间,闹钟时间与时钟都在FPGA上的数码管显示,用二选一实现交替显示。clk和clk1都是经过分频器分出的不同频率的信号分别用于整点报时的闪灯脉冲与闹钟调时、闹响的闪灯脉冲。

基于VHDL语言的EDA实验报告(附源码)

EDA 实验报告 ——多功能电子钟 姓名:张红义 班级:10级电科五班 学号:1008101143 指导老师:贾树恒

电子钟包括:主控模块,计时模块,闹钟模块,辅控模块,显示模块,蜂鸣器模块,分频器模块。 1.主控模块: 主要功能:控制整个系统,输出现在的状态,以及按键信息。 源代码: libraryieee; use ieee.std_logic_1164.all; useieee.std_logic_arith.all; useieee.std_logic_unsigned.all; entity mc is port(functionswitch,k,set,lightkey: in std_logic; chose21,setout: out std_logic; lightswitch:bufferstd_logic; modeout,kmodeout : out std_logic_vector(1 downto 0); setcs,setcm,setch,setas,setam,setah:outstd_logic); end mc; architecture work of mc is signalmode,kmode:std_logic_vector(1 downto 0); signal light,chose21buf:std_logic; signalsetcount:std_logic_vector(5 downto 0); begin process(functionswitch,k,set,lightkey) begin iffunctionswitch'event and functionswitch='1' then mode<=mode+'1'; end if; iflightkey'event and lightkey='1' then lightswitch<=not lightswitch; end if; if mode="01" thenchose21buf<='0'; else chose21buf<='1'; end if; ifk'event and k='1' then if mode="01" or mode="11" then kmode<=kmode+'1'; end if;end if; if set='1' then if mode = "01" then ifkmode="01" then setcount<="000001"; elsifkmode="10" thensetcount<="000010"; elsifkmode="11" then setcount<="000100";

EDA课程设计报告8线-3线优先编码器

Xxxxx学院 《EDA技术》课程报告 设计题目:8线-3线优先编码器班级:应用电子1101班姓名: 学号: 指导老师: 日期:

目录 一、8-3优先编码器设计原理分析 (3) 二、8-3优先编码器模块的源程序 (3) 三、8-3优先编码器仿真结果 (4) 四、设计总结和心得体会 (5) 五、参考资料 (5)

一、8-3优先编码器设计原理分析 8-3优先编码器输入信号为din0,d in1,din2,din3,din4,din5,din6和din7,输出信号为out2、out1、out0。输入信号中din7的优先级别最低,依次类推,din0的优先级别最高。也就是说若din0输入为1(即为高电平)则无论后续的输入信号怎么样,对应的这种状态一样,如若din0输入为0(即为低电平)则看优先级仅次于din0的din1状态决定,依次类推。因为din0到din7共8中状态,可以用3位二进制编码来表示。8-3优先编码器真值表如下表所示。 表1 8-3优先编码器真值表 二、8-3优先编码器模块的源程序 8-3优先编码器由VHDL程序来实现,VHDL语言描述如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7);output : OUT STD_LOGIC_VECTOR(0 TO 2);EANABLE: in std_logic ); END coder; ARCHITECTURE behav OF coder IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS (din) BEGIN IF (EANABLE='0') THEN IF (din(0)='1') THEN output <= "000" ; ELSIF (din(1)='1') THEN output <= "100" ;

EDA交通灯实验报告

实验:交通灯设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求: (1)交通灯从绿变红时,有4秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒; (4)在任意时间,显示每个状态到该状态结束所需的时间。 主干道 图1 路口交通管理示意图 设计要求: (1)采用VHDL语言编写程序,并在QuartusII工具平台中进行仿真,下载到EDA实验箱进行验证。 (2)编写设计报告,要求包括方案选择、程序清单、调试过程及测试结果。 二、设计原理 1、设计目的: 学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制 2、设计说明

(1)第一模块:clk时钟秒脉冲发生电路 在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。 因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。 模块说明: 系统输入信号: Clk: 由外接信号发生器提供256的时钟信号; 系统输出信号: full:产生每秒一个脉冲的信号; (2)第二模块:计数秒数选择电路 计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。 模块说明: 系统输入:full: 接收由clk电路的提供的1HZ的时钟脉冲信号; 系统输出信号:tm:产生显示电路状态转换信号 tl:倒计数值秒数个位变化控制信号 th:倒计数值秒数十位变化控制信号 (3)第三模块:红绿灯状态转换电路 本电路负责红绿灯的转换。 模块说明: 系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号; tm: 接收计数秒数选择电路状态转换信号; 系统输出信号:comb_out: 负责红绿灯的状态显示。 (4)第四模块:时间显示电路 本电路负责红绿灯的计数时间的显示。 模块说明: 系统输入信号:tl:倒计数值秒数个位变化控制信号; th:倒计数值秒数十位变化控制信号; 系统输出信号:led7s1: 负责红绿灯的显示秒数个位。 led7s2:负责红绿灯的显示秒数十位。 三、设计方案

EDA技术课程设计报告

课程设计任务书 设计题目1:数码管显示数字钟设计 学生姓名 课程名称EDA技术课程设计专业班级 地点起止时间2017年6月19日— 6月23日 设 计 内 容 硬件设计及样品制作 设计参数1、具有时、分、秒,计数显示功能,以24小时循环计时; 2、具有清零,调节小时、分钟功能; 3、具有整点报时功能,整点报时的同时LED花样显示。 设计进度1.2017年6月19日—20日查阅资料,确定设计方案 2.2017年6月21日—22日程序设计和硬件调试 3.2017年6月23日撰写课程设计报告,答辩 设计成果1. 设计说明书一份(不少于2000字); 2. 样品一套。 参考资料1.周润景等,基于Quartus II的FPGA/CPLD数字系统设计实例,电子工业 出版社,2010 2.夏宇闻,Verilog数字系统设计教程(第二版),北京航空航天大学出版 社,2014 说明1.本表应在每次实施前由指导教师填写一式2份,审批后所在系(部)和指导教师各留1份。2.多名学生共用一题的,在设计内容、参数、要求等方面应有所区别。3.若填写内容较多可另纸附后。 院(系)分管领导:教研室主任:指导教师: 2017年 6月 23日

EDA技术课程设计报告 目录 第1章引言 (1) 第2章电路原理 (2) 第3章程序设计 (3) 3.1 顶层模块设计 (3) 3.2 时钟分频模块设计 (4) 3.3 按键驱动模块设计 (4) 3.4 时钟计数模块设计 (4) 3.5 整点报时模块 (5) 3.6 LED灯花样显示模块 (7) 3.7 数码管显示模块设计 (7) 第4章调试、测试分析及结果 (10) 4.1 调试 (10) 4.2 测试分析 (10) 4.3 结果 (12) 第5章小结 (13) 参考文献 (14) 附录电路图及程序 (15)

EDA课程设计实验报告

课程设计报告 课程名称数字系统与逻辑设计 课题名称16*16点阵显示 专业通信工程 班级1181 学号 2 姓名肖浪

指导教师乔汇东吴德建 2013年7月2日 湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题16*16点阵显示 专业班级通信工程1181 学生姓名肖浪 学号 2 指导老师乔汇东吴德建

任务书下达日期2013 年6月23日 任务完成日期2013 年7月2日 《数字系统与逻辑设计》课程设计任务书 一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 三、进度安排 第十八周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附:

课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

EDA课程设计

EDA课程设计 ·设计目标: 本设计完成基于Verilog HDL的自动售票系统,综合软件用Quartus II8.1。 本自动售票系统可以完成1元、2元、3元、4元四种票的自动售出,货币种类可以是1元、5元、10元、50元、100元,能自动找零和显示 ·总体设计: 共有四个主要模块和一个顶层模块:四个模块分别是主控模块、统计模块、出票模块和找零模块;顶层模块负责各模块间的连接,组成一个可用的自动售票系统。 总体结构如下: ·各模块设计: 统计模块: 根据各种货币输入,统计出总钱数提供给主控模块。每次售票完成后总钱数自动归零(主控模块提供售票完成信号,计数清零) 代码如下: 1: //统?计?钱?数?模?块? 2: module count ( rst, //复?位?高?有?? 3: clr, 4: ci1,ci5,ci10,ci50,ci100, //1元?、?元?、?元?、?元?、?元?输?入? 5: cout //统?计?出?的?总?钱?数?

6: ); 7: 8: input rst; 9: input clr; //清?零?信?号? 10: input ci1,ci5,ci10,ci50,ci100; //高?脉?冲?有?? 11: output [7:0] cout; 12: 13: reg [2:0] q1,q5,q10,q50,q100; 14: 15: assign cout = q1 + 5*q5 + 10*q10 + 50*q50 + 100*q100; 16: 17: //一?元?计?数? 18: always @ (posedge rst or posedge clr or posedge ci1) 19: begin 20: if(rst==1) q1 <= 0; 21: else if(clr==1) q1 <= 0; 22: else 23: begin 24: q1 = q1 + 1; 25: end 26: end 27: 28: //5元?计?数? 29: always @ (posedge rst or posedge clr or posedge ci5) 30: begin 31: if(rst==1) q5 <= 0; 32: else if(clr==1) q5 <= 0; 33: else 34: begin 35: q5 = q5 + 1; 36: end 37: end 38: 39: //10元?计?数? 40: always @ (posedge rst or posedge clr or posedge ci10) 41: begin 42: if(rst==1) q10 <= 0; 43: else if(clr==1) q10 <= 0; 44: else 45: begin 46: q10 = q10 + 1; 47: end 48: end 49:

EDA实验报告

电子科技大学成都学院 实验报告册 课程名称:EDA实验与实践 姓名:魏亮 学号:2940710618 院系:微电子技术系 专业:集成电路设计与集成系统(嵌入式) 教师:李海 2011 年12 月12 日

实验一:计数器 一、实验目的: 学习计数器的设计,仿真和硬件测试; 进一步熟悉Verilog HDL的编程方法。 二、实验原理和内容: 本实验的原理是利用复位信号rst,时钟信号clk,输出cout ,实现由0自加到学号(即18)。 本实验的内容是利用Quartus Ⅱ建立一个自加至18的计数器,并进行仿真测试。 三、实验步骤: 1. 启动Quartus Ⅱ建立一个空白工程,然后命名为count . qpf 。 2. 新建Verilog HDL源程序文件count.v,输入程序代码并保存, 然后进行综合编译,若在编译过程中发现错误,则找出并更正错误, 直到编译成功为止。 3. 建立波形仿真文件并进行仿真验证。 四、实验数据和结果: module count (clk,rst,cout); input clk,rst; output[5:0] cout; reg[5:0] cout; always @ (posedge clk) begin if(rst) begin cout=cout+1; if(cout==5'b10011) cout=0; end end endmodule

五、实验总结: 进一步熟悉仿真测试和Verilog HDL 编程方法。

实验二:流水灯 一、实验目的: 通过次试验进一步了解、熟悉和掌握CPLD/FPGA开发软件的使用方法及Verilog HDL的编程方法;学习简单的时序电路的设计和硬件 测试。 二、实验原理和内容: 本实验的内容是建立可用于控制LED流水灯的简单硬件电路,要求在实验箱上时间LED1~LED8发光二极管流水灯显示。 原理:在LED1~LED8引脚上周期性的输出流水数据,如原来输出的数据是11111100则表示点亮LED1、LED2。流水一次后,输出数据应 该为11111000,而此时则应点亮LED1~LED3三个LED发光二极管,这 样就可以实现LED流水灯,为了方便观察,在源程序中加入了一个分频 程序来控制流水速率。 三、实验步骤: (1)启动QuartusII建立空白工程,然后命名为led.qpf。 (2)新建Verilog HDL源程序文件led.v,输入程序代码并保存(源程序参考实验内容),进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。 (3)FPGA引脚分配,在Quartus II主界面下,选择Assignments→Pins,按照实验课本附录进行相应的引脚分配,引脚分配好以后保存。 (4)对该工程文件进行最后的编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。 (5)打开试验箱的电源开关,执行下载命令,把程序下载到FPGA试验箱中,观察流水灯的变化。 四、实验数据和结果: module led(led,clk); input clk; output[7:0] led; reg[7:0] led_r; reg[31:0] count; assign led=led_r[7:0]; always @ (posedge clk) begin count<=count+1';

EDA时钟设计性报告

计算机与信息技术学院综合性、设计性实验报告 一、实验目的 1.进一步熟悉时钟的编程实现方法; 2.掌握利用EDA软件实现时钟的基本原理; 3.熟练使用Quartus进行编程; 二、实验仪器或设备 装QuartusII软件的微机一台 三、总体设计(设计原理、设计方案及流程等) 时钟利用软件实现时分别实现小时,分钟,秒的计时,同时复位键按下时计时归零。 五.仿真波形 六.实验步骤(包括主要步骤、代码分析等) module shizhong10(clk,clr,pause,sh,sl,mh,ml,hl,hh); input clk,clr,pause;

output [3:0] sh,sl,mh,ml,hl,hh; reg [3:0] sh,sl,mh,ml,hl,hh; reg cn1,cn2; always @(posedge clk or posedge clr) begin if(clr) begin {sh,sl}<=8'h00;cn1<=0; end else if(!pause) begin if(sl==9) begin sl<=0; if(sh==5) begin sh<=0; cn1<=1; end else sh<=sh+1; end else begin sl<=sl+1; cn1<=0; end end end always @(posedge cn1 or posedge clr) begin if(clr) begin {mh,ml}<=8'h00; cn2<=0; end else if(ml==9) begin ml<=0; if(mh==5)

EDA课程设计报告-北京科技大学分析

EDA课程设计报告 题目彩灯循环闪烁电路的仿真学院自动化 专业班级自 姓名 学号 成绩 2014年12月

1、设计目的 (3) 2、设计原理 (3) (3) 3、单元电路的设计与仿真 (3) 3.1时钟脉冲产生电路 (3) 3.2计数器电路的设计与仿真 (5) 3.3译码和显示电路的设计 (6) 4、总体电路仿真 (7) 5、总结与收获 (9)

1、设计目的 1)彩灯能够自动循环闪烁 2)彩灯循环显示且频率快慢可调。 3)该控制电路具有8路输出。 2、设计原理 彩灯循环闪烁电路的工作原理采用555定时器连接成多谐振荡器产生频率产生连续可调的时钟脉冲信号,然后将时钟信号输出通过计数器接受。然后,经过八进制加法计数器的计数实现循环功能。最后,通过译码器译码实现循环灯亮。 该电路主要分为三个模块,多谢振荡器模块、八进制加法计数器电路模块、译码器与彩灯电路模块。其结构框图如图1所示。 图1 彩灯循环闪烁电路的设计框图 3、单元电路的设计与仿真 3.1时钟脉冲产生电路 时钟脉冲产生电路由555定时器和外接元件R1、R2、R3、C1和C2构成多谐振荡器。管脚THR与管脚TRI直接相连。图2为,产生电路模块。电路没有稳态,仅存在两个暂稳态,电路亦不需要外加触发信号。利用电源通过R1、R2向C1充电,以及C1通过R2、R3向放电端DIS放电,使电路产生震荡。输出矩形波,为计数器提供脉冲源。其管脚2的电容充放电波形(黄色线条)和管脚3时钟脉冲输出波形(红色线条)如图3所示。

图2 时钟脉冲产生电路的仿真图 图3 管脚2、3的输出波形

3.2计数器电路的设计与仿真 本文的彩灯电路选用74LS160N-集成10进制同步加法计数器。74LS160N具有异步清零和同步置数的功能。为了实现8盏灯循环闪烁,电路采用异步反馈清零法获得8进制计数器。如图4所示,当Q D Q C Q B Q A输出1000时,U4A输出一个低电平到CLR,将计数器清零,回到0000状态。 图4 8进制计数器仿真图 确认电路连接无误后,单击RUN,开始仿真。结果如图4,通过7段数码管看到有0-7共8个有效状态。图5即计数过程。

郑州航院EDA实验报告模板

《EDA技术及应用》 实验报告 系部:电子通信工程系 指导教师:张松炜 学号:121307214 ____ 姓名:李俊杰_______

2014___年_6___月__19_日 实验一点亮LED设计 一、实验目的 通过此试验可以让大家逐步了解,熟悉和掌握FPGA开发软件Quartus II的使用方法及VerilogHDL的编程方法。 二、实验内容 本实验是一个简单的点亮LED灯的实验,具体包括: 1)使用Quartus II建立一个工程; 2)Quartus II工程设计; 3)设置编译选项并编译硬件系统; 4)下载硬件设计到目标FPGA; 5)观察LED的状态; 三、实验原理 和单片机一样,向片子里写进数据,输出高电平(对于共阴极的),或者输出低电平(对于共阳极)。根据Cyclone片子已经分配好的针脚设置好针脚。 四、实验步骤 建立-----个工程-----输入程序-----软件编译 ------生成下载文件-----下载—调试。

五、实验程序 module led1(led); //模块名led1 output[7:0] led; //定义输出端口 reg[7:0] led; //定义寄存器 always //过程1 begin led = 8'b10101010; //输出0xAA end endmodule 六、思考题 (1)写出使用QuartusII软件开发工程的完整的流程。 建立一个工程—输入程序—软件编译综合—生成下载文件— 下载—硬件调。 实验二流水灯实验 一、实验目的 通过此试验让大家进一步了解熟悉和掌握FPGA开发软件的使用方法及软件编程方法。学习简单的时序电路的设计和硬件测试。 二、实验内容 本实验的内容是建立用于控制LED流水灯的简单硬件电路,要求在SmartSOPC上实现LED1-LED8发光二极管流水灯的显示。 三、实验原理

EDA技术课程设计报告

贵州大学 EDA技术课程设计报告 题目:BCD码加法器 院系计算机科学与技术学院 专业计科121 学号1208060061、1208060058、1208060065 学生姓名张飞宇、王红强、匡金军 指导教师夏玉勤

设计BCD码加法器 一、设计任务及要求 (1)课程设计意义: 对BCD码加法有了进一步了解; 学习了quartus II设计软件,初步了解了FPGA; (2)设计要求: 利用Verilog HDL语言,编写一个4位BCD码加法器程序,输入用八个开关分别表示两个BCD码,输出结果用数码管显示。 主要芯片:2个全加器(4008BD)、开关、数码管(2个),其他元件、门电路任选 (3)主要功能: 输入两个4位BCD码,相加结果显示在数码管上。 我组在要求的功能上添加了一些代码,使输入结果也能在数码管上显示。 (4)设计思路: 图1 简易结构图 如图1所示:A,B分别是2个输入数字,S0-S1为输出,经过BCD 加法器的运算,能实现BCD码加法功能。 (1)T=A+B,若T>10,则Z赋值为10,同时进位(2)C=1,和值低位(3)S0=T-Z,和值高位(4)S1=C。 二、基于Verilog语言的电路设计、仿真、综合 硬件及软件电路设计及描述

图2 顶层模块图 图3 RTL (1)数据的产生与输入 通过J1~J8八个单刀双掷开关在+5V和GND之间的切换来产生两个4位8421BCD码作为输入的数据,当开关打到+5V时输入数据1,打到GND时输入数据0。其中J1~J4分别为数据A3~A0,J5~J8分别为数据B3~B0,且A3~A0、B3~B0 的位权依次降低(8421)。 (2)加法电路 把上面得到的两个四位8421BCD码分别输入4008BD全加器的输入端A3~A0、B3~B0,同时CIN输入端接低电平。则S3~S0输出计算结果,COUT为

相关文档