您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页EDA技术实用教程_EDA课程设计报告

EDA技术实用教程_EDA课程设计报告

来源:华佗健康网


EDA课程设计报告

课程:EDA技术实用教程

学院:电子与信息工程学院 班级: 姓名: 学号: 教师:

完成日期:2013.01.02

目录

实验一、3-8译码器地仿真 ............................................................................................................. 4 实验二、2选一多路选择器 ............................................................................................................ 7 实验三、十进制计数器 ................................................................................................................... 9 实验四、四选一多路选择器 ......................................................................................................... 13 实验五、ADC0809采样状态机 ................................................................................................... 19 实验六、11010011序列检测 ........................................................................................................ 22 实验七、两个8位乘8位地有符号数乘法器 ............................................................................. 24 实验八、全加器 ............................................................................................................................. 26 实验九、LPM_COUNTER计数模块 ........................................................................................... 28 实验十、LPM_COUNTER计数模块例化 ................................................................................... 30 实验十一、LPM随机存储器地设置和调用 ................................................................................ 32 实验十二、LPM_ROM地定制和使 ............................................................................................. 35 实验十三、FIFO定制 ................................................................................................................... 37 实验十四、LPM嵌入式锁相环调用 ............................................................................................ 38 实验十五、NCO核数控振荡器使用方法 .................................................................................... 39 实验十六、使用 IP CORE设计FIR滤波器 ................................................................................ 41 实验十七、数字时钟 ..................................................................................................................... 42 实验十八、交通灯 ......................................................................................................................... 46

实验一、3-8译码器地仿真

一:实验名称:3-8译码器仿真

二:实验要求:熟悉对max+plusⅡ10.0地使用,并且能简单地使用进行3-8译码器地仿真和论证.

三:实验步骤:

1:使用max+plusⅡ10.0软件,设计3-8译码器地实验原理图如下所示:

图1 实验原理图

2:波形地仿真与分析

启动max+plusⅡ10.0\\Waveform editor菜单,进入波形编辑窗口,选择欲仿真地所有I\\O管脚.如下图所示:

图2 波形编辑

为输入端口添加激励波形,使用时钟信号.选择初始电平为“0”,时钟周期倍数为“1”.添加完后,波形图如下所示:

图3 添加激励后地波形

打开max+plusⅡ10.0\\Simulator菜单,确定仿真时间,单击Start开始仿真,如下图所示:

图4 仿真过程

图5 仿真结果

四:实验结论:使用max+plusⅡ10.0能很好地完成很多电路地仿真与工作.

实验二、2选一多路选择器

一、原理图设计输入法

图一 2选1多路选择器结构体

图二 电路编译结果

图三 波形仿真

由波形图可知:

当a、b两个输入口分别输入不同频率信号时,针对选通控制端s上所加地不同电平,输出端y将有对应不同信号输出.例如当s为低电平时,y口输出了来自a端地较高频率地时钟信号;反之,即当s为高电平时,y口输出了来自b端地较低频率地时钟信号. 二、文本设计输入(VHDL)法

图四 2选1多路选择器(VHDL)

图五 2选1多路选择器(VHDL)波形图

图六 2选1多路选择器(VHDL)引脚分布图

实验三、十进制计数器

一、VHDL程序 library ieee。

use ieee.std_logic_11.all。 use ieee.std_logic_UNSIGNED.all。 entity CNT10 is

port (CLK,RST,EN,LOAD: IN STD_LOGIC。 DATA: IN STD_LOGIC_VECTOR(3 DOwNTO 0)。

DOUT: out std_logic_vector(3 DOWNTO 0)。 COUT: OUT STD_LOGIC)。 ENd entity CNT10。

ARCHITECTURE behav of CNT10 IS BEGIN

PROCESS (CLK,RST,EN,LOAD)

variable Q: STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN

IF RST='0' THEN Q:= (OTHERS=>'0')。 ELSIF CLK 'EVENT AND CLK ='1' THEN IF EN='1' THEN

IF (LOAD ='0') THEN Q:=DATA。 ELSE IF Q<9 THEN Q:=Q+1。 ELSE Q:=(OTHERS=>'0')。 END IF。 END IF。 END IF。 END IF。

IF Q=\"1001\" THEN COUT<='1'。 else COUT<='0'。 END IF。 DOUT <=Q。 END PROCESS。 END behav。

它是一个带有异步复位和同步加载功能地十进制加法计数器. 二、编译报告

Compilation Report _flow sumamy

Simulation Repoet_simutlaion waveform

cnt10.vwf

由图可知,(1)当计数使能EN为高电平时允许计数;RST低电平时计数器被清零.(2)由于LOAD是同步加载控制信号,其第一个负脉冲恰好在CLK地上升沿处,故将5加载于计数到9,出现了第一个进位脉冲.由于LOAD第二个负脉冲未在CLK上升沿处,故没有发生加载操作,而第3、4个负脉冲都出现了加载操作;(3)当计数器每次计到9时,输出为高电平,而且计数器又从0开始重新计数 三、RTL图

四、symbol cnt10.bdf

实验四、四选一多路选择器

一、用IF_THEN语句实现4选1多路选择器

图一 用IF_THEN语句实现4选1多路选择器文本设计输入

图二 程序运行编译结果

图三 四选一多路选择器地电路仿真波形图

由上图可知:

当sel=11时,y=intput3;当sel=10时,y=intput2;当sel=01时,y=intput1;当sel=00时,y=intput0;实现了四选一功能.

图四4选1多路选择器RTL电路图

图五 4选1多路选择器Symbol

二、用CASE语句实现4选1多路选择器

图六 用CASE语句实现4选1多路选择器文本设计输入

图七 程序运行编译结果

图八 四选一多路选择器地电路仿真波形图

由上图可知(s<=s1&s2):

当s=00时,z=a;当s=01时,z=b;当s=10时,z=c;当s=11时,z=d;实现了四选一功能.

图九 4选1多路选择器RTL电路图

图十 4选1多路选择器Symbol

三、用WHEN_ELSE语句实现4选1多路选择器

图十一 用WHEN_ELSE语句实现4选1多路选择器文本设计输入

图十二 四选一多路选择器地电路仿真波形图

由上图可知(sel<=b & a):

当sel=00时,q=i0;当sel=01时,q=i1;当sel=10时,q=i2;当sel=11时,q=i3;实现了四选一功能.

图十三 4选1多路选择器RTL电路图

实验五、ADC0809采样状态机

一、文本设计输入(VHDL)法

图一 ADC0809采样状态机文本设计输入

图二 程序运行编译结果

二、RTL电路图

图三 ADC0809采样状态机RTL电路图

三、ADC0809采样状态图

图四 ADC0809采样状态图

四、ADC0809采样状态机工作时序

图五 ADC0809采样状态机工作时序图

上图显示了一个完整地采样周期.复位信号后进入状态s0;第二个时钟上升沿后,状态机进入状态s1,由start、ale发出采样和地址选通地控制信号.而后,eoc由高电平变为低电平,ADC0809地8位数据输出端呈现高阻状态“ZZ”.在状态s2,等待了clk地数个时钟周期之后,eoc变为高电平,表示转换结束;进入状态s3,在此状态地输出允许oe被被设置成高电平.此时ADC0809地数据输出端d[7.. 0]即输出已经转换好地数据5EH.在状态s4,lock_t发出一个脉冲,其上升沿立即将d端口地5E锁入q和regl中.

图六 ADC0809采样状态机Symbol

实验六、11010011序列检测

一、文本设计输入(VHDL)法

图一 序列检测器文本设计输入

图二 程序运行编译结果

二、序列检测器RTL电路图

图三 序列检测器RTL电路图

三、序列检测器状态图

图四 序列检测器状态图

四、序列检测器时序仿真波形

图五 序列检测器时序仿真波形

由上图可知,当有正确序列进入时,到了状态8时,输出序列正确标志SOUT=1.而当下一位数据为零时,即DIN=0,进入状态四s3(这时测出地数据110恰好与原序列数地头三位相同).

图六 序列检测器Symbol

实验七、两个8位乘8位地有符号数乘法

一、文本设计输入(VHDL)法

图一 两个8位乘8位地有符号数乘法器文本设计输入

图二 程序运行编译结果

图三 仿真波形

由波形可知,在CLK地第4个上升沿后才得到第一个计算数据,之前都是0.第4个上升沿后得到地结果为s=0×0+23×15=345;第5个上升沿后得到结果为

s=23×15+11×22=587;第6个上升沿后得到结果为s=11×22+33×45=1727;第7个上升沿后得到结果为s=33×45+16×21=1821;第8个上升沿后得到结果为s=16×21+16×5=416;第9个上升沿后得到结果为s=16×5+11×21=311; 二、两个8位乘8位地有符号数乘法器Symbol

图四 两个8位乘8位地有符号数乘法器Symbol 三、两个8位乘8位地有符号数乘法器RTL电路图

图五两个8位乘8位地有符号数乘法器RTL电路图

实验八、全加器

一、文本设计输入(VHDL)法

图一 全加器文本设计输入

图二 仿真结果

图三 全加器波形仿真图

全加器真值表如下: AIN 0 0 0 0 1 1 1 1 BIN 0 0 1 1 0 0 1 1 CIN 0 1 0 1 0 1 0 1 COUNT 0 0 0 1 0 1 1 1 SUM 0 1 1 0 1 0 0 1

对比真值表和仿真波形,加数AIN,BIN和进位CIN共有8总情况,和SUM和进位COUNT共有4总情况,波形和真值表一致

图四 全加器波实体模块

图五 全加器F_adder电路图

实验九、LPM_COUNTER计数模块

一、文本设计输入(VHDL)法

图一 LPM_COUNTER计数模块文本设计输入

图二 程序运行编译结果

图三 LPM_COUNTER计数模块 图四 LPM_COUNTER计数模块Symbol 二、LPM_COUNTER计数模块RTL电路图

图五 LPM_COUNTER计数模块RTL电路图

实验十、LPM_COUNTER计数模块例化

一、文本设计输入(VHDL)法

图一 LPM_COUNTER计数模块例化文本设计输入

图二程序运行编译结果

二、CNT4BIT.V仿真波形

图三 CNT4BIT.V地仿真波形

由仿真波形图可知:

在第2个SLD加载信号在没有CLK上升沿处发生时,无法进行加载,显然SLD是同步地.从波形中可以了解此计数器模块地功能和性能.

图四 CNT4BIT原理图输入设计

二、CNT4BIT计数模块RTL电路图

图五 CNT4BIT计数模块Symbol

图六 CNT4BIT计数模块RTL电路图

实验十一、LPM随机存储器地设置和调用

一、建立MIF格式文件

图一 MIF文件编辑窗

图二 利用康芯MIF生成MIF正弦波数据文件

二、对LPM_RAM仿真测试

图三 在原理图编辑器上连接好地RAM模块

图四 RAM仿真波形

三、利用用户自定义数据类型语句来实现存储器描述

图五 存储器VHDL程序

图六 仿真结果

图七 波形仿真结果

图八 存储器RTL电路图

图九 存储器Symbol

实验十二、LPM_ROM地定制和使

一、正弦信号发生器源程序

图一 正弦信号发生器源程序

图二 仿真结果

图三 LPM_ROM仿真测试

图四 正弦信号发生器RTL电路图

图五 正弦信号发生器仿真波形

由波形可见,随着每一个时钟上升沿地到来,输出端口将正弦波数据依次输出,输出地数据与加载数据相符.

图六 正弦信号发生器Symbol

实验十三、FIFO定制

一、FIFO电路原理图

图一 FIFO电路原理图

此FIFO地数据位宽为8,深度为256.其中data[7..0]为数据输入口;q[7..0]为数据输出口;wrreq和rderq分别为数据写入和读出请求信号,高电平有效;aclr为异步清零;full为存储数据溢出指示信号;empty为FIFO空指示信号;usedw[7..0]为当前已使用地址数指示;选择了速度优化方式.

图二 FIFO地仿真波形

从波形中可以看出,当写入请求wrreq为高电平时,在clock地每一个上升沿将data上地数据写入FIFO中;而在wrreq为低电平和读出请求rdreq为高电平时,clock地每一个上升沿,按照先进先出地顺序将FIFO中存入地数据读出,在这个过程中,usedw[7..0]地数据也随之变化.

实验十四、LPM嵌入式锁相环调用

一、采用嵌入式锁相环作时钟地正弦信号发生器电路图

图一 电路原理图

图二 选择输入参考时钟inclk0为10MHZ

实验十五、NCO核数控振荡器使用方法

一、NCO核数控振荡器使用方法

图一 开始进入Core文件生成选择窗口

图二 设置NCO参数

图三 完成NCO参数设置并生成设计文件后地信息窗口

图四 设置NCO参数

图五 测试NCO地电路

实验十六、使用 IP CORE设计FIR滤波器

一、使用IP Core设计FIR滤波器

图一 FIR滤波器系数确定

图二 测试电路图

实验十七、数字时钟

一、文本设计输入(VHDL)法

图一 仿真结果

图二 数字时钟电路原理图

图三 数字时钟实体模块

二、数字时钟seccount模块----秒计时

图四 全加器数字时钟seccount模块--秒计时

图五 秒计数波形仿真图

图六 分计数波形仿真图

实验十八、交通灯

一、文本设计输入(VHDL)法

图一 交通灯程序文本设计输入

图二 仿真结果

图三 交通灯仿真波形

图四 交通灯RTL图

图五 交通灯symbol

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务