文档库 最新最全的文档下载
当前位置:文档库 › EDA实验教程1

EDA实验教程1

EDA实验教程1
EDA实验教程1

设计案例1:16位移位寄存器设计

(一)设计目的

1、学习掌握循环移位寄存器的设计实现方法。

2、熟练运用Quartus II软件,熟悉EDA的VHDL程序设计和实现方法。

3、掌握应用EDA常用工具软件进行时序逻辑电路的设计、分析、综合、仿真等的方法与技巧。

(二)基础知识与能力层次要求

2、能力层次要求:电类专业工程设计能力(设计)(第三级):√

(三)设计技术指标与要求

设计一个16位循环移位寄存器,首先设定参与循环移位的16位数值,而后每来一次脉冲降沿,16位数值依次右移1位。

(四)设计过程详解

4.1设计方案

(1)移位寄存器基本功能

16位循环移位寄存器中,Q表示输入的初始值,DOUT表示当前数值;SET表示预设计数值,SET为“1”,初始计数值打入器件;LR表示移位方向,LR为“0”,循环右移位,LR为“1”,循环左移位;CLK为移位脉冲。16位循环移位寄存器的功能表如下:

表4.1 移位寄存器功能表

CP LD LR 工作状态

X 1 X 置数0—>1 0 0 循环右移

0—>1 0 1 循环左移

移位开始,循环左移时,CLK上每来一个脉冲升沿,寄存器从输出从低位开始依次左移一位,同时最高位给最低位。相反,循环右移时,从最高位开始依次右移一位,同时最低位给最高位。

(2)设计方案

方案一:可以首先设计D触发器,而后通过D触发器的互联实现16位循环移位寄存器;或者使用多片74151芯片互联实现16位循环移位寄存器,具体如图4.1所示。

图4.1 16位循环移位寄存器原理框图1

方案二:采用计数脉冲CLK 作为敏感量,CLK 的每个上升沿,输出量DOUT 的每一位赋给左边一位或右边一位。同时循环左移时,最高位赋给最低位,循环右移时,最低位赋给最高位,语句可采用case...when 、with...select 、if...then 以及加减运算等多种结构实现。具体如图4.2所示。

图4.2 16位循环移位寄存器原理框图2

4.2设计过程

运用Quartus II 软件的文本文件输入方法,编写VHDL 程序,实现16位循环移位寄存器的设计。首先给出设计原理并提出实现方案论证,通过设计输入、编译综合、仿真验证等过程完成并验证设计。 (1)建立循环移位寄存器工程

使用Quartus II 软件建立16位循环移位寄存器工程:如图4.3所示.

16位循环左移电16位

循环

右移

位电

4位全

加器

74283 移位数控制端S 16位并行输入Pin

根据移位方式产生所需要的译码

4位全加器74283 自定义4-16译码

电 路

移位数控制端S

移位方式控制端 A 、B 、LorR

移位方式控制端 A 、B 、LorR

16位循环移位并行输

16位译码序列

循环移位输出信号处理产生最终的期望输出信号

16位自定义移位并行输出

74151

74151

16位并行输入Q

移位数控制端CLK

16位并行输出的一端DOUT

图4.3VHDL工程文件建立(2)程序设计

本例的参考VHDL源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY YWJCQ IS

PORT (CLK,SET,LR:IN STD_LOGIC;

Q: IN STD_LOGIC_VECTOR(15 DOWNTO 0);

D:BUFFER STD_LOGIC_VECTOR(15 DOWNTO 0)); END ENTITY YWJCQ;

ARCHITECTURE ART OF YWJCQ IS

BEGIN

PROCESS(CLK)

V ARIABLE TMP: STD_LOGIC;

BEGIN

IF SET='1' THEN

D<=Q;

ELSIF CLK'EVENT AND CLK='0' THEN

IF LR='1' THEN

TMP:=D(15);

D(15 DOWNTO 1)<=D(14 DOWNTO 0);

D(0)<=TMP;

ELSE

TMP:=D(0);

D(14 DOWNTO 0)<=D(15 DOWNTO 1);

D(15)<=TMP;

END IF;

END IF;

END PROCESS;

END ARCHITECTURE ART;

(3)编译源程序

用VHDL语言编辑源程序,编译运行,具体如图4.5所示。

图4.5VHDL编译界面

4.3分析与结论

(1)生成器件

将设计程序进行打包封装,所生成的器件如图4.6所示。

图4.6VHDL程序生成器件界面

(2)引脚分配

由所生成的器件编辑出原理图,然后进行管脚分配,结果如图4.7所示。

图4.7 管脚分配图(3)仿真波形输入

进行初始值设定,具体如图4.8所示。

进行仿真,具体如图4.9所示。

图4.9 仿真结果图

(4)仿真结果分析

1)波形分析1:移位开始,当SET端置“1”时,不论CLK和LR端口输入何值,其工作状态均显示为“置数”的工作状态。当SET端置“0”,LR端置“0”时,CLK上每来一个脉冲升沿,寄存器输出从高位开始依次右移一位,同时最低位给

最高位,实现“循环右移”。具体如图4.10所示:

图4.10 仿真分析1结果图

2)波形分析2:移位继续,当SET端置“0”,LR端置“1”时,CLK上每来一个脉冲升沿,寄存器输出从低位开始依次左移一位,同时最高位给最低位,实现“循环左移”。具体如下图4.11所示:

图4.12 仿真分析2结果图

设计案例2:十字路口交通灯设计

(一)设计目的

1、学会使用数字电子技术以及EDA技术解决工程实际问题。

2、锻炼自主方案设计能力、软硬件设计能力。

(二)基础知识与能力层次要求

电类专业创新设计能力(创新)(第四级);:√

(三)设计技术指标与要求

1、设计要求

模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED 作为交通信号灯,设计一个交通信号灯控制器。

要求:

(1)交通灯从绿变红时,有5秒黄灯亮的间隔时间;

(2)交通灯红变绿是直接进行的,没有间隔时间;

(3)绿灯时间为26秒,红灯时间为30秒;

(4)在任意时间,显示每个状态到该状态结束所需的时间。

甲道

乙道

图3.1 路口交通管理示意图

表3.1 交通信号灯的4种状态

A B C D

甲道交通灯红(30秒)红绿(26秒)黄(5秒)

乙道交通灯绿黄红红

(四)设计过程详解

4.1、设计原理

本实验中主要应用了状态机以及减法器的设计原理。在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。同时,状态机的设计方法也是数字系统中一种最常用的设计方法。能够做到甲道、乙道的红绿灯闪亮的时间相同,在绿灯跳变红灯的过程中能够用黄灯进行过渡,使得行驶过程中的车辆有足够的时间停下来。同时在甲道、乙道各设立一组计时显示器,能够显示相应的红、黄、绿倒计时。可以利用VHDL语言合理设计系统功能,使红黄绿灯的转换有一个准确的时间间隔和转换顺序。

4.2、系统方案

本设计可分为分频、计数、状态控制、显示分配、译码显示五部分。

进程将CLK信号分频后产生1秒信号,然后构成两个十进制计数器,并产生允许十位计数器计数的控制信号。状态寄存器实现状态转换和产生状态转换的控制信号,下个模块产生次态信号和信号灯输出信号,以及每一个状态的时间值。经过五个模块的处理,使时间计数、红绿灯显示能够正常运行。原理框图如图4.1所示:(顶层原理图见附录6)。

分频器

计数器

(30,26,5)

分配器

状态机

译码器

Clk数码管显示

图4.1 交通信号灯控制器程序原理框图

4.3、实现过程

1计数模块

分频器实现的是将高频时钟信号转换成低频的时钟信号,用于触发控制器和

计数器。该分频器实现的是10兆赫兹分频,将10兆赫兹的时钟信号分频成一赫

兹的时钟信号。生成的模块文件如图4.2所示(VHDL程序见附录1)。

clk rst en k

f enpin

inst3

图4.2 分频器模块文件

2计数模块

计数模块由30进制、26进制、5进制三个计数器用来给状态机做状态切换触发信号,并为显示模块提供倒计时时间。使能端控制定时器是否工作,复位端控制复位。当正常计时开始后,既由最大值开始倒计数,减到1时产生进位信号。以30进制计数器为例,程序流程图如图4.3所示(VHDL程序见附录2)。

开始

En=1?

N=30

n=n-1

Rst=1?

n=1?

Clk ?

图4.3 计数器程序流程图

3状态机模块

控制模块根据外部输入信号和计时模块产生的输出信号,产生系统的状态机,控制其他部分协调工作。计时模块用来为显示译码模块提供倒计时时间。本模块采用状态机进行设计,可以定义出四种状态,分别为S0:甲道红灯且没有车辆行驶,乙道路灯;S1:甲道红灯,乙道道黄灯;S2:甲道绿灯,乙道红灯;S3: 甲道黄灯灯,乙道红灯。利用CASE 语句定义状态的转换方式及时间的变换方式,达到甲道、乙道绿灯亮26秒,红灯亮30秒,黄灯亮5秒的设计要求。 其程序流程图如图4.4所示(VHDL 程序见附录3)。

S0:甲禁止 乙通行

S1:甲禁止 乙停车

S3:甲停车 乙禁止

S2:甲通行 乙禁止

Jia=100

Yi=001Xianshi=0001C30=1、c26=1、

c5=0

Jia=010Yi=001Xianshi=1000C30=1、c26=0、

c5=1

Jia=100Yi=010Xianshi=0010C30=1、c26=0、

c5=1

Jia=001Yi=100Xianshi=0100C30=1、c26=1、

c5=0

Cout26=1

Cout5=1

cout26=1

Cout5=1

图4.4状态机模块序流程图

4显示分配模块

计数模块由三个不同进制的计数器组成,不同状态下,需要将不同的计数器的值赋给两组不同的数码管进行显示,所以需要根据状态机状态信息分配显示状态,其程序流程图如图4.5所示(VHDL程序见附录4).

开始复位rst=1?

Jia=0000

Yi=0000

Kong=0001

Kong=0010

Kong=0100

Kong=1000

Jia<=计数器30

Yi<=计数器26

Jia<=计数器30

Yi<=计数器5

Jia<=计数器26

Yi<=计数器30

Jia<=计数器5

Yi<=计数器30是

图4.5显示分配模块序流程图

5译码显示模块

数码管有7段组成,分共阳极和共阴极,本次设计采用共阳极数码管。当输入为低电平时,数码管显示;当输入为高电平时,数码管不显示。用这样的方法输入不同的高低信号控制数码管的显示。其程序流程图如图4.6所示。

开始使能

有效复位ret有效

data_out=8b00000000

data_out=8b01100000显示1

data_out=8b11011010显示2

data_out=8b11110010显示3

data_out=8b01100110显示4

data_out=8b10110110显示5

data_out=8b10111110显示6

data_out=8b11100000显示7

data_out=8b11111110显示8

data_out=8b11110110显示9

data_out=8b11111100显示1图4.6 译码器程序流程图

4.4 调试及结果

1 分频模块仿真

系统时钟计时模块需要1HZ的脉冲。分频模块主要为系统提供所需的时钟计时脉冲。该模块将10MHZ的脉冲信号进行分频,产生1S的方波,作为系统时钟计时信号。仿真波形其程序流程图如图4.7所示(以九分频为例)。

图4.7 分频模块仿真图

2 计时模块仿真

计数模块由30进制递减计数器、26进制递减计数器、5进制递减计数器组成,分频后得到的1Hz的信号为计数模块提供时钟信号,使能en高电平有效,rst低电平复位,仿真波形如图4.8所示。

图4.8.1 30进制递减计数器模块仿真图

图4.8.2 5进制递减计数器模块仿真图

图4.8.3 26进制递减计数器模块仿真图

3 状态机模块仿真

控制模块根据外部输入信号和计时模块产生的输出信号,产生系统的状态机,控制其他部分协调工作。计时模块用来为显示译码模块提供倒计时时间。同时输出甲乙道口的红绿灯控制信号和数码管显示状态控制信号。仿真波形如图4.9所示。

图4.9 26状态机模块仿真图

4 显示状态分配模块仿真

数码管在不同状态下,需要将不同的计数器的值赋给两组不同的数码管进行显示,所以需要根据状态机状态信息分配显示状态,仿真波形如图4.10所示。

图4.10 显示状态分配模块仿真图

5 顶层文件仿真

总电路作为顶层模块,将分频模块、计数模块、控制模块和显示模块等连接起来,加入输入输出,构成顶层文件。仿真波形如图4.11

所示。

图4.11 总体电路仿真图

6 仿真结果分析

通过设定clk 值以及rst 初值,就可以得到如上所示的仿真波形图。由仿真波形图可以看出波形是由计时进位信号触发而显示出各个状态的。所有交通灯都变为红灯状态(符合任务书的要求)。 7 下载与测试

将程序下载到实验板后,rst 置于高电平后,可以看到LED 灯的显示情况为甲道亮红灯,乙道亮绿灯,甲道数码管显示30秒,乙道数码管显示26秒。乙道倒计时结束后再进行5秒倒计时,并且交通灯变为黄灯;当乙道倒计时结束后,甲道数码管显示26,乙道数码管显示30,甲道变为绿灯,乙道变为红灯,继续进行倒计时;甲道倒计时结束后再经行5秒倒计时,交通灯变为黄灯;乙道倒计时结束后再回到初始状态。 从实验板上可以看出硬件测试下的效果达到了设计的要求,能够实现交通信号灯控制器的基本功能。

附录.:顶层文件及仿真截图

P IN_183VCC clk

INPUT P IN_29

VCC

rst

INPUT P IN_196

P IN_197IN_198jia[2..0]OUTPUT IN_190P IN_191P IN_192y i[2..0]

OUTPUT

P IN_157P IN_158P IN_159P IN_160P IN_161P IN_162P IN_163P IN_164js[7..0]

OUTPUT

P IN_141P IN_142P IN_143P IN_144P IN_147P IN_148P IN_149P IN_150jg[7..0]

OUTPUT P IN_175P IN_176P IN_177P IN_179P IN_180P IN_186P IN_187IN_189y s[7..0]

OUTPUT

P IN_166P IN_167P IN_168P IN_169P IN_170P IN_172P IN_173P IN_174

y g[7..0]

OUTPUT

rst clk din30din5din26

jia[2..0]y i[2..0]xianshi[3..0]

dout30dout5dout26

KZQ

inst kong[3..0]sin30[3..0]gin30[3..0]sin5[3..0]gin5[3..0]sin26[3..0]gin26[3..0]rst

js[3..0]jg[3..0]y s[3..0]y g[3..0]

f enpei

inst2

clk en rst shi_ge[3..0]shi_shi[3..0]

cy

jishu30

inst1clk en rst shi_ge[3..0]shi_shi[3..0]

cy

jishu6

inst4

clk en rst shi_ge[3..0]shi_shi[3..0]

cy

jishu26

inst5

key _code[3..0]

dataout[7..0]

y ima

inst3key _code[3..0]dataout[7..0]

y ima

inst6

key _code[3..0]

dataout[7..0]

y ima

inst7

key _code[3..0]

dataout[7..0]

y ima

inst8

一、图形法与VHDL语言的全加器设计

(一)设计目的

1、掌握全加器器的工作原理及设计方法;

2、掌握Quartus II设计软件的基本步骤;

3、学会EDA设计的基本思路及方法。

(二)基础知识与能力层次要求

(1)电子电路基础应用能力(基础)(第一级):√

(三)设计技术指标与要求

1、设计要求

(1)首先掌握一位全加器原理图输入的基本方法、步骤,对其进行编译、测试、仿真;

(2)其次学会将一位全加器组合为四位全加器,在Quartus II 设计软件中进行功能仿真测试;

(3)学会利用硬件设计语言设计两个八段数码管和拨码开关驱动程序;最后能将全加器程序和数码管程序下载到FPGA芯片中,实现通过数码管显示拨码开关加法操

作,拨码开关上拨,数码管自动显示加一;

(4)撰写设计报告。

(四)制作提示

1、方案提示:

(1)选用Alteral公司cyclone II 家族系列芯片,数码管、拨码开关自购合适型号

(2)也可以选用其他方案(自选型号)。

(3)参考原理图

(五)设计报告要求(1200字以上)

1、选定设计方案;

2、拟出设计步骤,画出设计电路,分析并计算主要元件参数值;

3、列出测试数据表格;

4、调试总结,并写出设计报告。

三、序列检测器的设计

(一)设计目的

1、掌握序列检测器的工作原理;

2、学会用状态机进行数字系统设计。

(二)基础知识与能力层次要求

电类专业综合实践能力(基础)(第一级):√

(三)设计技术指标与要求

(1)软件可实现红、绿、黄灯模拟计时,并显示,要求准确率>99%;

(2)软件可实现甲、乙路口的通行、禁止管理,并可以实时调整;

(3)在面包板上或万能板或PCB板上安装电路;

(4)撰写设计报告。

(四)制作提示

1、序列检测器的基本工作过程

序列检测器用于检测一组或多组由二进制码组成的脉冲序列信号,在数字通信中有着广泛的应用。当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。方框图如下:

本实验要从一串二进制码中检测出一个已预置的8 位二进制码10001110 ,每增

加一位二进制码相当于增加一个状态,再加上一个初始态,用9个状态可以实现。其

过程如下:

(五)设计报告要求(1200字以上)

1、选定设计方案;

2、拟出设计步骤,画出设计电路,分析并计算主要元件参数值;

3、列出测试数据表格;

4、调试总结,并写出设计报告。

四、数码管动态扫描显示

(一)设计目的

1、掌握数字钟的工作原理及设计方法;

2、熟练掌握硬件设计语言设计分频,计数、串形扫描显示电路的方法;

3、熟悉使用CPLD/FPGA芯片驱动数码管显示。。

(二)基础知识与能力层次要求

电子类专业综合实践能力(综合)(第二级):√

(三)设计技术指标与要求

1、设计要求

(1)首先掌握数码管串行扫描工作原理,会利用硬件设计语言书写数码管串行扫描驱动程序;

(2)其次掌握分频器、计数器工作原理及方法,会用硬件设计语言在FPGA/CPLD芯片中实现相应电路;

(3)最后能够将上述模块组合为一个有效系统,实现在数码上显示一个完整的数字钟;

(4)撰写设计报告。

2、技术指标

(四)制作提示

动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独

立的I/O线控制,当FPGA输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于FPGA对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

(五)验收要求

实物验收,按设计要求给出实物分数。

(六)设计报告要求(1500字以上)

1、选定设计方案;

2、拟出设计步骤,画出设计电路,分析并计算主要元件参数值;

3、列出测试数据表格;

4、调试总结,并写出设计报告。

五、数字电子钟

(一)设计目的

(1)掌握数字电子钟的设计、组装与调试方法。

(2)熟悉集成电路的使用方法

(二)基础知识与能力层次要求

电类专业综合实践能力(综合)(第二级):√

(三)设计技术指标与要求

1、设计要求

(1)设计一个有“时”、“分”、“秒”(12小时59分59秒)显示,且有校时功能的电子钟。

(2)闹钟系统。

(3)整点报时。在59分51秒、53秒、55秒、57秒输出750Hz音频信号,在59分59秒时输出1000Hz信号,音频持续1s,在1000Hz荧屏结束时刻为整点。

(4)拟定测试方案和设计步骤;

(5)根据性能指标,计算元件参数,选好元件,设计电路并画出电路图;

(6)在面包板上或万能板或PCB板上安装电路;

(7)撰写设计报告。

2、技术指标

(四)制作提示

1、方案提示:

西安电子科技大学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》实验指导书2013-6-1

辽东学院自编教材 《可编程逻辑器件原理及应用实验》指导书 李海成编 (计算机科学与技术、电子信息工程专业用) 姓名: 学号: 班级: 信息技术学院 2013年6月

目录 目录 (1) 实验一MAX+PLUS-II设计三八译码器......... 错误!未定义书签。实验二半加器 . (2) 实验三带进位输入的8位加法器 (4) 实验四数据比较器 (6) 实验五编码器 (9) 实验六组合逻辑电路的设计 (12) 实验七计数器 (14) 实验八触发器功能的模拟实现 (17)

(被加数)Ai (被加数)Bi (半加和)Hi (本位进位)Ci 实验二 半加器 实验类型: 验证性 实验课时: 2 指导教师: 李海成 时 间:201 年 月 日 课 次:第 节 教学周次:第 周 实验分室: 实验台号: 实 验 员: 一、 实验目的 1.设计并实验一个一位半加器 2.掌握CPLD/FPGA 组合逻辑设计基本方法。 二、 实验原理 计算机中数的操作都是以二进制进位的,最基本的运算就是加法运算。按照进位是否加入,加法器分为半加器和全加器电路两种。计算机中的异或指令的功能就是求两个操作数各位的半加和。一位半加器有两个输入、输出,如图2-1。 图2-1 一位半加器示意图 表2-1 一个半加大路的真值表如表2-1所示,根据真值表可得到半加器的函数表达式: Bi Ai Bi Ai Hi ?+?= Bi Ai Ci ?= 三、 实验连线 半加器的两个输入所对应的管脚同两位拨码开关相连,两个输入管脚名为a 、b ;两个输出所对应的管脚同两位发光二极管相连,两个输出管脚名为 c0和s,其中c0表示进位, s 表示相加结果。 四、

EDA实验指导书

实验一上机学习电路原理图的绘制(2) 一、设计目的 1. 掌握PROTEL软件的安装、运行及卸载,掌握Protel 99 SE的基本操作; 2. 掌握设计管理器的使用和设计环境的设置,熟悉常用元件库和各主要菜单及命令的使用; 3.学习电路原理图的基本绘图方法 二、设计内容 1.设置原理图的环境参数,添加相应的元件库文件 2.绘制课本P92页的一个D/A功能模块电路图,其中由一片12位的D/A、两片运放、一些电阻和电容组成 图1-1 实验1电路原理图实例 三、设计设备和仪器 1.计算机 1 台(CPU要求Pentium 166MHz以上,推荐内存应为16MB以上,显示器分辨率为800×600(或1024×768)模式。) 2.Protel 99SE 软件 四、设计方法 根据电路图加载相应的元件库文件,然后选择放置电子元件,编辑各元件并精确调整元件位置。对放置好的元件根据例图连接导线,绘制总线和总线出入端口,放置网络标号及电源和输入输出端口。最后放置注释文字。 五、实验步骤 (1)新建名为自己学号姓名的设计数据库 点击“NEW新建”新建数据库文件 在上图所示的选项栏里设置名为自己姓名学号的数据库文件 (2)建立名为自己姓名的原理图文件

点击上图所示图标建立名为自己姓名的原理图文件(3)进入原理图设计环境,修改文件名并修改图纸大小为A4 点击下图中“Options”选项设置图纸大小 (4)加载常用元件库 (5)从元件库中选出需用元件放在原理图设计工作面上 (6)利用绘图工具对所有元器件进行连线 最终原理图如图所示。 六、设计报告 1.明确实验目的和实验要求; 2.写出详细的实验内容和步骤; 3.写出实验中遇到的问题及改正的方法 七、注意事项 熟悉绘图工具的功能和用法是绘制好电路原理图的关键。

EDA实验报告

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

EDA实验指导 基于FPGA的动态扫描电路设计new

FPGA实验指导及记录 实验三基于FPGA的数码管动态扫描电路设计 1.实验目的: (1)掌握FPGA工作的基本原理、FPGA硬件平台的使用; (2)熟悉7段数码管显示译码电路的设计。 (3)掌握数码管动态扫描显示原理及动态扫描电路的设计。 2.实验任务:利用FPGA硬件平台上的6位数码管动态显示计数器输出数据。 3.电路设计 (1)顶层电路 由分频模块fre_div,计数器模块counter100,译码显示模块diaplay构成。分频模块fre_div将可将实验平台晶体振荡器提供的50MHz时钟信号分频,输出500Hz,1KHz及1Hz三种信号备用,conter100模块实现模100计数功能,display模块为数码管动态显示模块,实现计数数字在6位数码管上的动态显示。 (2)分频器模块fre_div 该模块已经设计完成,存放在F盘502文件夹里,使用时请自行拷贝至当前工程文件夹,并按设计需要选择合适的输出。 (3)计数器模块counter100 该计数器模块实现模100计数。此处同学们应掌握数据总线的画法。

(4)译码显示模块display 该模块由counter6模块,dig_select模块,seg_select模块以及decoder模块构成,请同学们自行完成该模块总体设计,当display模块的输入信号scanclk频率为1KHz时,数码管扫描周期为36ms,每次扫描每位数码管显示时长6ms。各子模块设计思路如下。 a)counter6模块 该模块需使用74390设计一个模6的计数器。请在空白处做预设计,画出电路图。 b)dig_select模块 该模块用于选择6位数码管中的某一位显示相应字形。74138为3-8译码器,功能表见附录。

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实验指导书

实验一 MAX+PLUSII软件的使用 [实验目的] 掌握MAX+PLUSII软件的使用。 [实验内容] 学习MAX+PLUSII软件的设计操作步骤。 [实验原理] MAX+PLUSII软件介绍。 MAX+PLUSII软件功能简介: 1 原理图输入(Graphic Editor) MAX+PLUSII软件具有图形输入能力,用户可以方便的使用图形编辑器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块。 2 硬件描述语言输入(Text Editor) MAX+PLUSII软件中有一个集成的文本编辑器,该编辑器支持VHDL,AHDL和Verilog硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据。 3 波形编辑器(waveform Editor) 在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编辑器可以生成和编辑仿真用的波形(*.SCF文件),使用该编辑器的工具条可以容易方便的生成波形和编辑波形。 4 编译与仿真 当设计文件被编译好,并在波形编辑器中将输入波形编辑完毕后,就可以进行行为仿真了,通过仿真可以检验设计的逻辑关系是否准确。 5 器件编程 当设计全部完成后,就可以将形成的目标文件下载到芯片中,实际验证设计的准确性。[实验步骤] 设计过程如下: 1)输入项目文件名(File/Project/Name) 2)输入源文件(图形、VHDL、AHDL、Verlog和波形输入方式) (Max+plusⅡ/graphic Editor, Max+plusⅡ/Text Editor, Max+plusⅡ/Waveform Editor) 3)指定CPLD型号(Assign/Device) 4)设置管脚、下载方式和逻辑综合的方式 (Assign/Global Project Device Option,Assign/Global Logic Synthesis) 5)保存并检查源文件(File/project/Save & Check) 6)指定管脚(Max+plusⅡ/Floorplan Editor) 7)保存和编译源文件(File/project/Save & Compile) 8)生成波形文件(Max+plusⅡ/Waveform Editor) 9)仿真(Max+plusⅡ/Simulator) 10)下载配置(Max+plusⅡ/Programmer) [实验报告要求] 不做要求。 实验二简单组合逻辑电路设计 [实验目的] 1 通过本实验提供的实例,掌握组合逻辑电路的设计方法。

EDA实验

河南农业大学 课程设计报告 设计题目:交通灯控制器的设计 学院:理学院 专业:电子信息科学与技术 班级: 08级电科(2)班 学号: 0808101035 姓名:石利芳 电子邮件: Shiliminanyang@https://www.wendangku.net/doc/678118641.html, 日期: 2011年12 月 成绩: 指导教师:贾树恒

河南农业大学 理学院 课程设计任务书 学生姓名石利芳指导教师贾树恒 学生学号0808101035 专业电子信息科学与技术 题目交通灯控制器的设计 任务与要求 主要内容: 设计主干道的交叉路口交通信号灯无人自动管理的控制系统.将路口红绿灯的各种亮灯情况定义为不同的状态,路口状况定义为触发条件,组成有限状态机。 要求: (1)采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。 (2)熟练操作设计所用的软硬件系统:Max+plusⅡ软件。 (3)按要求编写课程设计报告,正确绘制程序流程图、实验接线图等,正确阐述设计原理、方法和实验结果。 (4)通过课程设计培养学生严谨的科学态度,认真地工作作风。 (5)在老师的指导下,要求每个学生独立完成课程设计报告的全部内容。 开始日期2011 年 12 月 6 日完成日期2011 年 12 月 15 日课程设计所在单位理学院电子科学系

1引言 当前,大量的信号灯电路正向着数字化、小功率、多样化、方便人、车、路三者关系的协调,多值化方向发展随着社会经济的发展,城市交通问题越来越引起人们的关注。,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。 1.1 设计的目的 本次课程设计的目的是通过设计交通灯控制器,了解EDA技术,了解并掌握VHDL硬件描述语言的设计方法和思想,巩固和综合运用所学过的计算机组成原理知识,提高分析、解决计算机技术实际问题的独立工作能力。 1.2 设计的基本内容 这次课程设计的题目是交通灯控制器的设计。设计了主干道的交叉路口交通信号灯无人自动管理的控制系统.将路口红绿灯的各种亮灯情况定义不同的状态,路口状况定义为触发条件,组成有限状态机.基于此模型的交通信号灯控制系统可充分利用现有交通资源,缓解城市交通压力。 2 EDA、VHDL、有限状态机简介 2.1 EDA简介 EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA 技术是以计算机为工具,根据硬件描述语言HDL( Hardware Descriptionlanguage)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。 典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA 平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。 适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中,产生最终的下载文件,如JED 文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。 硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序

09EDA实验指导书

EDA实验指导书

目录 实验一基于QUARTUSII图形输入电路的设计 (2) 实验二含异步清零和同步使能的加法计数器 (5) 实验三图形和VHDL混合输入的电路设计 (7) 实验四矩阵键盘接口电路的设计 (10) 实验五交通灯控制电路实验 (16) 附图EP1K10TC100管脚图 (24) 主芯片:ACEX 1K 系列的EP1K10TC100-3 下载电缆:Byte Blaster II

实验一基于QUARTUSII图形输入电路的设计 一、实验目的 1、通过一个简单的3线—8线译码器的设计,掌握组合逻辑电路的设计方法。 2、初步了解QUARTUSII原理图输入设计的全过程。 3、掌握组合逻辑电路的静态测试方法。 二、实验原理 3线-8线译码器三输入,八输出。当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。其真值表如表1-1所示 输入输出 D2 D1 D0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 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 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 表1-1 3线-8线译码器真值表 译码器不需要像编码器那样用一个输出端指示输出是否有效。但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使 能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表 示无任何信号。本例设计中没有考虑使能输入端,自己设计时可以考虑加入使 能输入端时,程序如何设计。 三、实验内容 在本实验中,用三个拨动开关来表示3线-8线译码器的三个输入(D2-D0);用

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实验

实验一3/8 译码器和半加器的实现 一.实验目的 1.学习QuartusⅡ的基本操作; 2.熟悉教学实验箱的使用 3.设计一个3/8 译码器和一个半加器; 4.初步掌握VHDL语言和原理图的设计输入,编译,仿真和调试过程; 二.实验说明 1.本次实验要求应用VHDL语言实现一个3/8 译码器。3/8 译码器的逻辑功能如下: 本实验要求使用VHDL语言描述3/8译码器,并在实验平台上面实现这个译码器。描述的时候要注意VHDL语言的结构和语法,并熟悉QuartusⅡ的文本编辑器的使用方法。尝试使用不同的VHDL语言描述语句实现3/8译码器,并查看其RTL结构区别,理解不同描述方法对综合结果的影响。将程序下载到实验箱上,分别用按键和LED作为输入和输出对结果进行验证,进一步熟悉所用EDA实验箱系统。 2. 采用原理图的方式实现一个半加器。 本实验的具体电路自己通过真值表或布尔方程式得出,建立工程和和块原理图文件,并进行编译和仿真,验证设计的正确性。 本实验的内容比较简单,主要是通过这次实验熟悉实验环境,为以后更好的做实验做准备。 所用器件 EDA实验箱、EP1K10TC100-3器件。 三.实验步骤 按照教学课件《QUARTUS II 使用方法》,学习QuartusⅡ软件的使用方法:1.在WINDOWS 界面双击QuartusⅡ图标进入QuartusⅡ环境; 2.单击File 菜单下的New Project Wizard: Introduction 按照向导里面的介绍新建一个工程并把它保存到自己的路径下面。(注意路径当中不要有中文和空格)3.单击File 菜单下的New,选择VHDL File(原理图方式时选择Block

EDA实验指导书

ED心验指导书齐鲁理工学院

目录 实验一Protel DXP 2004认识实验 0 实验二两级阻容耦合三极管放大电路原理图设计 0 实验三原理图元件库建立与调用 (2) 实验四两级阻容耦合三极管放大电路PCB图设计............................ .4实验五集成电路的逻辑功能测试.. (6) 实验六组合逻辑电路分析与设计............................................... 1.1实验七Quartus II的使用 ................................................. 1.6实验八组合逻辑器件设计. (16) 实验九组合电路设计 (24)

实验一Protel DXP 2004 认识实验 一、实验目的 1. 掌握Protel DXP 2004的安装、启动和关闭。 2. 了解Protel DXP 2004主窗口的组成和各部分的作用。 3. 掌握Protel DXP 2004工程和文件的新建、保存、打开。 二、实验内容与步骤 1、Protel_DXP_2004 的安装 (1) 用虚拟光驱软件打开Protel_DXP_2004.iso 文件 (2) 运行setup\Setup.exe 文件,安装Protel DXP 2004 (3) 运行破解程序后,点击导入模版”,先导入一个ini文件模版(如果要生成单机版的License选择Unified Nexar-Protel License.ini;要生成网络版的License选择Unified Nexar-Protel Network License.ini ),然后修改里面的参数:TransactorName=Your Name (将"Your Name替换为你想要注册的用户名);SerialNumber=0000000 (如果你只有一台计算 机,那么这个可以不用修改,如果有两台以上的计算机且连成局域网,那么请保证每个License文件中的SerialNumber=为不同的值。修改完成后点击生成协议文件",任意输入一 个文件名(文件后缀为.alf)保存,程序会在相应目录中生成1个License文件。点击替换密钥”,选取DXP.exe (在DXP 2004安装目录里,默认路径为),程序会自动替换文件中的公开密钥。将前面生成的License文件拷贝至DXP 2004安装目录里(默认路径为)授权完成。 (4) 打开Protel 在左上角DXP 菜单下的Preference 菜单项里,选中Use localize resources后关闭Protel_DXP_2004 ,重新打开软件变为简体中文版本。 2、Protel_DXP_2004 的卸载 卸载Protel_DXP_2004的具体步骤如下: (1) 在Windows的“开始”菜单中选择“设置/控制面板”,然后在控制面板中选择“添加/删除程序”选项,将弹出对话框。从中选择DXP 2004应用软件。 (2) 单击删除”按钮,将弹出对话框,询问用户是否真的要删除程序。 (3) 单击“是”按钮,开始卸载。在卸载过程中,若想终止卸载,可单击“取消”按

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实验 实验题目:EDA实验总结 学生姓名:裴彬彬学号:20101050045 物理科学技术学院物理系2010 级电子科学与技术专业 指导教师:陈永康 实验时间:2013 年 实验地点:物科学院3414

一:3-8译码器 实验程序: module no1(y,en,a) ; output [7:0]y ; input en ; input [2:0]a; reg[7:0] y ; always @ (en or a) if (!en) y = 8'b1111_1111 ; else case(a) 3'b000 : y = 8'b1111_1110 ; 3'b001 : y = 8'b1111_1101 ; 3'b010 : y = 8'b1111_1011 ; 3'b011 : y = 8'b1111_0111 ; 3'b100 : y = 8'b1110_1111 ; 3'b101 : y = 8'b1101_1111 ; 3'b110 : y = 8'b1011_1111 ; 3'b111 : y = 8'b0111_1111 ; default : y = 8'bx ; endcase endmodule 波形: 实验总结: 1.编程中在使用CASE语句时,容易将ENDCASE语句忘掉,导致程序错误。 2.在文件名必须与VHDL文件中的设计实体名保持一致。

二:4位并行乘法器 实验程序: module no2(a,b,y); input [3:0]a; input [3:0]b; output [7:0]y; assign y=a*b; endmodule 波形: 实验总结: 本实验学习了assign语句的使用方法和使用条件。三:补码生成 实验程序: module no3 (a,y); input [7:0]a; output [7:0]y; reg [7:0]y;

EDA实验指导书new_Quartus2

EDA技术实验手册及程序代码 物理与信息项目学院 学号:111000228 姓名:汪艺彬 注意事项 1、本实验手册是为了配合《EDA技术实用教程》,作为本课程实验环节的补充 指导而编制。 2、实验中涉及的QuartusⅡ软件的使用请参考 《EDA技术实用教程》中有关章节。 手册中所有的虚线空白框,都留出来作为实验记录之用,每个实验完成后,应按照实验内容的要求将实验结果记入框中。 4、每个实验后面都附有一道思考题,完成实验内容后可以作为更进一步的练习 。 5、每次实验后将手册相关部分<完成实验结果记录)和实验源代码<.vhd文件) 一起,作为实验报告上交。 6、课程结束后请将所有报告按顺序加封面装订好上交,作为实验部分成绩计入 总成绩。 实验一利用原理图输入法设计4位全加器一、实验目的: 熟悉如何在QuartusⅡ集成环境下利用原理图输入设计简单组合逻辑电路,掌握层次化的电路设计方法。 二、实验原理: 一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。 三、实验内容: 1.QuartusII软件的熟悉

熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本5.4节的内容,重点掌握层次化的设计方法。 2.设计1位全加器原理图 设计的原理图如下所示 3.利用层次化原理图方法设计4位全加器 <1)生成新的空白原理图,作为4位全加器设计输入 <2)利用已经生成的1位全加器作为电路单元,设计4位全加器的原理图,如下所示 4、设计一个超前进位4位全加器 以上设计的全加器是基于串行进位的结构,高位的进位输入必须等待低位的运算结果,造成较长的延时。通过对进位位进行超前运算,可以缩短这部分的延时。 在已有1位全加器的基础上设计一个具有超前进位结构的4位全加器,原理图如下所示 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实验实验报告 学院:计算机科学与工程学院专业:通信工程学 号: 0941903207 姓名:薛蕾指导老 师:钱强 实验一四选一数据选择器的设计 一、实验目的 1、熟悉quartus ii软件的使用。 2、了解数据选择器的工作原理。 3、熟悉eda开发 的基本流程。 二、实验原理及内容 实验原理 数据选择器在实际中得到了广泛的应用,尤其是在通信中为了利用多路信号中的一路, 可以采用数据选择器进行选择再对该路信号加以利用。从多路输入信号中选择其中一路进行 输出的电路称为数据选择器。或:在地址信号控制下,从多路输入信息中选择其中的某一路 信息作为输出的电路称为数据选择器。数据选择器又叫多路选择器,简称mux。 4选1数据 选择器: (1)原理框图:如右图。 d0 、d1、d2、d3 :输入数据 a1 、a0 :地址变量 由地址码决定从4路输入中选择哪1路输出。 (2)真值表如下图: (3)逻辑图 数据选择器的原理比较简单,首先必须设置一个选择标志信号,目的就是为了从多路信 号中选择所需要的一路信号,选择标志信号的一种状态对应着一路信号。在应用中,设置一 定的选择标志信号状态即可得到相应的某一路信号。这就是数据选择器的实现原理。 三.实验内容 1、分别采用原理图和vhdl语言的形式设计4选1数据选择器 2、对所涉及的电路进行 编译及正确的仿真。电路图: 四、实验程序 library ieee; use ieee.std_logic_1164.all; entity mux4 is port( a0, a1, a2, a3 :in std_logic; s :in std_logic_vector (1 downto 0); y :out std_logic ); end mux4; architecture archmux of mux4 is begin y <= a0 when s = 00 else --当s=00时,y=a0 a1 when s = 01 else --当s=01时,y=a1 a2 when s = 10 else --当s=10时,y=a2 a3; --当s取其它值时,y=a2 end archmux; 五、运行结果 六.实验总结 真值表分析: 当js=0时,a1,a0取00,01,10,11时,分别可取d0,d1,d2,d3. 篇二:eda实验报告模版 《eda技术》实验报告

相关文档