EDA实验1-4

更新时间:2024-06-30 22:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程名称:

实验项目:

实验地点:矿院楼二层

专业班级:电子信息工程 学号:

学生姓名:本科实验报告

CPLD/FPGA应用设计 1位全加器 2位10进制计数器 显示译码器 4位加法计数器

EDA实验室 1101班 年月日

课程名称:

实验项目:

实验地点:矿院楼二层

专业班级:电子信息工程 学号:

学生姓名:

本科实验报告

CPLD/FPGA应用设计 1位全加器 EDA实验室 1101班 年月日

实验一1位全加器

一、实验目的

1、熟悉ispDesignEXPERT System、Quartus原理图设计流程的全过程。 2、学习简单组合电路的设计方法、输入步骤。 3、学习层次化设计步骤。

4、学习EDA设计的仿真和硬件测试方法。 二、实验原理

1位全加器可以由图1那样用两个半加器及一个或门连接而成,因此需要首先完成图2所示的半加器设计。

要求使用原理图输入的方法先进行底层半加器设计,再建立上层全加器设计文件,调用半加器和或门符号,连接完成原理图设计。

ainINPUTVCCOR2PIN_2banjiaqiABinstcinINPUTVCCbanjiaqiCOSOABinst3inst4binINPUTVCCCOSOOUTPUTcoutPIN_3OUTPUTPIN_5sumPIN_6PIN_4 图1 - 全加器原理图

AND2AINPUTVCCOUTPUTCOPIN_15instPIN_20XNORBINPUTVCCNOTOUTPUTSOPIN_16inst2inst3PIN_21 图2 - 半加器原理图

三、实验任务

1、用原理图输入方法设计半加器电路。

2、对半加器电路进行仿真分析、引脚锁定、硬件测试。 3、建立顶层原理图电路。

4、对全加器电路进行仿真分析、引脚锁定、硬件测试 四、实验步骤

1、建立设计工程

打开QuartusⅡ6.0软件,新建项目,选择file—new project wizard命令,指定工程的工作目录,工程名及顶层实体名,并选择FPGA器件EP1C12Q240C8。

2、原理图源文件输入: a、新建原理图输入源文件

选择file—new命令,在【New】对话框中选择Design Files—Block Diagram/Schematic File原理图文件输入。

b、添加元器件符号

在绘图区双击鼠标左键,即弹出添加符号元件的窗口 c、添加输入、输出符号

d、连线及连线命名、标记输入、输出,并保存已完成的设计

3、功能和时序仿真 a、建立矢量波形文件。选择file—new命令,在“New”对话框中选Other Files—Vector Waveform File.

b、在矢量波形文件中加入输入输出节点,并编辑波形文件

c、进行功能仿真和时序仿真设置,之后点击菜单项 Processing->Generate Functional Simulation Netlist,产生功能仿真所需的网表,完成后启动仿真器,processing—start simulation进行功能、时序仿真

4、硬件测试

首先进行引脚分配,选择菜单中的\—>\进入引脚分配。 检测引脚分配是否合法,processing—start—start I/O Assignment Analylist命令,之后进行全局编译,下载。下载完成后在硬件上连接电路测试。 五、实验结果

1、半加器设计

AND2AINPUTVCCOUTPUTCOPIN_15instPIN_20XNORBINPUTVCCNOTOUTPUTSOPIN_16inst2inst3PIN_21 1.1 - 半加器原理图输入

1.2 –半加器功能仿真

1.3 –半加器引脚锁定

1.4 –半加器编程下载

2、全加器设计

ainINPUTVCCOR2PIN_2banjiaqiABinstcinINPUTVCCbanjiaqiCOSOABinst3inst4binINPUTVCCCOSOOUTPUTcoutPIN_3OUTPUTPIN_5sumPIN_6PIN_4 2.1 - 全加器原理图输入

2.2 –全加器功能仿真

2.3 –全加器引脚锁定

六、思考题

用设计好的全加器,实现四位串行加法器的设计,并给出波形仿真图及加法器的延时情况。

quanjiaqia0b0ciINPUTVCCINPUTVCCINPUTVCCainbincininstcoutsumquanjiaqia1b1INPUTVCCINPUTVCCOUTPUTs0s1s2coainbincininst1coutsumOUTPUTOUTPUTOUTPUTquanjiaqia2INPUTVCCb2INPUTVCCainbincininst2coutsumOUTPUTs3quanjiaqia3b3INPUTVCCINPUTVCCainbincininst3coutsum 1、原理图文件

2、波形仿真

七、实验感想

课程名称:

实验项目:

实验地点:矿院楼二层

专业班级:电子信息工程 学号:

学生姓名:

本科实验报告

CPLD/FPGA应用设计 2位10进制计数器 EDA实验室 1101班 年月日

实验二2位十进制计数器

一、实验目的

1、熟悉Quartus II的原理图设计流程全过程。 2、学习简单时序电路的设计方法。

3、学习EDA设计的时序仿真和硬件测试方法。 二、实验原理

2位十进制计数器参考原理图如图1所示,也可以采用其他元器件实现。 三、实验任务

1、设计2位十进制计数器电路。 2、在EDA环境中输入原理图。

3、对计数器进行仿真分析、引脚锁定、硬件测试。 四、实验步骤

1、设计电路原理图

设计含有时钟使能及进位扩展输出的十进制计数器。可以选用双十进制计数器74LS390或者十进制计数器74LS160和其他一些辅助元件来完成。

2、计数器电路的实现

按照电路图进行连线,完成完整的实验原理图。

绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式。若将一根细线变成一粗线显示的总线,可以先单机使其变红,再选Option选项中的Line Style;若在某线上加信号标号,也应该点击该线某处使其变成红色,然后键入标号名称,标有相同标号的线段可视为连接线段,不必直接连接。总线可以以标号方式进行连接。

3、波形仿真

4、编程下载、硬件测试 五、实验结果

1、原理图文件

OUTPUTOUTPUTQ3Q2PIN_15PIN_14OUTPUTOUTPUTQ1Q0PIN_13PIN_12AND474390ENBPIN_5PIN_2CLKINPUTVCCINPUTVCCAND2NOTinst1CLR1CLKA1CLKB1QA1QB1QC1QD2QA2QB2QC2QDinst8NOTinst9inst12CLRINPUTVCCPIN_32CLR2CLKA2CLKBAND6DUAL COUNTERinst1NOTinst10NOTVCCOUTPUTcoutPIN_4inst13inst11OUTPUTQ4PIN_16OUTPUTOUTPUTQ5Q6Q7PIN_17PIN_18OUTPUTPIN_19

2、RTL仿真

3、波形仿真图

4、引脚分配图

5、硬件测试

六、实验感想

课程名称:

实验项目:

实验地点:矿院楼二层

专业班级:电子信息工程 学号:

学生姓名:

本科实验报告

CPLD/FPGA应用设计 4位加法计数器 EDA实验室 1101班 年月日

实验八 4位加法计数器

一、实验目的

1.学习时序电路的VHDL描述方法。

2.掌握时序进程中同步、异步控制信号的设计。 3.熟悉EDA的仿真分析和硬件测试技术。 二、实验内容

1、编写4位二进制加法计数器的VHDL程序。 2、在QuartusⅡ上对加法计数器进行仿真。

3、将输入引脚连接到拨码开关,时钟输入锁定到相应频率的时钟信号,输出连接到发光二极管,下载后在实验板上验证其功能,记录实验结果。 三、实验仪器

软件:windows xp QuartusⅡ6.0 硬件:实验板 四、实验原理

设计一个含计数使能、异步复位和并行预置功能的4位加法计数器,RST是异步复位信号,高电平有效;CLK是时钟信号;当使能信号ENA为“1”'时,加法计数,COUT为计数进位输出,OUTY为计数输出。

VHDL程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4B IS

PORT(CLK:IN STD_LOGIC; RST:IN STD_LOGIC; ENA:IN STD_LOGIC;

OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT:OUT STD_LOGIC); END CNT4B;

ARCHITECTURE BEHAV OF CNT4B IS

SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

P_REG:PROCESS(CLK,RST,ENA,CQI) BEGIN

IF RST='1'THEN CQI<=\

ELSIF CLK'EVENT AND CLK='1'THEN IF ENA='1'THEN CQI<=CQI+1; END IF; END IF; OUTY <= CQI; END PROCESS P_REG;

COUT<=CQI(0)AND CQI(1) AND CQI(2) AND CQI(3); END BEHAV;

五、实验步骤

1、VHDL文本编辑

在QuartusⅡ6.0集成环境下,执行“file”中的“new”命令,弹出编辑文本类型的对话框,选择“Device Design file”- “VHDL File”后单击“OK”。

先采用VHDL文本输入设计法实现4位二进制加法计数器的数字逻辑电路,并将文件CNT4B.vhd保存在创建的目录下。

2、编译设计图形文件

对CNT4B.vhd设计文件进行编译,进而实现四位同步二进制加法计数器的数字逻辑电路

3、功能仿真、时序仿真

4、引脚锁定,下载及硬件测试 六、实验结果

1、源程序输入

2、RTL仿真

Add0CQI[3..0]A[3..0]4' h1 --B[3..0]PREOUT[3..0]DQCOUT~2COUTENAADDERCLRRSTCLKENAOUTY[3..0] 3、波形仿真

4、引脚分配

七、实验总结

1、在上述程序中是否可以不定义信号 CQI,而直接用输出端口信号完成加法运算,即 : OUTY <= OUTY + 1 ?

答:不可以,因为信号OUTY定义的端口模式是OUT,是单向输出模式,所以只能作为输出信号,不能在结构体内再用来作为输入信号;而且 VHDL里面规定输出端口不能做为赋值来用,而OUTY<=OUTY+1,就把OUTY当成赋值来用了

2、修改程序,用进程语句和IF语句实现进位信号count的输出。

if CQI (3)= ' 1'; then 答:process(CQI)

Begin Cout<=' 1'; If CQI(0)= ' 1' then End if if CQI(1)= ' 1'; then End process

if CQI(2)= ' 1';then 3、实验感想 。

本文来源:https://www.bwwdw.com/article/tky.html

Top