文档库 最新最全的文档下载
当前位置:文档库 › EDA课程设计论文

EDA课程设计论文

EDA课程设计论文
EDA课程设计论文

学号14082200130 成绩评语

《现代数字系统设计》课程论文

题目:基于FPGA的交通灯控制器设计

作者:班级:

院别:专业:

完成时间: 2011年5月12日

目录

1. FPGA的概述以及设计任务

1.1 FPGA的简介 (3)

1.2 FPGA的应用 (3)

1.3 设计任务 (3)

2.系统硬件设计

2.1 整体设计流程 (4)

2.2具体设计方案 (4)

2.3 主控模块 (5)

2.4 显示模块 (6)

3.系统软件设计

3.1 软件整体设计 (7)

3.3 数据选择模块 (8)

3.4 显示译码模块 (8)

3.2 顶层文件 (8)

3.5 软件仿真时序图 (9)

4.设计总结 (9)

5.参考文献 (9)

6.附录 (10)

1 FPGA概述

1.1 FPGA的简介

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

1.2 FPGA的应用

1.电路设计

连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域,也是FPGA应用的基石。事实上在电路设计中应用FPGA要求开发者具备相应的硬件知识(电路知识)和软件应用能力(开发工具)。

2.产品设计

把相对成熟的技术应用到某些特定的领域开发满足行业需要并能被行业客户接受的产品。这方面主要是FPGA技术和专业技术的结合问题,重点在性能,FPGA技术在这个领域是一个实现手段,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计。

3.系统级应用

系统级得应用是FPGA与传统的计算机技术结合,实现一种FPGA版得计算机系统如用Xilinx V-4,V-5系列的FPGA,实现内嵌POWER PC CPU ,然后再配合各种外围功能,这个平台上跑LINIX等系统,这个系统也就支持各种标准外设和功能接口了,这对于快速构成FPGA大型系统来讲是很有帮助的。

1.3设计任务

设计一个十字路口交通灯控制器,方向分为东南西北四个方向。东西方向的红绿灯状态一样,南北方向的红绿灯状态一样。每个方向上,有四盏灯,分别是左拐灯、红灯、绿灯和黄灯。左拐灯亮表示左转车车辆可以通行;红灯表示左转和直行车辆进行;绿灯亮表示直行车辆和右转车辆可以通行;黄灯表示左转和直行的车辆即将禁行;倒计时显示器用来允许通行或禁止通行的时间倒计时。

2 系统硬件设计

2.1 整体设计流程

首先根据交通灯控制器的功能要求,将功能要求转化成系统流程图,然后对系统

进行模块的划分,定义各个模块的具体功能。再开始对各个模块用VHDL 语言编程,并在Quartus Ⅱ环境下进行编译及功能仿真,最后将编程文件下载到FPGA 期间FLEX RPF10LC84中。

1.顶层框图的设计:有控制模块,数据学则模块,显示译码模块和数码管模块四个模块。

时钟脉冲

数码管位选信号

标准时钟

使能信号

顶层框图

2.2

系统设计方案

考虑到实验室所用的FPGA 器件FLEX RPF10LC84上的数码管以及LED 逻辑状态指示管数量有限,本论文设计的十字路口交通灯不具有左拐弯功能,仅实现主、支干道红、黄、绿、倒计时数的显示,初始化设置以及特殊状态控制功能。

利用状态机来实现对交通灯的控制,对十字路口的红、绿、黄和左拐灯进行控制,并通过数码管显示倒计时。

选 择

译 码

码 管

模 块 四计进 数

制 器

选择

译码

显示

B

A

G Y R

L G Y R L

十字路口交通灯控制的平面图

2.3主控模块

(1)状态机

用2个进程分别控制两个方向的交通灯。引入有限状态机控制交通灯的状态转化,即绿灯→黄灯→左拐灯→黄灯→红灯。复位时红灯全亮。

(2)倒计时

用2个减法计数器实现倒计时,当某个状态的剩余时间减到0则切换状态。

各状态的交通灯保持时间可以如下分配:A向红、黄、绿和左拐灯分别为55s,5s,40s,15s,B向红、黄、绿和左拐灯分别为65s,5s,30s,15s。

(3)FPGA芯片

实验板采用的是Altera公司的FPGA可编程逻辑器件EP1K10TC100-3,该器件基于SRAM,支持JTAG编程方式,可编程无限次。其布局图如下:

EP1K10TC100-3

2.4显示模块

8位数码管采用动态扫描显示,位选信号SEL0、SEL1、SEL2经过3-8译码后选择1位数码管,段选信号为A、B、C、D、E、F、G、DP。

(1)位选扫描模块

(2)段选扫描模块

(3)显示译码模块

3.系统软件实现

3.1 软件整体设计

设计流程图如下:

新建工程

原理图文件或VHDL文件

输入程序或编辑原理图

编译,若有错,修改程序,直至无错

建立波形文件,导入管脚

编译波形文件,查看仿真结果,保存

工程设计流程框图

3.2数据选择模块

使用两个进程分别控制两个方向的四个灯循环亮灭:绿→黄→左→黄→红

数据选择模块RTL图

3.3显示译码模块

显示译码模块将上一个模块输出四个一位数译码成相对应的七位数码管段码,完成倒计时的译码和显示。

显示译码的RTL图

3.4 顶层文件

将以上各个主要模块仿真成功之后,再编写顶层文件,将各个模块连接起来,统一调配,得到顶层文件的原理图

顶层文件的原理图

3.5软件仿真部分时序图

顶层文件波形仿真结果图

4. 设计总结

实践出真知,这是这次设计给我带来的最大的收获。在此之前,我对FPGA和VHDL的了解仅局限于课本上的些许知识,从没有深入体会,更缺乏实践经验。通过这次课程设计,我对FPGA和VHDL有了深入的了解,熟悉了QuartusⅡ的基本使用

方法,也使得让我对着门课程产生了浓厚的兴趣。

其实,一开始我对VHDL语言的掌握是很浅薄的,这也是我遇到的最大难题。所以,我开始查阅VHDL教程,一方面学习这门语言的基本知识,另一方面结合交通灯控制器的要求,开始划分每个模块,然后逐步设计单元模块。在编译的过程中也遇到了很多的难题,比如各个模块之间的连接和信号的定义方面总是出现错误,只有耐心、仔细地查阅才能够解决问题。

从这一次课程设计的过程中,我得到了几点启示。那就是,一,要避免眼高手低;二,要敢于有所突破;三,要耐心调试,才能达到完美。虽然,学习VHDL语言的过程也许枯燥乏味,但只要持之以恒就会发现其中的乐趣的。而且在以后的学习中,我们也要提高自主编程的能力以及动手能力,才能让自身综合素质全面发展。

5.参考文献

1.张昌凡,彭涛.可编程逻辑器件及VHDL设计技术.广州,华南工学院出版社,2001

2.卢杰,赖毅.VHDL与数字电路设计.北京,科学出版社,2001

3.顾新.VHDL硬件描述语言与数字电路设计.西安电子科技大学出版社,1999

4.邢建平,VHDL硬件描述语言与数学逻辑电路设计[M].西安:西安电子科技大学出版社,2005:45-46.

5.曹春燕,周凤成,聂春燕.EDA技术实验与课程设计【M】.北京:清华大学出版社

2006.

6.Alter Corporation.2002.Altera Digital library.Altera.

7.Mark Zwolinski.Digital System Design with VHDL[M].北京工业出版社,2002:11-18

6.附录

1.程序代码如下:

// 交通灯控制器

/* 信号定义

CLK: 同步时钟

EN: 使能信号

LAMPA: 0~3分别控制A方向的左拐灯、绿灯、黄灯和红灯

LAMPB: 0~3分别控制B方向的左拐灯、绿灯、黄灯和红灯

ACOUNT: 用于A方向的时间显示,驱动两个数码管

BCOUNT: 用于A方向的时间显示 */

//位扫描模块caisu

module hwan_traffic(CLK,EN,LAMPA,LAMPB,clk1K,sel,decodeout); output[3:0] LAMPA,LAMPB;

output[6:0] decodeout;

input CLK,EN,clk1K;

output reg[1:0] sel;

wire[3:0] macount0,macount1,mbcount0,mbcount1;

wire[1:0] msel;

reg[7:0] numa,numb;

reg tempa,tempb;

reg[2:0] counta,countb;

reg[7:0] ared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft; reg[3:0] LAMPA,LAMPB;

always @(posedge clk1K)

begin

if(sel==3)

begin sel<=0;end

else

begin sel <= sel+1;end

end

always @(EN)

begin

if(!EN) // 设置灯的计数初值

begin

ared<=8'h55; ayellow<=8'h5;

agreen<=8'h40; aleft<=8'h15;

bred<=8'h65; byellow<=8'h5;

bgreen<=8'h30; bleft<=8'h15;

end

end

assign macount0=numa[3:0];

assign macount1=numa[7:4];

assign mbcount0=numb[3:0];

assign mbcount1=numb[7:4];

always @(posedge CLK) // 控制A方向的灯

begin

if(EN)

begin

if(!tempa)

begin

tempa<=1;

case(counta) // 控制亮灯的顺序

0: begin numa<=agreen; LAMPA<=2; counta<=1; end

1: begin numa<=ayellow; LAMPA<=4; counta<=2; end

2: begin numa<=aleft; LAMPA<=1; counta<=3; end

3: begin numa<=ayellow; LAMPA<=4; counta<=4; end

4: begin numa<=ared; LAMPA<=8; counta<=0; end

default: LAMPA<=8;

endcase

end

else

begin // 倒计时

if(numa>1)

if(numa[3:0]==0)

begin

numa[3:0]<=4'b1001;

numa[7:4]<=numa[7:4]-1;

end

else numa[3:0]<=numa[3:0]-1;

if(numa==2) tempa<=0;

end

end

else

begin

LAMPA<=4'b1000;

counta<=0;

tempa<=0;

end

end

always @(posedge CLK) // 控制B方向的灯

begin

if(EN)

begin

if(!tempb)

begin

tempb<=1;

case(countb) // 控制亮灯的顺序

0: begin numb<=bred; LAMPB<=8; countb<=1; end

1: begin numb<=bgreen; LAMPB<=2; countb<=2; end

2: begin numb<=byellow; LAMPB<=4; countb<=3; end

3: begin numb<=bleft; LAMPB<=1; countb<=4; end

4: begin numb<=byellow; LAMPB<=4; countb<=0; end

default: LAMPB<=8;

endcase

end

else

begin // 倒计时

if(numb>1)

if(numb[3:0]==0)

begin

numb[3:0]<=4'b1001;

numb[7:4]<=numb[7:4]-1;

end

else numb[3:0]<=numb[3:0]-1;

if(numb==2) tempb<=0;

end

end

else

begin

LAMPB<=4'b1000;

countb<=0;

tempb<=0;

end

end

//******************************************************** assign msel=sel;

wire[3:0] dout;

switch4 switch_m(macount0,macount1,mbcount0,mbcount1,msel,dout); decode4_7 decode4_7_M(decodeout,dout);

//********************************************************

endmodule

//段选扫描模块

module switch4(din0,din1,din2,din3,sel,dout);

input [3:0] din0,din1,din2,din3;

input [1:0] sel;

output reg[3:0] dout;

always @(din0 or din1 or din2 or din3 or sel)

begin

case (sel)

2'b00: dout=din3;

2'b01: dout=din2;

2'b10: dout=din1;

2'b11: dout=din0;

endcase

end

endmodule

//显示译码模块

module decode4_7(decodeout,indec);

output[6:0] decodeout;

input[3:0] indec; reg[6:0] decodeout; always @(indec)

begin case(indec) //用case语句进行译码 4'd0:decodeout=7'b1111110;

4'd1:decodeout=7'b0110000;

4'd2:decodeout=7'b1101101;

4'd3:decodeout=7'b1111001;

4'd4:decodeout=7'b0110011;

4'd5:decodeout=7'b1011011;

4'd6:decodeout=7'b1011111;

4'd7:decodeout=7'b1110000;

4'd8:decodeout=7'b1111111;

4'd9:decodeout=7'b1111011;

default: decodeout=7'bx;

endcase end

endmodule

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的数字钟程序设计

一、课题要求: (1)技术要求:1、掌握多功能数字钟的工作原理。 2、应用EDA技术,VHDL语言编写程序。 3、层次化设计,设计原理框图。 4,、硬件设计及排版。 (2)功能要求:1、基本功能:能进行正常的时、分、秒计时功能,分别 由6个数码管显示24小时、60分钟、60秒的计数器 显示。 2、扩展功能:(1)能够利用按键实现“校时”“校分” “清零”功能。 (2)能利用扬声器做整点报时,整点前 五秒短声,整点长声。 (3)本人工作:负责软件部分,,编写各部分模块的VHDL程序,并且锁定 引脚,将程序下载到芯片中。 二、设计方案: 原理框图: 数字钟原理框图 一共有11个小模块:分频,片选,按键,小时,分,秒,显示模块,七段显示译码器,报时,扬声,36译码器。 左边第一个是时钟信号输入端,50Mhz到分频模块。第二个为清零按键,第三个为校分按键,第四个为校时按键。 右边第一个为七段显示译码器输出端,第二个为扬声器输出端,第三个为6个数码管输出端。

中间模块为数字钟的核心,有计时,报时,校时功能。 三、单元模块设计 1、分频模块 该模块是将时钟脉冲50Mhz分频到1000、500和1,分别给报时模块和及时模块。

2、秒模块 仿真图

该模块为60进制计数器,有分频模块得到的1hz进行计时,计时输出为秒的数值,在计时到59时进位1到co端。当按下s3时,秒清零。 3.、分模块 仿真图

该模块也为60进制计数器,计时输出为分的数值。在EN信号有效且时钟来时,计数器加1、在s2按下时,EN使能端有效,实现校分功能。 4、时模块 仿真图 该模块为24进制计数器,计时输出为小时的数值,在EN信号到来时,计数器

EDA课程设计流水灯设计

EDA课程设计 流水灯设计 姓名: 金兼强 专业: 电子信息工程 班级: 093252 学号: 09325211 同组人:黄奕林简讯 黄树金兼强黄玉涛 指导老师:黄河 2012-11-9

目录 一、摘要〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 二、流水灯设计目的〃〃〃〃〃〃〃〃〃〃〃〃〃〃4 三、流水灯设计流程〃〃〃〃〃〃〃〃〃〃〃〃〃〃4 四、流水灯设计程序〃〃〃〃〃〃〃〃〃〃〃〃〃〃5 五、流水灯设计管脚分配〃〃〃〃〃〃〃〃〃〃7 六、功能仿真图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃8 七、原理图波形图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃9 八、设计注意事项〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃10 九、课程设计总结〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃11 十、参考文献〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃12 十一、评分表〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 13

一、摘要 随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA 的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。 流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。 课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。在此过程中培养从事设计工作的整体观念。 课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面: ·独立工作能力和创造力。 ·综合运用专业及基础知识,解决实际工程技术问题的能力。 ·查阅图书资料、产品手册和各种工具书的能力。 ·写技术报告和编制技术资料的能力。 ·实际动手能力。 利用学到的电子技术知识,通过布置具有一定难度的设计题目,帮助学生熟悉课程设计任务和设计方法。

EDA技术与VHDL程序设计基础教程习题答案

EDA技术与VHDL程序设计基础教程习题答案 第1章EDA习题答案 1.8.1填空 1.EDA的英文全称是Electronic Design Automation 2.EDA技术经历了计算机辅助设计CAD阶段、计算机辅助工程设计CAE阶段、现代电子系统设计自动化EDA阶段三个发展阶段 3. EDA技术的应用可概括为PCB设计、ASIC设计、CPLD/FPGA设计三个方向 4.目前比较流行的主流厂家的EDA软件有Quartus II、ISE、ModelSim、ispLEVER 5.常用的设计输入方式有原理图输入、文本输入、状态机输入 6.常用的硬件描述语言有VHDL、V erilog 7.逻辑综合后生成的网表文件为EDIF 8.布局布线主要完成将综合器生成的网表文件转换成所需的下载文件 9.时序仿真较功能仿真多考虑了器件的物理模型参数 10.常用的第三方EDA工具软件有Synplify/Synplify Pro、Leonardo Spectrum 1.8.2选择 1.EDA技术发展历程的正确描述为(A) A CAD->CAE->EDA B EDA->CAD->CAE C EDA->CAE->CAD D CAE->CAD->EDA 2.Altera的第四代EDA集成开发环境为(C) A Modelsim B MUX+Plus II C Quartus II D ISE 3.下列EDA工具中,支持状态图输入方式的是(B) A Quartus II B ISE C ispDesignEXPERT

D Syplify Pro 4.下列几种仿真中考虑了物理模型参数的仿真是(A) A时序仿真 B 功能仿真 C 行为仿真 D 逻辑仿真 5.下列描述EDA工程设计流程正确的是(C) A输入->综合->布线->下载->仿真 B布线->仿真->下载->输入->综合 C输入->综合->布线->仿真->下载 D输入->仿真->综合->布线->下载 6.下列编程语言中不属于硬件描述语言的是(D) A VHDL B V erilog C ABEL D PHP 1.8.3问答 1.结合本章学习的知识,简述什么是EDA技术?谈谈自己对EDA技术的认识? 答:EDA(Electronic Design Automation)工程是现代电子信息工程领域中一门发展迅速的新技术。 2.简要介绍EDA技术的发展历程? 答:现代EDA技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。它的成熟主要经历了计算机辅助设计(CAD,Computer Aided Design)、计算机辅助工程设计(CAED,Computer Aided Engineering Design)和电子设计自动化(EDA,Electronic System Design Automation)三个阶段。 3.什么是SOC?什么是SOPC? 答:SOC (System on Chip,片上系统) SOPC(System on a Programmable Chip,片上可编程系统) 4.对目标器件为CPLD/FPGA的VHDL设计,主要有几个步骤?每步的作用和结果分别是什

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 FPGA设计实例 四位加法器(含源程序)

EDA FPGA 四位加法器设计说明:程序使用原件例化语句编写。 半加器程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY bjq IS PORT(A,B:IN STD_LOGIC; Y,Co:OUT STD_LOGIC); END bjq; ARCHITECTURE bjqbehv OF bjq IS SIGNAL c,d:STD_LOGIC; BEGIN c<=A OR B; d<=A NAND B; Co<=NOT d; Y<=c AND d; END bjqbehv; 全加器程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY qjq IS

PORT(Ci,A,B:IN STD_LOGIC; S,Co:OUT STD_LOGIC); END qjq; ARCHITECTURE qjqbehv OF qjq IS BEGIN S<=A XOR B XOR Ci; Co<=(A AND B) OR (A AND Ci) OR (B AND Ci); END qjqbehv; 加法器例化程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY jfq4 IS PORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Co:OUT STD_LOGIC); END jfq4; ARCHITECTURE jfq4behv OF jfq4 IS COMPONENT qjq PORT(Ci,A,B:IN STD_LOGIC; S,Co:OUT STD_LOGIC); END COMPONENT; COMPONENT bjq PORT(A,B:IN STD_LOGIC; Y,Co:OUT STD_LOGIC); END COMPONENT; SIGNAL C0,C1,C2:STD_LOGIC; BEGIN u1:bjq PORT MAP(A(0),B(0),Y(0),C0); u2:qjq PORT MAP(C0,A(1),B(1),Y(1),C1); u3:qjq PORT MAP(C1,A(2),B(2),Y(2),C2); u4:qjq PORT MAP(C2,A(3),B(3),Y(3),Co); END ARCHITECTURE jfq4behv; 兄弟加qq 352995783,技术交流。 暮落 2011年12月2日

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都是经过分频器分出的不同频率的信号分别用于整点报时的闪灯脉冲与闹钟调时、闹响的闪灯脉冲。

EDA技术课程设计题目与任务

五课程设计题目与内容 1. 电子秒表设计 内容及要求: 完成具有多计数功能的秒表,并可将结果逐一显示在7 段数码管上,具体要求如下: (1)输入时钟10khz ,采用Altera EP1C6Q240C8 FPGA ; (2)异步、同步复位,计时精度1ms,最大计时240秒; (3)至少对 6 个目标计时,并可显示于7 段数码管,格式为xxx.yyy ,秒为单位; ( 4)计时值可逐一顺序回显; ( 5)按下一次终止键完成一个对象的计时,计时间隔小于最大计时值; ( 6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。 进度安排: 本设计持续10天,其中最后一天(依例周五)为答辩时间。 第1-2 天:讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始设计方案和验证方案的准备; 第3-4 天:完成设计与验证方案,经指导老师验收后进入模块电路设计; 第5-7 天:完成模块电路设计,进行代码输入,并完成代码的初步仿真; 第8-9 天:代码功能仿真正确,约束设计,综合、下载,实现设计目标,并指导老师验收设计;整理设计资料,撰写报告、准备答辩; 第10 天:验收合格后进行答辩。 选题:限2人:共同进行电路和验证方案设计,1人仿真,另1人FPGA实现

2. aval on 总线从接口设计 内容及要求: 实现Altera 的NiosII CPU 外部总线接口电路,完成存储器的读写操作。 (1) CPU采用Altera Nios n; ( 2)接口电路采用同步操作,注意时钟的选择; ( 3)寻址空间0x8000~0x8ffff ,数据总线宽度8 比特; ( 4)存储器的种类为寄存器即可,具有读写功能; ( 5) avalon 总线接口为slave ; (6)下载验证时要和CPU一同实现相应的功能,软件进行读写操作。 进度安排: 本课程设计持续10 天,其中最后一天( (依例周5)为答辩时间。 第1-2 天:讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始设计方案和验证方案的准备; 第3-4 天:完成设计与验证方案,经指导老师验收后进入模块电路设计; 第5-7 天:完成模块电路设计,进行代码输入,并完成代码的仿真; 第8-9天:约束设计,与CPU集成综合、下载,用c语言实现操作,并指导老师验收设计;整理设计资料,撰写报告、准备答辩; 第10 天:验收合格后进行答辩。 选题:限 2 人:共同进行电路和验证方案设计, 1 人逻辑电路设计与仿真,另1人系统集成及软件代码设计

EDA程序设计

EDA设计 题目:基于multisim10.0的交通灯设计与仿真学院: 专业班级: 学生姓名: 指导教师: 成绩:

目录 1系统概述 (3) 1.1设计初始条件 (3) 1.2设计要求指标 (3) 2 交通控制器的设计原理 (4) 2.1振荡电路 (4) 2.1.1 555定时器构成的100 Hz多谐振荡器 (4) 2.1.2 74LSl92构成的100分频和20分频的分频器 (4) 2.2.3 74LS192构成的计数器和译码显示电路 (5) 2.2主控制电路和信号灯译码驱动 (6) 2.3仿真结果 (7) 3 电路原理图: (8) 3.1 Multisim原理图如下: (8) 3.2电路仿真效果 (9) 3.3 在Protel中的原理图: (10) 3.4 PCB双面布线制版如图: (11) 4.总结 (12) 5.参考文献 (13)

1系统概述 在城镇街道的十字路口中,为保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯。图1是一个典型的十字路口的平面位置示意图:有主干道和支干道两条道路,每条道路上各有一组红、黄、绿交通信号灯。主干道与支干道上的车辆交替运行,主干道上的车辆比较多,因此主干道的车辆通行时间长,支干道上的车辆少,因此支干道的车辆通行时间短。主干道通行时,主干道绿灯亮,支干道红灯亮,时间为60S;支干道通行时,主干道绿灯亮,主干道红灯亮,时间为30S。每次绿灯变红时,黄灯先闪烁3s(频率为5 Hz)。此时另一路口的红灯不变。基于以上规则设计的交通控制器控制十字路口两组红、黄、绿交通信号灯的状态转换,可以方便地实现指挥各种车辆和行人通行实现十字路口交通管理的自动化。 图1-1 十字路口的平面位置示意图 1.1设计初始条件 1)课程设计辅导资料:“数字电路EDA入门”、“EDA与数字系统设计”等; 2)先修课程:电路、电子设计EDA、电子技术基础等。 3)主要涉及的知识点: 4)门电路、组合逻辑电路、时序逻辑电路等。 1.2设计要求指标 1)本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分 析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设 计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(仿真结果),并对实验结果进行分析和总结。具体设计要求包括: ①复习EDA的相关技术与方法; ②M ultisim10.0软件的使用:掌握该软件的仿真方法。

EDA课程设计参考题目

EDA课程设计参考题目一、设计彩灯控制器一 要求: 1.有八只LED,L0……L7 2.显示顺序如下表 3

要求: 1.8 个灯全亮; 2.8 个灯全灭; 3.从左边第一个开始每隔一个亮; 4.从右边第一个开始每隔一个灭; 5.左4个灭,右4个亮; 6.左4个亮,右4个灭; 7.显示间隔0.5S,1S可调。 三、设计彩灯控制器三 要求: 1. 有十只LED,L0……L9 2. 显示方式 ①先奇数灯依次灭 ②再偶数灯依次灭 ③再由L0到L9依次灭 3.显示间隔0.5S,1S可调。 四、自设计动奏乐器一 要求: 1.开机能自动奏一个乐曲,可以反复演奏;2.速度可变。 1 1 5 5 6 6 5 – 4 4 3 3 2 2 1 – 5 5 4 4 3 3 2 – 5 5 4 4 3 3 2 – 3.附加:显示乐谱。 五、设计自动奏乐器二 要求: 1.开机能自动奏一个乐曲,可以反复演奏;2.速度可变。 1 3 1 3 5 6 5 – 6 6 ? 1 6 5 ––– 6 6 ? 1 6 5 5 3 1 2 2 3 2 1 ––– 3.乐曲自选。 4.附加:显示乐谱。 六、设计汽车尾灯控制器 要求: 1.用6个发光二极管模拟6个汽车尾灯(左、右各3个)。 2.汽车往前行驶时,6个灯全灭。当汽车转弯时,若右转弯,右边3个尾灯从左至右顺序 亮灭,左边3个灯全灭;若左转弯,左边3个尾灯从右至左顺序亮灭,右边3个灯全灭; 汽车刹车时,6个尾灯同时明、暗闪烁;汽车在夜间行驶时,左右两侧的灯同时亮,供照明使用。

要求: 1.在十字路口的两个方向上各设一组红绿黄灯,显示顺序为:其中一个方向是绿灯、黄灯、 红灯,另一个方向是红灯、绿灯、黄灯。 2.设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、 红灯的持续时间分别是20s、5s、25s。 八、设计数字频率计 要求: 1.输入为矩形脉冲,频率范围0~99MHz; 2.用五位数码管显示;只显示最后的结果,不要将计数过程显示出来; 3.单位为Hz和KHz两档,自动切换。 九、设计智力竞赛抢答器 要求: 1.四人参赛每人一个按钮,主持人一个按钮,按下就开始; 2.当有某一参赛者首先按下抢答开关时,相应显示灯亮并伴有声响,此时抢答器不再接受其他输入信号。 3.有人抢答时,喇叭响两秒钟; 4.答题时限为100秒钟(显示0~99),时间显示采用倒计时方式。当达到限定时间时,发出声响以示警告。 十、设计数字秒表 要求: 1.要求设置启/停开关。当按下启/停开关,将启动秒表开始计时,当再按一下启/停开关时, 将终止计时操作。 2.数字秒表的计时范围是0秒~59分59.99…… 3.要求计时精度为0.01s。 4.复位开关可以在任何情况下使用,即便在计时过程中,只要按一下复位开关,计时器就 清零,并做好下次计时的准备。 十一、设计数字钟 要求: 1.具有时、分、秒计数显示功能,且以24小时循环计时。 2.具胡清零的功能,且能够对计时系统的小时、分钟进行调整。 3.具有整点报时功能。 十二、设计三层电梯控制器 要求: 1.每层电梯入口处设有上下请求开关,电梯内有乘客到达层数的的停站请求开关。 2.设有电梯所处位置指示装置及电梯运行模式(上升和下降)指示装置。 3.电梯每秒钟升(降)一层。 4.电梯到达有请求的楼层,电梯经过lS电梯门开,打开4S后,电梯门关闭(开门指示灯灭)。电梯继续运行,直至完成最后的一个请求信号后停留在当前层。 5.能记忆电梯内外所有请求信号,并按照电梯运行规则按顺序响应,每个请求信号留至执行完后消除。 6.电梯运行规则:当电梯处于上升模式时,只响应比电梯所在的位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼清求执行完毕;如果高层有下楼请求,则直接升到有下

EDA课程设计

可编程逻辑器件电路设计课程设计报告 出租车计费器的FPGA实现 姓名:邱建华,欧鹏逸,吴丹阳 班级:09电信1 学号:200930580120 200930580117 200930690122 指导老师:陈楚 日期:2011.12.12~2011.12.20 华南农业大学工程学院

摘要 近年,随着城市活动频繁增多,市民生活节奏加快,出租车日益成为我们日常的出行必不可少得交通工具,它为我们提供了极大的便利。出租车计费器是乘客与司机双方的交易准则,是出租车中最重要的工具,它关系着交易双方的利益,用户对出租车计费器的要求也越来越高。因此,设计一个性能稳定,计费准确,易操作和可靠耐用的出租车计费器势在必行。 本课程设计内容是利用VHDL语言、PLD设计基于FPGA的出租车计费系统,选用ALTERA公司低功耗、低成本、高性能的FPGA芯片,以MAX+PLUSⅡ软件作为开发平台,设计了出租车计费器系统程序并进行了编译,功能仿真和下载。使其实现计费以及预置和模拟汽车启动、加速、停止、暂停等功能,并动态扫描显示车费数目。将计费器分成计费电路模块,数据转换模块,动态扫描模块,选择信号模块,显示模块,译码模块进行模拟仿真设计加以实现。运用顶层设计思路设计好各个底层文件对各个底层文件进行功能仿真,并用文本方法来实现顶层文件的设计,对顶层文件进行功能仿真,并把顶层文件下载到实验箱的FPGA 加以硬件分析。 关键词: 出租车计费器VHDL MAX+PLUS ⅡFPGA

目录 1 方案比较与选择(须详细阐述创新点或新见解) (01) 1.1 课题选择 (01) 1.2 方案一选择分析 (01) 1.3 方案二选择分析 (02) 1.4 选择方案一 (04) 2 底层文件仿真与分析 (04) 2.1 计数模块 (04) 2.2 转换模块 (06) 2.3 显示模块 (07) 2.4 译码模块 (08) 2.5 通道选择模块 (08) 3 顶层文件仿真与分析 (09) 3.1 顶层文件分析 (09) 3.2 顶层文件仿真 (10) 4硬件验证分析 (11) 5课程设计心得 (11) Abstract (13) 参考文献 (14) 附录(源代码)

EDA课设数字钟设计

课程设计报告 课程名称数字系统与逻辑设计 课题名称数字钟设计 专业通信工程 班级 学号 姓名 指导教师乔汇东胡瑛谭小兰 2013年7月7日

湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题数字钟设计 专业班级通信工程1101班 学生姓名 学号 指导老师 审批乔汇东 任务书下达日期2013 年6月29日 任务完成日期2013 年7月7日

《数字系统与逻辑设计》课程设计任务书一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的 组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试 程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养 使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单 及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应 的分析与结论。 三、进度安排 第十九周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

EDA程序设计试题及答案

1.请画出下段程序的真值表,并说明该电路的功能。 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY aaa IS PORT( oe,dir :IN STD_LOGIC ; a,b : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0 ) ; END aaa ; ARCHITECTURE ar OF aaa IS BEGIN PROCESS(oe , dir ) 输入输出 BEGIN a1 a0 x3 x2 x1 x0 IF oe=?0?THEN a<=”zzzzzzzz”; b<=”zzzzzzzz”; 0 0 0 0 0 1 ELSIF oe=?1?THEN 0 1 0 0 1 0 IF dir=?0?THEN b<=a; 1 0 0 1 0 0 ELSIF dir=?1?THEN a<=b; 1 1 1 0 0 0 ENDIF; END IF ; END PROCESS ; END ar ; 功能为:2-4译码器…………………………………………..4分 2.请说明下段程序的功能,写出真值表,并画出输入输出波形。 LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_arith.all; USE ieee.std_logic_unsigned.all; ENTITY aaa IS PORT( reset,clk: IN STD_LOGIC; q: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0) ); END aaa; ARCHITECTURE bd OF aaa IS BEGIN PROCESS(clk,reset) BEGIN IF (reset='0') THEN q<="000"; ELSIF (clk'event AND clk='1') THEN IF (q=5) THEN q<="000"; ELSE q<=q+1; END IF; END IF; END PROCESS; END bd; 功能为:带进位借位的4位加/减法器。…………………………………..3分 输入输出波形图如下:………………………………………………………7分

EDA课程设计报告

北华航天工业学院 《EDA技术综合设计》 课程设计报告 报告题目:16X16点阵显示综合实验作者所在系部:电子工程系 作者所在专业:自动化专业 作者所在班级: 作者姓名: 指导教师: 完成时间:2012年12月26日

容摘要 在本次课设中,设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮。显示花样共有三种:①6*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;②显示单字“飞”;③依次循环显示“航”,“天”,“学”,“院”四个字。 为使点阵显示器能够动态显示,列选信号为16-4编码器编码输出。 控制器各引脚功能为:DIN[3..0]为显示花样模式选择,高电平有效;CLK 为时钟输入端;DOTOUT[15..0]为行驱动信号输出;SELOUT[3..0]为列选信号输出,为16-4编码信号。 列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。 关键词: VHDL,16*16点阵,QuartusII,时序仿真图。

目录 一、实验目的 (1) 二、硬件要求 (1) 三、方案论证 (1) 四、模块说明 (1) 1.整体程序 (1) 2.花样一(动画) (6) 3.花样二(“飞”字) (6) 4.花样三(四字循环显示) (7) 五、整体连接图 (7) 六、实验步骤 (7) 七、实验结果 (7) 八、实验总结 (7) 九、参考文献 (8)

课程设计任务书

一、实验目的 (1)了解16*16LED的工作原理。 (2)了解点阵字符的产生和显示原理。 二、硬件要求 (1)主芯片EPF10K10LC84-4。 (2)16*16点阵。 (3)可变时钟源。 (4)四个拨码开关(显示花样的选择)。 三、方案论证 引脚整体可分为四个部分:clk(时钟信号)、din[3…0](花样选择控制)、dotout[15…0](行驱动信号输出)、selout[3…0](列选信号输出)。 其中有一个分频器的设计,可用一个16位的计数器实现:信号q从00000到11111循环变换,将q的低四位赋给列选信号selout,当q=11111时又可驱动另一计数器工作,实现分频。 第一个花样的设计:用q驱动一个5位计数器zhen从00000到11111循环变换,当Zhen=”00000”时,dotout=”00000” Zhen=”00001”时,dotout=”00001” …… …… Zhen=”10000”时,dotout=”1” …… …… Zhen=”11110”时,dotout=”00011” Zhen=”11111”时,dotout=”00001”。 第二个花样的设计:可参考第三个花样的设计。 第三个花样的设计:当zhen1(功能同zhen)=”00”时,显示第一个字“航”,当selout=”0000”时,dotout为“航”字的最后一列代码;当selout=”0001”时,dotout为“航”字的倒数第二列代码,依次类推。其他三个字的设计同“航”字。 四、模块说明 16*16点阵综合显示实验是用一个整体的程序编写的,所以不可分成模块,但可以分成三个部分:16*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;显示“飞”字;依次循环显示“航”、“天”、“学”、“院”。下面的程序分析中将讨论三个部分的设计。 1.整体程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dots_test is port(clk:in std_logic; - -硬件接口

EDA程序设计

EDA课程设计 学院:电子信息科学与技术 班级:11级电信本(一)班 姓名:王后影 学号: 1 1 0 9 1 4 0 3 3 辅导教师:肖开选

基于LMP的流水线乘法累加器设计 一、设计目的 乘法累加器常在全硬件的数字信号处理的不同算法中用到。本节通过一个8位流水线乘法累加器的实例介绍以顶层原理图为工程,VHDL文本描述和宏功能块为原理图元件的输入和设计方法。 二、设计原理 本设计通过调用LPM加法器模块以及LPM乘法器模块构建一个乘法累加器,另外,本文还给出LPM库的乘法累加器模块ALTMULT_ADD,进过参数设置,能实现同上功能。 三、symbol图 产生的symbol见附录。 四、设计结果及分析 1、8位乘法累加器顶层设计图 图(一)顶层设计图 2、时序仿真波形图 图(二)工程仿真波形图 由上述波形可知:在clk的第四个上升沿后才得到第一个计算数据,之前都

是0,这就是流水线结构的计算结果。 第四个上升沿得到结果为,而第五个上升沿后得到结果为 ,第六个上升沿后得到的结果为。 3、LPM库的乘法累加器模块图 图(三)ALTMULT_ADD模块图 五、附录 1、ADD16B产生的symbol 2、MULT8B产生的symbol 3、FF8B产生的symbol VHDL有限状态机设计

一、设计目的 1、进一步熟悉和掌握Quartus软件的各模块功能的使用方法。 2、加深对VHDL语言的了解,熟悉VHDL语言的语法特点,深刻了解Quartus 软件仿真中出现的各种问题并能加以解决。 3、学习使用和查看状态转换图。 二、设计原理 本设计说明部分中使用type语句定义新的数据类型。状态变量(如现态和次态)应定义为信号,便于信息传递,并将状态变量的数据类型定义为含有既定状态元素的新定义的数据类型。其中新定义的数据类型名是FSM_ST,其元素类型分别为s0,s1,s2,s3,s4,使其恰好表述状态机的五个状态。在此设计模块说明部分,定义了五个文字参数符号,代表五个状态。对于此程序,如果异步清零信号reset有过一个复位脉冲,当前状态即可被异步设置为S0;与此同时,启动组合进程,“执行”条件分支语句。 三、设计程序 设计程序见附录。 四、设计结果及分析 1、生成symbol图 图(一)symbol图 2、时序波形图 通过分析波形,进一步了解状态机的工作特性。需要注意,reset信号是低电平有效的,而clk是上升沿有效的,所以reset有效脉冲后的第一个时钟脉冲是第二个clk脉冲,第三个脉冲的上升沿后,现态c_st即进入状态S1.同时输出8,即“1000”。

EDA课程设计报告

学号 EDA课程设计 课程名称 EDA技术 题目名称简易逻辑分析仪 学生学院信息工程学院 _ 专业班级 学号 学生姓名 2012年 1 月 1 日

简易逻辑分析仪的设计 1. 设计的任务与要求 设计并制作一个8 路数字信号发生器与简易逻辑分析仪,其结构框图如图1 所示: 图12.1. 简易逻辑分析仪系统结构框图 1.1设计基本要求 基本要求: (1)制作数字信号发生器能产生8路可预置的循环移位逻辑信号序列,输出信号为TTL 电平,序列时钟频率为100Hz,并能够重复输出。逻辑信号序列示例如图2所示。 (2)制作简易逻辑分析仪 a.具有采集8路逻辑信号的功能,并可设置单级触发字。信号采集的触发条件为各路被测信号电平与触发字所设定的逻辑状态相同。在满足触发条件时,能对被测信号进行一次采集、存储。 b .能利用模拟示波器清晰稳定地显示所采集到的8路信号波形,并显示触发点位置。 c.8位输入电路的输入阻抗大于50k Ω,其逻辑信号门限电压可在0.25~4V范围内按16级变化,以适应各种输入信号的逻辑电平。 d.每通道的存储深度为20bit。

图12.2 重复输出循环移位逻辑序列00000101 1.2 设计发挥部分 (1)能在示波器上显示可移动的时间标志线,并采用LED或其它方式显示时间标志线所对应时刻的8路输入信号逻辑状态。 (2)简易逻辑分析仪应具备3级逻辑状态分析触发功能,即当连续依次捕捉到设定的3 个触发字时,开始对被测信号进行一次采集、存储与显示,并显示触发点位置。3级触发字可任意设定(例如:在8路信号中指定连续依次捕捉到两路信号11、01、00作为三级触发状态字)。 (3)触发位置可调(即可选择显示触发前、后所保存的逻辑状态字数)。(4)其它(如增加存储深度后分页显示等)。 2. 方案论证与选择 2.1 数字信号发生器方案 ?利用单片机内的定时器,产生计数溢出中断,从而实现信号频率要达到100Hz的要求。 ?当改变拨段开关的预设值后,按下数字开关,单片机会重新读入8位数据,并对改变后的数据进行读取和输出。 ?在中断程序中对信号实现循环右移和输出,每次中断到来的时候,单片机便对输出端口输送一组信号。

eda课程设计1203010

《EDA技术》 课程设计报告 题目: FPGA数字时钟设计 班级: 12电信本2 学号: 1203010211 姓名:高翔 同组人员:汤吉鑫王正提 指导教师:杨祖芳 2015年 5月1日

目录 1 设计任务 (1) 2 总体设计方案 (1) 2.1 设计思路 (1) 2.2 总体设计框图 (1) 3 单元电路设计 (1) 3.1 秒计数器模块设计与实现 (1) 3.2 分计数器模块设计与实现 (3) 3.3 时计数器模块设计与实现 (4) 3.4 校准模块 (5) 3.5 BCD七段显示译码器 (5) 3.6 3-8线译码器模块设计与实现 (6) 3.7 分频器的设计与实现 (7) 3.8 去抖模块 (7) 3.9 动态扫描数码显示器 (8) 3.10 顶层原理设计图 (8) 4 硬件测试与结果分析 (9) 4.1 硬件测试 (9) 4.2 测试过程及结果分析 (9) 5 收获与体会 (10) 参考书目 (10) 附录 (11)

1 设计任务 设计并实现具有一定功能的数字钟。包括清零、置数、计数、报时等功能。 (1)具有时、分、秒计数显示功能,且以24小时循环计时。 (2)具有清零的功能,且能够对计时系统的小时、分钟进行调整。 (3)具有整点报时功能。 2 总体设计方案 2.1 设计思路 本设计采用层次化设计方式,先设计数字时钟的底层器件:秒计数器、分 计数器、时计数器、bcd 七段显示译码器、3-8译码器、分频器、动态扫描数码显示器。顶层采用原理图设计方式,将所设计的底层器件连接起来构成一个具有计时和调时功能的数字时钟。 2.2 总体设计框图 图2-2 设计框图 3 单元电路设计 3.1 秒计数器模块设计与实现 计时模块使用的时钟信号为1Hz 。秒计时模块为60进制计数器,也可以看为个位为10进制十位为6进制。当秒的个位显示到9时,下一秒向十位进1 并将个位重新归零并开始计数,当十位为5个位为9时,计时器下一秒向分计数器进1并同时将秒计时器个位、十位归零。也可以看成计时器从00开始计数到59,当秒显示为59时,下一秒将显示00并从新开始计数,同时向分位为进1。当秒计时模块中扫描到有按键按下时,直接向分计时器进1,但不影响秒计时器的正常计数(扫描按键是

相关文档