EDA的实验报告

EDA的实验报告
EDA的实验报告

杭州电子科技大学

实验报告

实验课程名称

指导教验验序内号容级名号师

eda技术 1 分频器与频率计设计 123 吕文 123 黄某

二○一四年 4月 18 日

一、实验的目的与要求

实验名称:分频器与频率计设计

实验目的:1、初识verilog hdl语言熟练verilog 的语法

2、学习quartus调用modelsim进行仿真

3、掌握用fpga实现简易的分频器与频率计的原理与方法

实验要求:1、设计一个可控分频器,输入20mhz或 12mhz 时钟(可选择其中一种),输出100hz~10khz,输出100hz ~ 10khz,输出频率数控可调(按键或者使用in-system sources and probes),输出波形占空比为50%,接蜂鸣器;

2、设计一个简易频率计,输入为方波,测量频率的范围100hz ~ 9999hz ,测量精度<1%,频率计输出可以接数码管或者使用in-system sources and probes观察

3、分频器输出接频率计的输入

二、实验原理

分频器的原理:把输入的信号作为计数脉冲,由于计数器的输出端口是按一定规律输出脉冲的,所以对不同的端口输出的信号脉冲,就可以看作是对输入信号的”分频“。

频率计是对信号的频率进行测量并显示测量结果。原理就是在1秒钟内对时钟计数,得到的数字就是频率大小。

频率计的设计是用一个标准的时钟20mhz来做参照,以1s钟为周期,为20000000个周期,同时定义一个计数的变量q ,当输入的端口出现上升沿的时候,变量加1,那么在一秒钟内cout的数值即为,该波形的频率。

最后将分频器的输出端口接入频率计的输入端口,用频率计来测量波形的频率大小,通过比较实际的频率fre1与测出来的频率大小fre2,就知道了该频率计的误差。

三、实验内容

实验步骤 1、大概的把框架建起来,把思路想好

2、先设计一个符合要求的分频器

3、进行仿真,看效果

3、再设计一个符合要求的频率计

4、用modelsim进行仿真

5、把这两部分连接起来,最后进行仿真得到结果

6、得到频率计的测频误差

本实验分频器的时钟是20mhz,分频出来的是100hz~10khz的波形,那么就定义一个变量当做分频比[17:0] div ,可以用按键来控制div的大小,继而实现分频出来的大小。

分频器veliog程序:

module fenpin(clk,rst,cout,dout,data); input clk,rst;

input [17:0] data;

output [17:0] dout;

output cout;

reg[17:0] q1; reg cout;

assign dout=q1;

always @(posedge clk or negedge rst)begin if(!rst) q1<=0;

else if(q1<=data)

q1<=q1+1;

else

q1<=0;

end

always @ (posedge clk or negedge rst ) begin

if(!rst)

cout<= 1b0 ; else if( q1<= data/2)

cout <= 1b1 ;

else

cout <= 1b0 ;

end

endmodule 程序设计框图

仿真波形

次波形可看出为[17:0]的分频比,且设置的仿真时间为5000ps篇二:eda实验报告

《数字电路与系统设计》

eda实验报告

班级:021014 学号:021012** 姓名:张** 西安电子科技大学电子工程学院

双路并行交通灯实验设计

一、实验功能介绍

本系统是根据实际交通情况,利用verilog语言设计,并在basys2 fpga开发板上实现

的双路并行交通灯。该系统有下面4个状态:

1. 道路1的红灯转绿灯,同时道路2的黄灯转红灯,时间持续10秒钟;

2. 道路1的

绿灯转黄灯,同时道路2的红灯接着亮,时间持续2秒钟; 3. 道路1的黄灯转红灯,同时

道路2 的红灯转绿灯,时间持续10秒钟; 4. 道路1的红灯持续亮,同时道路2的绿灯转

黄灯,时间持续2秒钟;交通灯满足每条支路的工作状态为:

支路上的每盏灯由开发板上的led灯代替,同时开发板上的数码管也实时显示两条路上

灯的剩余点亮时间,同时每盏灯的点亮时间可在程序中自行设计。系统中设置了一个复位键,

复位键按下,系统立马回复到状态1.

二、实验条件

basys2 fpga开发板是一个电路设计实现平台,任何人都可以通过它来搭建一个真正的

数字电路。basys2是围绕着一个spartan-3e fpga芯片和一个atmel at90usb usb控制器搭

建的,它提供了完整、随时可以使用的硬件平台,并且它适合于从基本逻辑器件到复杂控制

器件的各种主机电路。

主要特点如下:xilinx spartan 3e fpga,10万或25万门,fpga特性18位乘法器,

72位高速双端口block ram,以及500mhz+运算能力,usb2.0高速接口提供fpga配置和数

据传输,xilinx platform flash rom可以无限次存储fpga配置,用户可配置晶振(25,

50,100mhz),另附可连接第二个时钟晶振的插

座,三个内置稳压器(1.2v,2.5v,和3.3v),允许使用3.5v-5.5v的外部电源供电,

8个用户可编程led指示灯,4个七段数码管显示器,4个按键开关,8个滑动开关,1个ps/2

接口和1个8位vga显示接口,4个6针用户扩展接口,可以用来连接digilent pmod附属

电路板,需要adept2.0或更新版本软件来进行操作。

2.仿真软件 modelsim se 6.5e modelsim是业界最优秀的hdl语言仿真软件,它能提供友好的仿真环境,是业界唯一的

单内核支持vhdl和verilog混合仿真的仿真器。它采用直接优化的编译技术、tcl/tk技术、

和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护ip核,个性化的

图形界面和用户接口,为用户加快调错提供强有力的手段,是fpga/asic设计的首选仿真软

件。

3.电子设计软件xilinx ise design suite 13.2 xilinx ise design suite是利用新技术来降低总设计成本的电子设计套件软件,并且

实现了比任何其它 pld 解决方案更高的性能。借助 xilinx ise design suite 的突破性技

术提高系统级设计效率并加快产品投产。 ise design suite 采用各种方法来实现团队设计、

功耗优化以及简化 ip 集成,从而分发挥 xilinx 目标设计平台在配置逻辑、嵌入式和 dsp

设计方面的潜力。

4.开发语言--verilog hdl

verilog hdl就是在用途最广泛的c语言的基础上发展起来的一种硬件描述语言,它是

由gda(gateway design automation)公司的philmoorby在1983年末首创的,最初只设计了

一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年moorby

推出它的第三个商用仿真器verilog-xl,获得了巨大的成功,从而使得verilog hdl迅速得

到推广应用。1989年cadence公司收购了gda公司,使得veriloghdl成为了该公司的独家

专利。1990年cadence公司公开发表了verilog hdl,并成立lvi组织以促进verilog hdl

成为ieee标准,即ieee standard 1364-1995. verilog hdl的最大特点就是易学易用,如果有c语言的编程经验,可以在一个较短的

时间内很快的学习和掌握,因而可以把verilog hdl内容安排在与asic设计等相关课程内部

进行讲授,由于hdl语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时

获得设计实际电路的经验。与之相比,vhdl的学习要困难一些。但verilog hdl较自由的语

法,也容易造成初学者犯一些错误,这一点要注意。

三、实验过程 1. 系统组成框图:

同时系统还有reset复位输入,当reset按下时,系统立马转成初始状态,上述框图是

建立在reset键未按下基础上的。

2. 模块划分及各个模块的详细功能:

组成系统的模块有:周期信号生成模块,led状态判断模块,交通灯计时模块,数字分

离模块,数码管动态显示模块。

利用内部的50mhz的时钟信号生成周期可定的信号。 b) led状态判断模块

只要每一秒的上升沿到来,就会根据目前的状态判断是否时间已经到达需要转换至下一个状态。只要状态一改变,立即控制灯,以改变led灯的状态。

c) 交通灯计时模块

利用生成的周期信号同时计算两条路上亮灯的持续时间,即为交通灯的秒数。

d) 数字分离模块

将十进制的秒数分离为单独的十位和个位。 e) 数码管动态显示模块

根据数字分离的四个数字,利用产生的周期信号循环点亮四个数码管。

3. 流程图及流程图详细介绍:

a) 周期信号生成模块篇三:eda技术实验报告完整版

福建农林大学金山学院

课程名称:姓名:系:专业:年级:学号:指导教师:职称:信息工程类

实验报告

eda技术邱彬彬信息与机电工程系电子信息工程专业

2010级 100201079 蔡剑卿讲师

2013年 05月03日

实验项目列表

福建农林大学金山学院信息工程类实验报告

系:信息与机电工程系专业:电子信息工程年级: 2010级姓名:邱彬彬学号: 100201079 实验课程: eda技术

实验室号:__田实405 实验设备号: 2b 实验时间: 2013年4月13日指导教师签字:成绩:

实验一 quartus ii 9.0软件的使用

1.实验目的和要求

本实验为验证性实验,其目的是熟悉quartus ii 9.0软件的使用,学会利用quartus ii 9.0软件来完成整个eda开发的流程。 2.实验原理

利用vhdl完成电路设计后,必须借助eda工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在fpga上完成硬件实现,并得到硬件测试,从而使vhdl设计得到最终的验证。

quartus ii是altera提供的fpga/cpld开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。 3.主要仪器设备(实验用的软硬件环境)

实验的硬件环境是:

微机一台

gw48 eda实验开发系统一套电源线一根十芯jtag口线一根 usb下载线一根 usb下载器一个实验的软件环境是:

quartus ii 9.0软件

4.操作方法与实验步骤

利用quartus ii 9.0软件实现eda的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。

利用quartus ii 9.0软件实现引脚锁定和编译文件下载。

利用quartus ii 9.0软件实现原理图输入设计文件的编辑和产生相应的原理图符号元件。

5.实验内容及实验数据记录

安装quartusii软件;

因为实验时我的机器了已经有quartusii软件,所以我并没有进行安装软件的操作。

设计半加器:

在进行半加器模块逻辑设计时,采用由上至下的设计方法,在进行设计输入时,需要由

下至上分级输入,使用quartusiigraphic editor进行设计输入的步骤如下。(1)、打开

quartusii软件,选择file-new project wizard?新建一个设计实体名为has的项目文件;(2)、

新建文件,在block.bdf窗口下添加元件符号,并连接。如下图:

半加器原理图

(5)在主菜单中选择file→new命令,打开new对话框。单击new对话框中的other files

选项卡标签,再选择vector waveform file选项,单击ok按钮,组建一个waveform1.vwf

的波形文件。

(6)在waveform1.vwf的波形文件左侧单击右键,选择insert→insert node or bus

(或直接双击界面)打开后再选择node finder按钮,打开。在出现的对话框中的filter

下拉列表中选择pins:all项,单击list按钮,在nodes found列表中显示项目中的所有引

脚节点。将所有节点都添加到selected nodes列表中,确定,关闭对话框。

(7)选择主菜单中的edit→end time命令,打开对话框,在time编辑框中输入100,

单位us。按住ctrl键,同时向下滚动鼠标滑轮,使窗口比例合适,拖动选择节点a的一段

波形,使其被选中,然后单击左侧工具栏的按钮,使选中的一段波形状态变为1。采取同样

的方法,将输入点都进行设置。(8)选择file→save命令,接受默认名称has.scf,确定,

存盘。

为了对设计进行仿真,创建的波形文件的名称必须与设计文件的名称相同,并且它们要

保存在同一个子目录下。(9)选择processing→start simulation命令。如果没有错误的

话,弹出simulator was successful。仿真波形如下图:篇四:南昌大学eda实验报告完整

eda 实验报告

姓名:学号:老师:杨鼎成班级:通信工程132班

目录

实验一半加器及全加器的设

计 ............................................................................. . (3)

实验二模可变计数器的设

计 ............................................................................. (6)

实验三序列信号检测器的设

计 ............................................................................. (11)

实验四交通灯控制器设

计 ............................................................................. . (15)

实验五多功能数字钟设

计 ............................................................................. .. (22)

实验六出租车计费器的设

计 ............................................................................. (34)

南昌大学实验报告

学生姓名:曾维鋆学号: 61002213863 专业班级:通信132班实

验类型:□验证□综合█设计□创新实验日期:实验成绩:

实验一半加器及全加器的设计

(一)实验目的

1、熟悉实验装置和quartusⅱ软件的使用;

2、熟悉和掌握eda设计流程;

3、学习简单组合、时序电路的eda设计;

4、熟悉例化语句的应用。

(二)实验内容

设计一个一位全加器。先设计一个半加器h_adder.v作为预存文件。然后设计顶层文件

对h_adder.v文件进行调用,实现全加器的功能。

(三)实验原理

由3个逻辑模块组成,其中两个为半加器,一个是或门。

真值表

(四)实验步骤

1.建立工作库文件夹,输入半加器和全加器的verilog hdl代码并分别存盘。

a.半加器

module h_adder(a,b,so,co); input a,b;

3 output so,co;

assign so=a^b;

assign co=a&b;

endmodule b.全加器

module f_adder(ain,bin,cin,cout,sum); output cout,sum;

input ain,bin,cin;

wire net1,net2,net3;

h_adder u1(ain,bin,net1,net2); h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3)); or u3(cout,net2,net3);

endmodule

2.选目标器件cycloneii中的ep2c35f672c8并编译。

3.建立仿真波形文件,进行波形仿真。

仿真波形与真值表对应,结果一致,说明程序编写正确,仿真成功。

4.引脚锁定,包装元件。

5 .下载测试

下载到试验箱上进行测试。拨动开关得出结果,按照真值表上对结果进行验证。可以发

现与真值表上的结果完全一致,说明设计符合设计要求。

6 实验总结

初步了解verilog语言以及学习quartus ii软件的使用,能够熟练地使用软件建立工程,

编写代4 码,建立波形文件,引脚锁定,下载程序到试验箱。除此,还知道了verilog hdl元件

例化语句的编写与调试。使我对eda从理论到实践,大体上有了一个初步的了解及认识。

5篇五:eda技术实验报告

实验一利用原理图输入法设计4位全加器

一、实验目的:

掌握利用原理图输入法设计简单组合电路的方法,掌握max+plusii的层次化设计方法。

通过一个4位全加器的设计,熟悉用eda软件进行电路设计的详细流程。二、实验原理:一个4位全加器可以由4个一位全加器构成,全加器的进位以串行方式实现,即将低位

加法器的进位输出cout与相邻的高位加法器的低位进位输入信号cin相接。

1位全加器f-adder由2个半加器h-adder和一个或门按照下列电路来实现。

半加器h-adder由与门、同或门和非门构成。

co 四位加法器由4个全加器构成

三、实验内容:

1. 熟悉quartusii软件界面,掌握利用原理图进行电路模块设计的方法。 quartusii设

计流程见教材第五章:quartusii应用向导。 2.设计1位全加器原理图

(1)生成一个新的图形文件(file->new->graphic editor)(2)按照给定的

原理图输入逻辑门(symbol->enter symbol) (3)根据原理图连接所有逻辑门的端口,

并添加输入/输出端口

1s2

s3

s4

co (4)为管脚和节点命名:

在管脚上的pin_name处双击鼠标左键,然后输入名字;选中需命名的线,然后输入名

字。(5)创建缺省(default)符号:

在 file菜单中选择 create symbol files for current file 项,即可创建一个设计

的符号,该符号可被高层设计调用。

3.利用层次化原理图方法设计4位全加器

(1)生成新的空白原理图,作为4位全加器设计输入

(2)利用已经生成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.

4.新建波形文件(file->new->other files->vector waveform file),保存

后进行仿真(processing ->start simulation),对4位全加器进行时序仿真。给出波形

图,并分析仿真结果是否正确。 1位半加器:原理图:

仿真波形:

1位全加器:原理图:

仿真波形:

4位全加器:原理图:

仿真波形:

4位全加器仿真结果正确:

例:0011(a)+0111(b)+0(ci)结果为1010(s),进位co为0。

5.思考如何在原理图中输入一个总线,并与其他总线连接?

先选中细线,然后右击,选”bus line”,总线是以粗线条表示。与其他总线连接:例如

一根8位的总线 bus1[7..0]欲与另三根分别为1、3、4个位宽的连线相接,则它们的标号可

分别表示为bus1[0],bus1[3..1],bus1[7..4]。

实验二简单组合电路的设计

一、实验目的:

熟悉quartusii vhdl文本设计流程全过程。学习简单组合电路的设计、多层次电路设计、

仿真和硬件测试。二、实验原理

vhdl硬件描述语言是一种可以从多个层次上对数字逻辑电路进行建模的国际标准

(ieee),本次实验

是用vhdl设计一个简单的数字组合逻辑电路,并结合quartusii环境和实验电路进行硬

件测试。三、实验内容:

1)根据实验一中一位全加器的电路原理图,改用vhdl语言文本输入方法,设计一位全

加器,要求采用

结构化的描述方法。设计完成后,利用quartusii集成环境进行时序分析、仿真,记录

仿真波形和时序分析数据。

2)用vhdl语言设计一个四选一数据选择器电路。

要求先设计一个二选一数据选择器mux21,然后利用元件例化语句设计四选一数据选择

器mux41,同样请给出时序分析数据和仿真结果。

3)硬件测试(选用器件 epf10k10 pin84)管脚锁定:

1)一位全加器 a pio23(i/o19) 30 sw1 b pio24(i/o20) 35

sw2 ci pio25(i/o21) 36 sw3 s pio21(i/o16)

27 led10 co pio19(i/o8) 29 led12 2)四选一数据选择器 a1

pio23 30 sw1

a0 pio24 35 sw2 d3 pio27 38 sw5 d2 pio28 39 sw6 d1 pio29 47 sw7

d0 pio30 42 sw8 yout 29 led12

四、思考题

比较原理图输入法和文本输入法的优缺点。

西安电子科技大学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实验报告

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

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 触发器

基于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交通灯实验报告

实验:交通灯设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿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实验报告

电子科技大学成都学院 实验报告册 课程名称: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实验报告模板

《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实验报告

湖北民族学院信息工程学院实验报告 (电气、电子类专业用) 班级: 09 姓名:周鹏学号:030940908 实验成绩: 实验地点: EDA实验室 课程名称:数字系统分析与设计实验类型:设计型 实验题目:实验一简单的QUARTUSII实例设计,基于VHDL格雷码编码器的设计 实验仪器:HH-SOC-EP3C40EDA/SOPC实验开发平台,PC机。 一、实验目的 1、通过一个简单的3—8译码器的设计,掌握组合逻辑电路的设计方法。 2、初步了解QUARTUSII原理图输入设计的全过程。 3、掌握组合逻辑电路的静态测试方法。 4、了解格雷码变换的原理。 5、进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。 6、进一步掌握实验系统的使用。 二、实验原理、原理图及电路图 3-8译码器三输入,八输出。当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。其真值表如表1-1所示 输入输出 A B C D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0

1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 表1-1 三-八译码器真值表 译码器不需要像编码器那样用一个输出端指示输出是否有效。但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。 三、实验步骤及内容 实验内容一: 在本实验中,用三个拨动开关来表示三八译码器的三个输入(A、B、C);用八个LED来表示三八译码器的八个输出(D0-D7)。通过输入不同的值来观察输入的结果与三八译码器的真值表(表1-1)是否一致。实验箱中的拨动开关与FPGA的接口电路如下图1-1所示,当开关闭合(拨动开关的档位在下方)时其输出为低电平,反之输出高电平。实验内容二: 本实验要求完成的任务是变换12位二进制码到12位的格雷码。实验中用12位拨动开关模块的K1~K12表示8位二进制输入,用LED模块的LED1~LED12来表示转换的实验结果十二位格雷码。实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。通过输入不同的值来观察输入的结果与实验原理中的转换规则是否一致。实验箱中的拨动开关、与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。 实验步骤一: 1、建立工程文件 1)选择开始>程序>Altera>QuartusII8.1> QuartusII8.1(32BIT),运行QUARTUSII 软件。或者双击桌面上的QUARTUSII的图标运行QUARTUSII软件,出现如图1-3所示,如果是第一次打开QUARTUSII软件可能会有其它的提示信息,使用者可以根据自己的实际情况进行设定后进入图1-3所示界面。

EDA仿真实验报告

EDA仿真实验报告 姓名: 学号: 班级:

一.实验目的 1.了解EDA技术的发展、应用。 2.学习Multisim的使用。 二.实验内容 1.与非门实现四舍五入 2.用74LS138和必要的门电路设计一个表决电路 3.用74LS85设计四位数值比较器 三.实验软件与环境 1.EDA技术 EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。 2.EDA的应用 EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。 主要是了解EDA的基本概念和基本原理、使用EDA的某种工具进行电子课程的实验并从事简单系统的设计,为今后工作打下基础。

3.Multisim Multisim是Interactive Image Technologies公司推出的以Windows 为基础的板级仿真工具,适用于模拟/数字线路板的设计。 本实验使用了NI Multisim 14.0 软件。 四.实验内容与步骤 1.与非门实现四舍五入电路(只能用与非门) 真值表: 逻辑表达式:F=m(5,6,7,8,9)

2.用74LS138和必要的门电路设计一个表决电路 真值表: F=M'ABC+MA'BC+MAB'C+MABC'+MABC=MAB+MAC+MBC+ABC 电路方面要注意输出为低电平,所以要用与非门。

eda实验报告

一位全加器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components. --library UNISIM; --use UNISIM.VComponents.all; entity adder is port(a,b,cin:in std_logic; co,so:out std_logic); end adder; architecture Behavioral of adder is signal temp1,temp2:std_logic; begin temp1<= a xor b; temp2<= temp1 and cin; so<= temp1 xor cin; co<= temp2 OR (a AND b); end Behavioral; 四位全加器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components. --library UNISIM; --use UNISIM.VComponents.all; entity counter10 is

EDA技术基础实验报告

EDA技术基础实验报告 学院:信息科学与技术学院 班级: 姓名: 学号:

实验一 MAX—plusII及开发系统使用 一、实验目的 1、熟悉利用MAX-plusⅡ的原理图输入方法设计简单的组合电路 2、掌握层次化设计的方法 3、熟悉DXT-BⅢ型EDA试验开发系统的使用 二、主要实验设备 PC 机一台(中档以上配置),DXT-B3 EDA实验系统一台。 三、实验原理 数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。 因为本实验是在计算机平台上进行,因此实验方式,实验手段和实验仪器与传统的实验有很大的区别,主要体现在以下几个方面: 1、实验器材集中化,所有实验基本上在一套实验设备上进行。 传统的实验每作完一个实验,实验器材基本上都要变动(个别除外)。而做本实验时,只要在计算机上把不同的程序输进去,其它步骤所有实验都一致; 2、实验耗材极小(基本上没有耗材); 3、在计算机上进行,自动化程度高,人机交互性好,修改、验证实验简单; 4、下载后,实验结果清晰; 5、实验仪器损耗少,维护简单; 下面,就本套实验设备做一个简单的介绍。 1、Max+PlusII软件的安装步骤: 第一步:系统要求 奔3CPU以上,128M内存以上,4G 以上硬盘,98 操作系统(98或Me操作系统才可以下载,其他操作系统下载必须安装驱动,否则只能仿真,如果只是进行仿真的话,对系统没要求) 第二步:安装 点击安装可执行文件进行安装,安装完毕后会弹出一对话框,点击是或否都可以。 第三步:将安装文件夹中的License 文件夹打开,里面有一个License.bat 注册文件,

EDA实验报告-实验3计数器电路设计

暨南大学本科实验报告专用纸 课程名称 EDA实验成绩评定 实验项目名称计数器电路设计指导教师郭江陵 实验项目编号 03 实验项目类型验证实验地点 B305 学院电气信息学院系专业物联网工程 组号: A6 一、实验前准备 本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为; EDAPRO/240H实验仪主板的VCCIO 跳线器组中“”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为。请参考前面第二章中关于“电源模块”的说明。 二、实验目的 1、了解各种进制计数器设计方法 2、了解同步计数器、异步计数器的设计方法 3、通过任意编码计数器体会语言编程设计电路的便利 三、实验原理 时序电路应用中计数器的使用十分普遍,如分频电路、状态机都能看到它的踪迹。计数器有加法计数器、可逆计数器、减法计数器、同步计数器等。利用MAXPLUSII已建的库74161、74390分别实现8位二进制同步计数器和8位二——十进制异步计数器。输出显示模块用VHDL实现。 四、实验内容 1、用74161构成8位二进制同步计数器(程序为T3-1); 2、用74390构成8位二——十进制异步计数器(程序为T3-2); 3、用VHDL语言及原理图输入方式实现如下编码7进制计数器(程序为T3-3): 0,2,5,3,4,6,1 五、实验要求 学习使用Altera内建库所封装的器件与自设计功能相结合的方式设计电路,学习计数器电路的设计。 六、设计框图 首先要熟悉传统数字电路中同步、异步计数器的工作与设计。在MAX+PLUS II中使用内建的74XX库选择逻辑器件构成计数器电路,并且结合使用VHDL语言设计转换模块与接口模块,最后将74XX模块与自设计模块结合起来形成完整的计数器电路。并借用前面设计的数码管显示模块显示计数结果。 ◆74161构成8位二进制同步计数器(程序为T3-1)

EDA实验报告

一MAX –plusII及开发系统使用 一、实验目的 1、熟悉利用MAX-plusⅡ的原理图输入方法设计简单的组合电路 2、掌握层次化设计的方法 3、熟悉DXT-BⅢ型EDA试验开发系统的使用 二、主要实验设备 PC 机一台(中档以上配置),DXT-B3 EDA实验系统一台。 三、实验原理 数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。 因为本实验是在计算机平台上进行,因此实验方式,实验手段和实验仪器与传统的实验有很大的区别,主要体现在以下几个方面: 1、实验器材集中化,所有实验基本上在一套实验设备上进行。 传统的实验每作完一个实验,实验器材基本上都要变动(个别除外)。而做本实验时,只要在计算机上把不同的程序输进去,其它步骤所有实验都一致; 2、实验耗材极小(基本上没有耗材); 3、在计算机上进行,自动化程度高,人机交互性好,修改、验证实验简单;

4、下载后,实验结果清晰; 5、实验仪器损耗少,维护简单; 下面,我们就本套实验设备做一个简单的介绍。 (一)Max+plusⅡ10.0的使用。 1、Max+PlusII软件的安装步骤: 第一步:系统要求 奔3CPU以上,128M内存以上,4G 以上硬盘,98 操作系统(98或Me操作系统才可以下载,其他操作系统下载必须安装驱动,否则只能仿真,如果大家只进行仿真的话,对系统没要求) 第二步:安装 点击安装可执行文件进行安装,安装完毕后会弹出一对话框,点击是或否都可以。 第三步:将安装文件夹中的License 文件夹打开,里面有一个License.bat 注册文件,将此文件复制到你的安装目录下(你的安装目录可放在任一个驱动器下,然后建立一个Max10的文件夹,将系统安装在此文件夹中,安装后此文件夹中会有三个文件夹)的任一个文件夹中,要清楚位置。 第四步:注册 启动Max+PlusII 软件,可以从开始-->程序-->Altera-->Max+PlusII 打开,也可以建立一个快捷方式在桌面上。启动软件后, 会有弹出一个对话框,点击是或否都可以,然 后进入系统。点击菜单中的Options,然后选 中License菜单项,打开弹出一个注册对话框, 在注册文件路径中打开你第三步中复制位置的 License 文件,然后点击OK,注册完毕。 2、 max+plusⅡ软件基本设计流程

EDA技术实验报告完整版

福建农林大学金山学院 信息工程类 实验报告 课程名称:EDA技术 姓名:邱彬彬 系:信息与机电工程系 专业:电子信息工程专业 年级:2010级 学号:100201079 指导教师:蔡剑卿 职称:讲师 2013年05月03日

实验项目列表

福建农林大学金山学院信息工程类实验报告 系:信息与机电工程系专业:电子信息工程年级: 2010级 姓名:邱彬彬学号: 100201079 实验课程: EDA技术 实验室号:__田实405 实验设备号: 2B 实验时间: 2013年4月13日指导教师签字:成绩: 实验一Quartus II 9.0软件的使用 1.实验目的和要求 本实验为验证性实验,其目的是熟悉Quartus II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。 2.实验原理 利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。 Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。 3.主要仪器设备(实验用的软硬件环境) 实验的硬件环境是: 微机一台 GW48 EDA实验开发系统一套 电源线一根 十芯JTAG口线一根 USB下载线一根 USB下载器一个 实验的软件环境是: Quartus II 9.0软件 4.操作方法与实验步骤 利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。 利用Quartus II 9.0软件实现引脚锁定和编译文件下载。

EDA实验报告模板

《EDA技术》实验报告 系别: 专业: 班级:学号: 姓名: 指导教师: 实验课程: 实验地点:EDA实验室 年月日

实验教师填阅

实习报告要求 1 封面——指定样稿 2 纸张——A4纸 3.格式要求如下

实验课程名称:EDA技术 (居中,三号宋体,加粗,占4行) 一、实验目的(左顶格,四号宋体,加粗,占2行,不接排) 1、了解EDA技术及常用EDA软件的用途(小4号宋体,)(正文)×××××(小4号宋体,接排) 2、了解电路设计中常用器件并能正确选择(同上)。 3、掌握Protel99 Se的基本使用(同上)。 二、实验课时:16学时(左顶格,四号宋体,加粗,占2行,不接排) 三、实验地点:EDA实验室(左顶格,四号宋体,加粗,占2行,不接排) 四、实验内容: 在电路板设计软件Protel99 Se环境下,完成稳压电源的原理图、PCB板的设计(或8051按键实验板原理图、PCB板的设计) 五、实验步骤:(要求详细描述各步骤的操作过程) 1.电路原理图的设计(小4号宋体,加粗)(要求截入设计的原理图,并 列出设计步骤,可用流程图表示) 图1. 稳压电源原理图(五号字体)

2.报表的生成(包括网络报表、元器件列表。电气规则测试报告, 并列出报表生成步骤) 。。。正文(小四,行距20磅) 3.印制电路板的设计(截入设计的原理图,并列出设计步骤)。。。 六实验总结: 1、总结设计电路板的过程或流程,及设计过程中应注意的问题。 a、电路原理图的设计流程。 b、生成报表,包括(网络报表,原件列表,电气规则测试报告)。 c、印制电路板的设计流程。 2、什么是元器件的封装,列出你所知道的电子元器件的基本封装类型,并说明其含义(至少列出六种)。 3、网络报表在电路板设计过程中起什么作用,并说明网络报表的内容都包括那些?。。 4、在电路板的设计过程中你都遇到的那些问题?是如何解决的? 。。 5、总结本课程的实验心得,提出你的意见和建议。

EDA实验报告四(状态机实现序列检测器的设计)

实验四:状态机实现序列检测器的设计 一、实验目的 1、了解和学习Quartus II 7.2软件设计平台。 2、了解EDA的设计过程。 3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。 4、学习和掌握状态机的工作和设计原理。 5、掌握用VHDL 实现状态机的方法 6、利用状态机设计一个序列检测器 二、实验仪器 PC机,操作系统为Windows7/XP,本课程所用系统均为WindowsXP(下同),Quartus II 7.2设计平台。 三、实验步骤 1、创建工程,在File菜单中选择New Project Wizard,弹出对话框如下图所示 在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。 2、新建设计文本文件,在file中选择new,出现如下对话框:

选择VHDL File 点击OK。 3、文本输入,在文本中输入如下程序代码: LIBRARY IEEE; USE IEEE. STD_LOGIC_1164. ALL; ENTITY fsm IS port(clk,x:IN STD_LOGIC; z:OUT STD_LOGIC); END fsm; ARCHITECTURE bhv OF fsm IS TYPE STATE IS(S0,S1,S2,S3); SIGNAL present_state:state; BEGIN PROCESS(clk) BEGIN IF(clk'EVENT AND clk='1')THEN CASE present_state IS WHEN S0=> IF x='1'THEN present_state<=S1; ELSE present_state<=S0; END IF; WHEN S1=> IF x='0'THEN present_state<=S2;

EDA实验报告——计数器

模323计数器设计实验报告 一、实验内容 在QuartusII平台上,利用VHDL代码实现学号323计数器的设计,并在三位数码管显示出来。 二、实验步骤与过程分析 1、建立工程。 打开Quartus II软件平台,点击File---〉new project wizard建立一个工程xuehao_323,工程所在文件夹名字为xuehao_323,设置顶层实体名称为xuehao_323,点击next设置device,按照实验箱上FPGA的芯片名更改编程芯片的设置。 分析: 选择的硬件平台是Altera EPF10K20TI144_4的FPGA试验箱。 2、添加VHDL文件。 在所在工程添加文件cnt10.vhd(十进制计数器),cnt_xuehao.vhd(323进制计数器),scan_led3_vhd.vhd(三位数码管显示),exp_cnt_xuehao323_7seg.vhd(数码管显示323三位学号计数器)四个文件。 这里通过老师给出的代码进行修改且理解: cnt10.vhd如下:

分析: 这是十进制计数器的VHDL代码设计,因为十进制有十个状态,所以输入数据和输出状态需要四位宽,其中输入端口有aclr 清零端,clock时钟信号,cnt_en使能端,data[3..0]数据输入,sload装载使能,当aclr为高电平有效时,输出清零,从0开始,计数为时钟信号clock的上升沿到来时且使能端cnt_en 为高电平有效时自动加1(sload为低电平时),如果装载使能sload为高电平有效时,则装载数据data[3..0],输出端口有两个,分别为cout(当q[3..0]为9时输出为高电平),q[3..0]变化为0—9循环变化。

EDA实验报告三(3-8译码器的设计)

实验三:3-8译码器的设计 一、实验目的 1、学习Quartus II 7.2软件设计平台。 2、了解EDA的设计过程。 3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。 4、学习和掌握3-8译码器的工作和设计原理。 5、初步掌握该实验的软件仿真过程。 二、实验仪器 PC机,操作系统为Windows7/XP,本课程所用系统均为WindowsXP(下同),Quartus II 7.2设计平台。 三、实验步骤 1、创建工程,在File菜单中选择New Project Wizard,弹出对话框如下图所示 在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。 2、新建设计文本文件,在file中选择new,出现如下对话框:

选择VHDL File 点击OK。 3、文本输入,在文本中输入如下程序代码:library ieee; use ieee.std_logic_1164.all; entity variable_decoder is port(A:in STD_LOGIC; B:in STD_LOGIC; C:in STD_LOGIC; Y:out STD_LOGIC_VECTOR(7 downto 0)); end variable_decoder; architecture rtl of variable_decoder is begin process(A,B,C) variable COMB:std_logic_vector(2 downto 0); begin COMB:=C&B&A; case COMB is when "000"=>Y<="11111110"; when "001"=>Y<="11111101"; when "010"=>Y<="11111011"; when "011"=>Y<="11110111"; when "100"=>Y<="11101111"; when "101"=>Y<="11011111";

EDA实验报告

实验报告 课程名称_verilog数字系统设计 __ 学生学院信息工程学院 专业班级13级应用电子专业4班 学号3113002512 姓名陈文威 指导教师罗思杰 2015年11月9 日

实验一简单组合逻辑电路的设计 一、实验要求 1、用verilog HDL语言描写出简单的一位数据比较器及其测试程序 2、用测试程序对比较器进行波形仿真测试;画出仿真波形 3、总结实验步骤和实验结果 二、实验原理与内容 这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0,。在verilog HDL中,描述组合逻辑时常用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。 模块源代码: //--------------------compare--------- module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; endmodule 测试模块用于检测模块设计的正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。 测试模块源代码: `timescale 1ns/1ns module comparetest; reg a,b; wire equal; initial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1; #100 a=1;b=0; #100 $stop; end

相关主题
相关文档
最新文档