文档库 最新最全的文档下载
当前位置:文档库 › 北航EDA作业

北航EDA作业

北航EDA作业
北航EDA作业

卢闯12231038 EDA作业

1、对程序进行说明,包括模块说明和行注释(行注释量不少于30%)。

LIBRARY IEEE; “声明使用IEEE库”

USE IEEE.STD_LOGIC_1164.ALL; “声明使用STD_LOGIC_1164程序包”

USE IEEE.STD_LOGIC_ARITH.ALL; “声明使用STD_LOGIC_ARITH程序包

ENTITY homework IS “实体,给出实体名homework和管脚定义”

PORT(

clk,reset:IN STD_LOGIC;

en : IN std_logic;

load : IN std_logic;

d : IN std_logic_vector (6 DOWNTO 0 );

co : OUT std_logic;

qh : BUFFER std_logic_vector (2 DOWNTO 0 );

ql : BUFFER std_logic_vector (3 DOWNTO 0 );

adclk,daclk :out std_logic);

end entity homework;

ARCHITECTURE BEHA VE OF homework IS “结构体,描述电路器件的内部逻辑功能”signal counter32:std_logic_vector(4 downto 0);

signal clk_temp :std_logic;

BEGIN

----------------------------------------

PROCESS (reset,clk)

BEGIN “进程开始”

IF (reset='1') THEN

counter32<="00000"; “如果reset值为1则counter32赋值为00000”

ELSIF (clk'event and clk='1') then

counter32<=counter32+1; “否则如果时钟clk变化为1,则counter32加1”

END IF; “IF结束”

END PROCESS; “结束进程”

-----------------------------------------------------------

PROCESS (clk_temp, reset)

BEGIN “进程开始”

IF (reset = '1') THEN

qh<= "000"; ql<= "0000";

co<='0'; “如果reset值为1,将qh赋值为000,ql为0000,co为0”

ELSIF (clk_temp'event AND clk_temp = '1') THEN “否则如果clk_temp变为1则执行下列语句”

IF (load = '1') THEN

qh<=d (6 DOWNTO 4 );

ql<=d (3 DOWNT0 0 );“如果load值为1,qh取d的前三位,ql取d的后三位”

ELSIF (en = '1') THEN “否则如果en为1,则执行下列语句”

IF (ql = 9) THEN

ql<= "0000"; “如果ql=9,则ql赋值为0000”

IF (qh =4) THEN qh<="000";co<='1';“如果qh=4,则qh赋值为000”

ELSE qh<=qh+1; “否则qh加1”

END IF;

ELSE QL<=QL+1; “否则ql加1,co变为0”

co<='0';

END IF;

END IF;

END IF;

END PROCESS;

-----------------------------------------------------------

clk_temp<=counter32(1); “clk_temp取counter32的第四位”

adclk<=counter32(2); “clk_temp取counter32的第三位

daclk<=counter32(4); “clk_temp取counter32的最高位”

-----------------------------------------------------------

END ARCHITECTURE; ”结构体结束”

2、分析并说明程序功能,当输入clk信号为64MHz的时钟时,输出量adclk和daclk 的频率为多少MHz?输出量co是否为周期信号?若是,请给出信号频率。

在第一个进程中,counter32是信号clk的计数器,clk每由0变为1,counter32便加1。reset 是重置信号,当reset为1时,counter32变为0。在第二个进程中,d是存储信号,load功能为读取,当load等于1时,qh读取d的前三位,ql读取d的后四位。reset为复位信号,reset等于1时,将qh,ql,co置为0。en为控制信号,当它为1时,qh,ql和co随clk_temp的变化而变化。ql为低位信号,clk_temp每上升一次,它会加1,达到9时归零,同时高位信号qh会加1。qh增加到4时归零。qh每次进位时co变为1,其余时间co为零。clk_temp,adclk,daclk分别取counter32的第4,3,1位,其频率分别为clk的1/4,1/8和1/32。

输入clk信号为64MHz的时钟时,输出量adclk的频率为8MHz,daclk的频率为2MHz。co 是周期信号,其频率为0.32MHz。

3、(选作)给出仿真结果。

三处错误:错误一:未声明USE IEEE.STD_LOGIC_UNSIGNED.ALL;

错误二:ql<=d (3 DOWNT0 0 )中0应为字母O

错误三:signal counter32:std_logic_vector(4 downto 0);分号不对,应为;

EDA实验报告

实验一计数器设计 一、实验目的 计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。 二、实验仪器与器材 1.EDA开发软件一套 2.微机一台 3.实验开发系统一台 4.其他器材与材料若干 三、实验说明 计数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。 四、实验要求 1.设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。 2.编制仿真测试文件,并进行功能仿真。 3.下载并验证计数器功能。 4.为上述设计建立元件符号。 5.在上述基础上设计计数器。 五、实验结果

十进制计数器程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity counter10 is port(en,reset,clk:in std_logic; q:buffer std_logic_vector(3 downto 0); co:out std_logic); end counter10; architecture behav of counter10 is begin process(clk,en) begin if clk'event and clk='1' then if reset='1' then q<="0000"; elsif en='1' then if q<"1001" then q<=q+'1'; else q<="0000"; end if; end if; end if; end process;

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

EDA设计课程实验报告数码管动态显示实验报告

EDA设计课程实验报告 实验题目:数码管动态显示实验 学院名称: 专业:电子信息工程 班级: 姓名:高胜学号 小组成员: 指导教师: 一、实验目的 学习动态扫描显示的原理;利用数码管动态扫描显示的原理编写程序,实现自己的学号的显示。 二、设计任务及要求

1、在SmartSOPC实验箱上完成数码管动态显示自己学号的后八个数字。 2、放慢扫描速度演示动态显示的原理过程。 三、系统设计 1、整体设计方案 数码管的八个段a,b,c,d,e,f,g,h(h是小数点)都分别连接到SEG0~SEG7,8个数码管分别由八个选通信号DIG0~DIG7来选择,被选通的数码管显示数据,其余关闭。如果希望8个数码管显示希望的数据,就必须使得8个选通信号DIG0~DIG7分别被单独选通,并在此同时,在段信号输入口SEG0~SEG7加上该对应数码管上显示的数据,于是随着选通信号的扫描就能实现动态扫描显示的目的。虽然每次只有1个数码管显示,但只要扫描显示速率足够快,利用人眼的视觉余辉效应,我们仍会感觉所有的数码管都在同时显示。 2、功能模块电路设 (1)输入输出模块框图(见图1) 图1 (2)模块逻辑表达(见表1) 表1(数码管显示真值表) clk_1k dig seg ↑01111111 C0 ↑10111111 F9

注:数码管显示为01180121 (3)算法流程图(见图2) (4)Verilog源代码 module scan_led(clk_1k,d,dig,seg); //模块名scan_led input clk_1k; //输入时钟 input[31:0] d; //输入要显示的数据output[7:0] dig; //数码管选择输出引脚

北航eda实验报告

2014-2015-2-G02A3050-1 电子电路设计训练(数字EDA部分) 实验报告 (2015年5月19日) 教学班学号姓名组长签名成绩120311王天然* 120311马璇 120312唐玥 自动化科学与电气工程学院

目录 ( 2015年5月19日).........................................错误!未定义书签。目录 .........................................................错误!未定义书签。实验一、简单组合逻辑和简单时序逻辑............................错误!未定义书签。 简单的组合逻辑设计..................................错误!未定义书签。 实验目的和内容:..................................错误!未定义书签。 实验源代码:......................................错误!未定义书签。 测试模块源代码:..................................错误!未定义书签。 简单分频时序逻辑电路的设计...........................错误!未定义书签。 实验目的和内容:..................................错误!未定义书签。 实验源代码:......................................错误!未定义书签。 实验测试源代码:..................................错误!未定义书签。 (选作)设计一个字节(8位)比较器....................错误!未定义书签。 实验内容:........................................错误!未定义书签。 实验代码:........................................错误!未定义书签。 实验测试源代码:..................................错误!未定义书签。 实验小结.............................................错误!未定义书签。实验二、条件语句和always过程块...............................错误!未定义书签。 实验任务1——利用条件语句实现计数分频时序电路.......错误!未定义书签。 实验要求.........................................错误!未定义书签。 模块的核心逻辑设计...............................错误!未定义书签。 测试程序的核心逻辑设计...........................错误!未定义书签。 仿真实验关键结果及其解释.........................错误!未定义书签。 实验任务2——用always块实现较复杂的组合逻辑电路....错误!未定义书签。

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

实验一 单级放大电路的设计与仿真 一、实验目的 1)掌握单级放大电路在仿真软件中的设计。 1)掌握放大电路与静态工作点的调整和测试方法。 2)掌握放大电路的动态参数的测试方法。 3)观察静态工作点的选择对输出波形及电压放大倍数的影响。 二、实验要求 1.设计一个分压偏置的单管电压放大电路,要求信号源频率10kHz(峰值1mV) ,负载电阻3.9k Ω,电压增益大于70。 2.调节电路静态工作点(调节偏置电阻),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。 3.调节电路静态工作点(调节偏置电阻),使电路输出信号不失真,并且幅度最大。在此状态下测试: ①电路静态工作点值; ②三极管的输入、输出特性曲线和 、 rbe 、rce 值; ③电路的输入电阻、输出电阻和电压增益; 4.电路的频率响应曲线和L f 、H f 值。 三、实验步骤 1.单级放大电路的原理图及原理

图1.1单级放大电路原理图 放大电路的原理图如上,该电路为一个分压偏置单级共射放大电路,其中信号源为10kHz (峰值为5mV ),该电路的负载为8k Ω。输入输出信号都是通过耦合电容连接信号源和负载的,这样做可以使得静态工作点不受负载和信号源的影响。该电路利用R4和R5从而稳定住三极管基极的电压值。引进了的电容C3对三极管的静态工作点没有影响,而在三极管的动态分析时可以将R2的作用忽略,使得小信号分析更加的简便。分压偏置的电路中引入了一个电位器R6,目的是为了在实验中便于修改三极管的静态工作点。 2.电路的截止失真和饱和失真 (1)电路的饱和失真 调节电位器R6,可以改变三极管的静态工作点,当R6值为1%时(0.7k Ω)在虚拟示波器中可以观察到输出波形明显的出现了饱和失真的现象,输出波形如图1.2所示。利用Multisim 的“直流工作点分析”功能可以测出三极管的静态工作点。由于软件本身的限制,无法直接读取三极管的Vce 值。为了解决这个问题,实验中添加表达式测量项b e V V (本实验电路中的表达式为“V(3)-V(2)”)来表示Vce ,测量结果如图1.3所示。

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技术》实验报告

北航eda实验报告数字部分

Verilog数字电路设计 实验报告 院系: 组员: 年月日

目录 分组概况 (3) 分组概况 (3) 实验概况 (4) 实验感想 (5) 实验内容 (9) 实验一 (9) 实验二 (15) 实验三 (25) 实验四 (33)

组长: 主要负责各次实验的总体进程,以及选做实验的代码编译。在实验报告中负责统筹规划及后期编排。 组员: 负责各次实验必做实验源代码的录入及仿真。在实验报告中负责报告前期录入,包括各次实验的简要内容、步骤等。

本课程共安排四次实验,其内容是: 1、练习一、简单的组合逻辑设计 练习二、简单分频时序逻辑电路的设计 选做一、设计一个字节(8位)的比较器 2、练习三、利用条件语句实现计数分频时序电路 练习五、用always块实现较复杂组合逻辑电路 选做一、利用10MB时钟设计一个单周期波形 选做二、运用always块设计一个8路数据选择器 3、练习四、阻塞赋值与非阻塞赋值的区别 练习六、在Verilog中使用函数 练习七、在Verilog中使用任务 练习题5、综合一个可以计算正整数平方、立方、阶乘的函数思考题3、在blocking模块中实现对两种写法的仿真 4、必做一、设计一个串行数据检测器 必做二、楼梯灯——基本任务 选做一、楼梯灯——扩展任务

三、感想 通过这4次的实验,我们基本熟悉Modelsim 软件,掌握了Modelsim 软件的编译、仿真方法。同时在编写程序的过程中,加深了我们对课上所讲的语法的认识以及学会了测试模块的编写。经过实验一,我们掌握了基本组合逻辑电路,基本时序电路;经过实验二,我们掌握条件语句在简单时序模块设计中的使用、在Verilog模块中应用计数器以及用always实现较大组合逻辑电路;经过实验三,我们掌握阻塞赋值与非阻塞赋值的概念与区别,了解函数的定义和在模块设计中的使用,掌握任务在verilog模块设计中的应用;经过实验四,我们掌握利用有限状态机实现一般时序逻辑分析的方法。在实验过程中,我们也遇到过程序编写以及软件仿真上的问题。程序编写时,要注意一些细节,比如符号,全角与半角等。软件仿真过程中,我们出现过程序无错,但添加波形运行后,却没有波形的情况,最后上网百度,找到了解决方法。实验总体来说,都比较顺利。对于难度较大的实验四,只要思路清晰,考虑到所有的情况,就能做出来。

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

4-1 组合电路设计 实验目的:熟悉Quartus2的VHDL文本设计流程全过程,学习简单的组合电路的设计,多层次电路设计、仿真、和硬件测试。 实验任务1:利用软件完成二选一多路选择器的文本编辑和仿真测试等步骤,给出仿真波形,最后在实验系统上进行硬件测试,验证功能。然后,利用元件例化语句描述图3-31,并将此文件放在同一目录下。 实验任务2:利用刚刚完成的实验内容,设计完成一位全加器,仿真该全加器,得到仿真结果,并利用一位二进制全加器为基本元件,用例化语句写出八位并行二进制全加器的顶层文件,讨论该加法器的电路特性。 实验代码及仿真结果: 二选一多路选择器: library ieee; use ieee.std_logic_1164.all; entity mux21a is port(a,b,s: in std_logic; y:out std_logic ); end entity mux21a; architecture one of mux21a is begin process(a,b,s) begin if s='0' then y<=a; else y<=b;

end if; end process; end architecture one; 仿真结果: 分析: 1、s对电路的输出具有决定作用,s为0时输出为a的值,为1时输出为b的值。从仿真 结果可以看出0到10ns内,s为0,此时y的输出为0,是a的值。 2、10到20ns时间内,s为1,输出为b的值,y为1。 图3-31的仿真仿真程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity singt is port(a:in std_logic_vector(3 downto 1); s:in std_logic_vector(1 downto 0); outy: out std_logic); end singt; architecture bhv of singt is component mux21a

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 实验 实验一 用原理图输入法设计半加器 一、实验目的: 1.熟悉利用Quartus Ⅱ的原理图输入方法设计简单组合电路; 2.通过一个半加器的设计把握利用EDA 软件进行电子线路设计的详细流程; 3.学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。 二、实验器材: 1、计算机及操作系统 2、QUARTUS II 软件 三、实验要求: 1. 利用原理图输入法对半加器电路进行描述; 2. 进行波形仿真测试; 3. 严格按照实验步骤进行实验; 4. 管脚映射按照芯片的要求进行。 四、实验原理 其中a, b 为输入端口,So 与Co 分别为半加器 和与进位。其逻辑表达式为: 2. 根据逻辑表达式进行原理图输入。 五、实验步骤: 1. 为本项工程设计建立文件夹。注意文件夹 名不能用中文,且不可带空格。 2. 输入设计项目并存盘。 3. 将设计项目设计为工程文件。 4. 选择目标器件并编译。 b a b a b a So ⊕=+=ab Co =

5. 时序仿真。 6. 引脚锁定。 7. 编程下载。 实验二用原理图法设计一位、四位全加器 一、实验目的: 1. 熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路; 2. 通过一个半加器的设计把握利用EDA 软件进行电子线路设计的详细流程; 3. 学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。 二、实验器材: 1、计算机及操作系统 2、QUARTUS II软件 三、实验要求: 1.利用原理图输入法对一位全加器电路进行描述; 2. 进行波形仿真测试; 3. 严格按照实验步骤进行实验; 四、实验原理: 利用实验一所设计的半加器设计一位全加器;利用设计封装好的一位全加器进行四位全加器的设计。 五、实验步骤: 与实验一相同。 六、实验报告: 1. 要求画出一位、四位全加器的真值表; 2. 分析用半加器实现一位全加器的优点; 3. 对波形进行分析,并绘制波形图。 实验三用文本输入法设计D触发器和锁存器 一、实验目的: 1. 熟悉QuartusⅡ的VHDL 文本设计过程。 2. 学习简单时序电路的设计、仿真和硬件测试。 二、实验器材:

EDA技术实验报告

(此文档为word格式,下载后您可任意编辑修改!) 实验一利用原理图输入法设计4位全加器 一、实验目的: 掌握利用原理图输入法设计简单组合电路的方法,掌握MAX+plusII的层次化设计方法。通过一个4位全加器的设计,熟悉用EDA软件进行电路设计的详细流程。 二、实验原理: 一个4位全加器可以由4个一位全加器构成,全加器的进位以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的低位进位输入信号cin相接。 1位全加器f-adder由2个半加器h-adder和一个或门按照下列电路来实现。 半加器h-adder由与门、同或门和非门构成。 四位加法器由4个全加器构成 三、实验内容:

1. 熟悉QuartusII软件界面,掌握利用原理图进行电路模块设计的方法。 QuartusII设计流程见教材第五章:QuartusII应用向导。 2.设计1位全加器原理图 (1)生成一个新的图形文件(file->new->graphic editor) (2)按照给定的原理图输入逻辑门(symbol->enter symbol) (3)根据原理图连接所有逻辑门的端口,并添加输入输出端口 (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位全加器进行时序仿真。给出波形图,并分析仿真结果是否正确。

EDA实验报告

EDA 实验报告 姓名:汤灿亮 学号:2012118060 班级:1211自动化

实验一 QUARTUS Ⅱ的设计流程 一、实验目的: 1、掌握QUARTUSⅡ安装过程; 2、熟悉QUARTUSⅡ设计环境; 3、掌握QUARTUSⅡ的设计过程。 二、实验内容: 用文本输入法设计一个二进制加法器。 三、实验步骤: (一)、创建工作文件夹 在windows中新建一个文件夹(又称工作库或WORK LIBRARY),用于保存设计工程项目的有关文件。注:设计工程项目的所有有关文件不能保存在根目录下,必须保存在一个文件夹之下。例如建立的文件夹:E:\CNT10 (二)、启动Quartus II 点击QUARTUSⅡ9.0图标打开QUARTUSⅡ9.0设计窗口。或点击QUARTUSⅡ9.0图标打开QUARTUSⅡ9.0设计窗口 (三)、设计文件输入 1、打开输入文件编辑器 点击菜单File\new…选择Verilog HDL file建立一个文本设计文件。用文本输入法输入程序。 2、保存文件,文件名同程序的模块名。后缀.v (四)、全编译(逻辑综合) 1、创建工程 点击菜单File\New Project Wizard…….进行工程设置。完成工程文件夹的选定、工程名、顶层设计文件名(主程序)、编程器件的选择等工程设置。 2、编译前的相关设置设置 ⑴选择PLD芯片:Assignmenmts\Settings\Device弹出的窗口中选择选择芯片。 ⑵选择配置芯片的工作方式Assignmenmts\Settings\Device\Device&Pin Options弹出的窗口中首选General项,在Options栏中选择Auto-restart-configuration after error. ⑶选择配置芯片和编程方式:Assignmenmts\Settings\Device\Device&Pin Options弹出的窗口中选择Configuration栏,在窗口中设置配置方式,配置芯片和是否需要生成压缩的配置文件。 ⑷选择输出设置:(1)-(4)项默认方式,可以不做任何操作, ⑸选择目标器件闲置引脚的状态:Assignmenmts\Settings\Device\Device&Pin Options弹出的窗口中选择Unused Pins栏,在窗口中对闲置的引脚设置,推荐设置为As input tri-stated。 3、执行全程编译:Processing\Start Compilation。完成对设计项目的检

EDA实验报告1

实验1 数码管扫描显示电路 实验设计方案 1.原理说明 单个数码管有8位共用段信号和1位位选信号。多个数码管显示可以采用动态扫描方式,只要扫描频率足够大,人眼观察到多个数码管均发光,且每个数码管显示值互相不干扰。 复杂的数字系统设计多采用模块化层次设计:自上而下或自下而上的方法。采用混合模式的工程设计方法是指由设计者完成功能划分后的各层子模块设计可以采用不同设计方法完成,如原理图、硬件描述语言文本、状态机等。 本实验基于混合模式的工程设计流程,电路图由模4计数器、3选1多路选择器、2-3译码电路以及七段译码器组成,动态扫描显示3个数码管的数据。 2.结构框图 实验波形仿真

操作说明: 设置clk为一个周期函数,其周期为100ns,设置din为十进制,din[0]为1,din[1]为2,din[2]为3,然后仿真波形,看输出的七段管qa、qb、qc、qd、qe、qf、qg的波形,通过下载到实验箱可以验证波形的正确性。 实验日志 ①实验感想: 通过这次实验,我了解了Quartus2的平台和基本操作,对于这门课的实验,在课前应该自己先预习和做一部分,以免到课上做不完。虽然指导书讲的比较仔细,在课上做完实验后,还应对实验原理有一定的理解,不应为了做实验而做实验。 ②思考与练习: 1.举例说明一个Quartus最小工程所必须维护哪些类型文件? 答:编译必需的文件:设计文件(.gdf .bdf .EDIF .tdf .v .vqm .vt .vhd .vht)、存储器初始化文件(.mif .rif .hex)、配置文件(.qsf .tcl)、工程文件(.qpf);编译结束后生成的报 告文件(.rpt .qsmg等);编程文件(.sof .pof .ttf等)。 2.图形输入法与硬件描述语言法优缺点是什么? 答:图形输入法:(优点)能直接的用元件连接电路图,容易理解和思考,直观,连线简 辑方便。 (缺点)连线容易出错,器件容易搞混。 硬件描述语言:(优点)逻辑性强,对实现电路器件和连线较多的逻辑电路较方 便 (缺点)设计代码需要较强的逻辑能力,消耗较多时间用于思考。 3.如何获取工程所占用资源情况(逻辑单元和管脚)? 答:选择菜单Assignments→Pins,弹出窗口,它包含器件封装视图,以不同的颜色和符号表示不同类型的引脚,并以其他符号表示I/O块。

EDA实验报告

《可编程逻辑设计》 实验报告 年级:2011级 班级:信通四班 姓名:朱明贵 学号:111100443 老师:杨秀芝 林旭 福州大学物理与信息工程学院电子信息工程系

注意事项 1、本实验手册是为了配合《EDA技术实用教程》,作为本课程实验环节的补充 指导而编制。 2、实验中涉及的QuartusⅡ软件的使用请参考《EDA技术实用教程》中有关章 节。 3、手册中所有的虚线空白框,都留出来作为实验记录之用,每个实验完成后, 应按照实验内容的要求将实验结果记入框中。 4、每个实验后面都附有一道思考题,完成实验内容后可以作为更进一步的练习。 5、每个实验中的硬件测试需要在实验箱上完成,引脚锁定请参考手册最后的实 验箱引脚资源说明自行确定。 6、实验一~实验七为必做部分,请自行合理安排时间完成;实验八为选做部分。 7、每次实验后将手册相关部分(完成实验结果记录)、实验源代码(.v文件)或 电路图一起,作为实验报告上交。 8、课程结束后请将所有报告按顺序加封面装订好上交,作为实验部分成绩计入 总成绩。

目录 实验一利用原理图输入法设计4位全加器............- 1 - 实验二简单组合电路的设计.............................. - 5 - 实验三简单时序电路的设计.............................. - 8- 实验四异步清零和同步时钟使能的4位加法计数器..- 12 - 实验五七段数码显示译码器设计 (15) 实验六数控分频器的设计 (20)

实验一利用原理图输入法设计4位全加器 一、实验目的: 熟悉如何在QuartusⅡ集成环境下利用原理图输入设计简单组合逻辑电路,掌握层次化的电路设计方法。 二、实验原理: 一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。 三、实验内容: 1.QuartusII软件的熟悉 熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本5.4节的内容,重点掌握层次化的设计方法。 2.设计1位全加器原理图 设计的原理图如下所示 3.利用层次化原理图方法设计4位全加器 (1)生成新的空白原理图,作为4位全加器设计输入 (2)利用已经生成的1位全加器作为电路单元,设计4位全加器的原理图,如

中南大学EDA实验报告

中南大学 实验报告 课程:eda 技术 班级: 学号:姓名:指导老师: 实验时间:2013年6月eda---交通灯实验 1、实验目的 通过此实验让用户进一步了解、熟悉和掌握 cpld/fpga 开发软件的的使用方法及verilog hdl 的编程方法。学习简单状态机的设计和硬件测试。 2、实验器材 主要仪器设备 1、微机 1台 2、quartusii集成开发软件 1套 3、eda实验装置 1套 3、实验内容 本实验的内容是设计一个简易的交通灯控制器,要求能实现红、绿、黄灯三种信号的控制并通过数码管显示倒计时时间。整个设计在smartsopc 实验箱上实现,用第一、第二个数码管显示a方向的倒计时时间,用第七、第八个数码管显示b方向的倒计时时间。此外,由于缺少交通灯模块,本实验用第一、第二、第三个led灯代表a方向的红、绿、黄灯三种信号,用第六、第七、第八个led灯代表b方向的红、绿、黄等三种信号。 4、实验原理 本实验设计的交通灯控制器要求实现对 a、b 两个方向的红、绿、黄灯三种信号的控制,并能实现时间显示的倒计时。因此每个方向的信号可用一个状态机实现,状态的跳转顺序为红灯-绿灯-黄灯-红灯(另一个的状态应为绿-黄-红-绿),同时设计一个计时器,来记录每种灯的倒计时时间。最后将交通灯的状态信息输出至数码管和对应led灯。注意,一个方向的红灯时间应和另一个方向的绿黄灯时间总和相等。 5、实验步骤 1) 启动quartus ii 建立一个空白工程,然后命名为traffic_test.qpf(器件为:ep3c55f484c8)。 2) 完成交通灯控制模块traffic_ctrl.v、交通灯显示模块traffic_display.v,加入顶层模块traffic_test.v,进行综合编译,若在编译过程中发现错 误,则找出并更正错误,直至编译成功为止。 3) 参考基础实验《led驱动》及《动态数码管显示》的引脚绑定脚本文件setup.tcl,建立并执行新的引脚绑定脚本文件:setup.tcl。(rst_n为pin_b11); 4) 对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。 5) 确保jp6上的led0-led7已通过跳线与fpga引脚相连。 6) 按核芯板上的复位按键,观察交通灯是否正常运作。 5. 结构图 6、实验分析 1、分频模块 本实验采用了100hz 的时钟做扫描频率,2.5hz 的时钟做计数频率,故需要2 个时

相关文档