EDA实训报告
- 格式:doc
- 大小:1.43 MB
- 文档页数:20
实训心得短暂的一周实训已经过去了,对于我来说这一周的实训赋予了我太多实用的东西了,不仅让我更深层次的对课本的理论知识深入了理解,而且还让我对分析事物的逻辑思维能力得到了锻炼,提高了实际动手能力,下面谈一下就这一周实训中我自己的一些心得体会.一周的实训已经过去了,我们在老师提供的实践平台上通过自己的实践学到了很多课本上学不到的宝贵东西,熟悉了对quartus ⅱ软件的一般项目的操作和学到了处理简单问题的基本方法,更重要的是掌握了vhdl语言的基本设计思路和方法,我想这些会对我今后的学习起到很大的助推作用。
此外,还要在今后的课本理论知识学习过程中要一步一个脚印的扎实学习,灵活的掌握和运用专业理论知识这样才能在以后出去工作的实践过程中有所成果。
最后还要感谢学校为我们提供这样专业的实践平台还有瓮老师在一周实训以来的不断指导和同学的热情帮助。
总的来说,这次实训我收获很大.同时,感谢大专两年来所有的老师,是你们为我解惑受业,不仅教授我专业知识,更教会我做人的道理.这次eda实训让我感觉收获颇多,在这一周的实训中我们不仅巩固了以前学过的知识,而且还学到了怎样运用eda设计三种波形的整个过程和思路,更加强了我们动手能力,同时也提高了我们的思考能力的锻炼,我们在写程序的同时还要学会要改程序,根据错误的地方去修改程序.本文基于verilog hdl的乒乓球游戏机设计,利用verilog hdl语言编写程序实现其波形数据功能在分析了cpld技术的基础上,利用cpld开发工具对电路进行了设计和仿真,从分离器件到系统的分布,每一步都经过严格的波形仿真,以确保功能正常。
从整体上看来,实训课题的内容实现的功能都能实现,但也存在着不足和需要进一步改进的地方,为我今后的学习和工作奠下了坚实的基础。
通过此次的实训课题,掌握了制作乒乓球游戏机技术的原理及设计要领,学习并掌握了可编程逻辑电路的设计,掌握了软件、cpld元件的应用,受益匪浅,非常感谢瓮老师这一学期来的指导与教诲,感谢老师在学习上给予的指导,老师平常的工作也很忙,但是在我们学习的过程中,重来没有耽搁过,我们遇到问题问他,他重来都是很有耐心,不管问的学生有多少,他都细心的为每个学生讲解,学生们遇到的不能解决的,他都配合同学极力解决。
实验一五人表决器设计一、实验目的1 加深对电路理论概念的理解3 加深计算机辅助分析及设计的概念4 了解及初步掌握对电路进行计算机辅助分析的过程二、实验要求制作一个五人表决器,共五个输入信号,一个输出信号。
若输入信号高电平数目多于低电平数目,则输出为高,否则为低。
三、实验原理根据设计要求可知,输入信号共有2^5=32种可能,然而输出为高则有15种可能。
对于本设计,只需一个模块就能完成任务,并采用列写真值表是最简单易懂的方法。
四、计算机辅助设计设A,B,C,D,E引脚为输入引脚,F为输出引脚。
则原理图如1所示图1.1 五人表决器原理图实验程序清单如下:MODULE VOTEA,B,C,D,E PIN;F PIN ISTYPE 'COM';TRUTH_TABLE([A,B,C,D,E]->[F])[0,0,1,1,1]->[1];[0,1,1,1,0]->[1];[0,1,0,1,1]->[1];[0,1,1,0,1]->[1];[1,0,1,1,1]->[1];[1,1,0,1,1]->[1];[1,1,1,0,1]->[1];[1,1,1,1,0]->[1];[1,1,1,0,0]->[1];[1,1,0,1,0]->[1];[1,1,1,1,1]->[1];[1,1,0,0,1]->[1];[1,0,0,1,1]->[1];[1,0,1,0,1]->[1];[1,0,1,1,0]->[1];END五、实验测试与仿真根据题目要求,可设输入分别为:0,0,0,0,0;1,1,1,1,1;1,0,1,0,0;0,1,0,1,1。
其测试程序如下所示:MODULE fivevoteA,B,C,D,E,F PIN;X=.X.;TEST_VECTORS([A,B,C,D,E]->[F])[0,0,0,0,0]->[X];[1,1,1,1,1]->[X];[1,0,1,0,0]->[X];[0,1,0,1,1]->[X];END测试仿真结果如图1.2所示:图1.2 五人表决器设计仿真图可知,设计基本符合题目要求。
EDA技术及应用实训报告
1.设计自动化技术
设计自动化技术(Design Automation)是一项将新科技与新技术结合在一起的实际工程学科,它将工程设计和制造过程的各个方面进行自动建模、自动仿真、自动集成,从而实现对制造技术的模拟和控制,实现优化系统设计和提高设计效率的目的。
设计自动化是达到设计自动化的途径之一,它强调了“从设计中抽象出规则、流程、模型和算法”,并对它们进行自动化,从而克服了手动设计中的过程繁琐、重复劳动的缺点,为设计师提供了更快、更准、更节劳的方法。
2、EDA技术
EDA(电子设计自动化)是在电子产品设计的整个流程中使用计算机软件和硬件工具来实现设计自动化的过程,也称之为电子产品设计自动化(EDA)。
EDA技术已经发展到成熟阶段,&&主要用于电路板设计、电路仿真、CAD/CAM设计、电路布线和测试等领域。
实验一组合电路的设计1. 实验目的:熟悉MAX + plus II 的VHDL 文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
2. 实验内容:设计一个2选1多路选择器,并进行仿真测试,给出仿真波形。
3. 实验程序如下:library ieee;use ieee.std_logic_1164.all; entity mux21a isport(a,b,s:in std_logic;y:out std_logic); end entity mux21a; architecture one of mux21a is beginy<=a when s='0' else b ; end architecture one ;4. 仿真波形(如图1-1所示)图1-1 2选1多路选择器仿真波形5. 试验总结:从仿真波形可以看出此2选1多路选择器是当s为低电平时,y输出为b, 当s为高电平时,y输出为a(y<=a when s='0' else b ;),完成2路选择输出。
实验二时序电路的设计1. 实验目的:熟悉MAX + plus II VHDL文本设计过程,学习简单的时序电路设计、仿真和测试。
2. 实验验内容:设计一个锁存器,并进行仿真测试,给出仿真波形。
3. 实验程序如下:library ieee;use ieee.std_logic_1164.all;entity suocun7 isport(clk: in std_logic;en: in std_logic;D: in std_logic_vector(7 downto 0);B:out std_logic_vector(7 downto 0)); end suocun7;architecture one of suocun7 issignal K: std_logic_vector(7 downto 0); beginprocess(clk,en,D)beginif clk'event and clk='1' thenif en ='0'thenK<=D;end if;end if;end process;B<=K;end one;4.仿真波形(如图2-1所示)图2-1 8位锁存器仿真波形此程序完成的是一个8位锁存器,当时钟上升沿到来(clk'event and clk='1')、使能端为低电平(en ='0')时,输出为时钟上升沿时的前一个数,从仿真波形看,实现了此功能。
EDA实验报告一、实验目的本实验旨在通过使用EDA(数据探索性分析)技术,进一步了解和分析所研究数据的特征、分布、关系以及可能存在的异常值等,从而为后续的数据建模和决策提供更加准确的依据。
二、实验步骤1. 数据收集与加载从数据源中获取所需数据集,并使用相应的数据加载工具将数据集导入到实验环境中。
多种数据源包括文件、数据库、API请求等方式均可。
2. 数据检查与预处理对导入的数据进行初步检查,包括数据类型、缺失值、异常值等方面的处理。
根据具体需求,对缺失值可以进行填充或删除操作,对异常值可以通过替换、删除或者修复的方式进行处理。
3. 数据探索性分析a) 描述性统计分析对各个变量进行描述性统计,包括计算均值、中位数、标准差等指标,以直观地了解数据的分布和变异程度。
b) 单变量分析对每个变量进行分析和探索,绘制直方图、箱线图、概率密度图等,以帮助我们了解变量的分布情况、异常值等。
c) 多变量分析使用散点图、柱状图、热力图等方式,对不同变量之间的关系进行分析。
可以通过相关性分析、协方差矩阵等方法来探索变量之间的线性关系。
4. 结果可视化在数据分析过程中,可以使用适当的可视化方法将分析结果直观地展示出来,如绘制折线图、散点图、热力图等。
可视化可以更好地理解数据的特征和趋势。
5. 异常检测与处理在探索性分析过程中,发现异常值后,需要进一步分析和决定如何处理它们。
可以采用剔除、修复等方式,使得数据能够更加符合实际情况。
6. 相关性分析对于关键变量之间的相互关系,可以使用相关性分析等统计方法来衡量它们的相关程度。
这可以帮助我们理解变量之间的影响和作用,以及它们与问题或目标变量之间的关系。
三、实验结果通过对所研究数据集的EDA实验,我们得出以下结论:1. 数据集的缺失值情况较为严重,需要进行适当的处理,以避免因缺失数据引起的结果不准确或失真的问题。
2. 变量A和变量B之间存在较强的正相关关系,即当A增加时,B 也会相应地增加;变量C则与变量A和B之间的关系较弱。
EDA实训报告范文实训报告一、背景介绍本次实训的数据集是某电商平台的用户行为数据集,包括用户在平台上的浏览、搜索、点击、购买等行为。
数据集主要包括用户ID、时间戳、商品ID、行为类型、商品类目ID、品牌ID等字段。
二、目标通过对数据集进行EDA(探索性数据分析),了解用户行为的特征、用户购买行为的规律,为后续的用户行为预测和推荐系统构建提供参考。
三、数据预处理1. 缺失值处理:检查数据集中是否存在缺失值,若存在则根据缺失值的数量和特征的重要程度进行处理,常见的处理方式包括删除缺失值、用均值或中位数填充缺失值等。
2. 异常值处理:检查数据集中是否存在异常值,如超出合理范围的数值或不符合业务规则的数据等,对异常值进行处理,常见的处理方式包括删除异常值、修正异常值等。
3. 数据类型转换:将数据集中的时间戳字段转换为日期格式,方便进行时间序列分析。
四、数据分析1. 用户行为分析:统计不同行为类型的用户数量,分析用户在平台上不同行为的比例和趋势,如浏览、搜索、点击和购买的比例和变化趋势。
2. 用户购买行为分析:统计用户购买行为的频次和金额,分析用户的购买习惯,如平均购买频次、平均购买金额等。
3. 商品类目分析:统计不同商品类目的销量和点击量,分析用户对不同类目商品的偏好程度,如热门类目和冷门类目的情况。
4. 品牌分析:统计不同品牌的销量和点击量,分析用户对不同品牌的偏好程度,如热门品牌和冷门品牌的情况。
五、数据可视化为了更直观地展示数据分析的结果,可以使用各种图表进行数据可视化,例如柱状图、折线图、饼图等。
数据可视化可以帮助我们更清楚地了解数据的分布、趋势和关联性。
六、结论通过对数据集的分析,可以得出以下结论:1. 用户在平台上的浏览行为最多,购买行为最少。
2. 用户的购买频次和金额平均较低,说明用户对平台的忠诚度和消费力有待提高。
3. 部分商品类目和品牌受欢迎程度高,可以加大推广和宣传力度。
4. 需要进一步分析用户行为和购买行为的关系,挖掘用户购买的动机和推荐系统的改进点。
EDA实验报告完结版一、实验目的本次 EDA 实验的主要目的是通过实际操作和设计,深入理解和掌握电子设计自动化(EDA)技术的基本原理和应用。
具体而言,包括熟悉 EDA 工具的使用方法,学会运用硬件描述语言(HDL)进行逻辑电路的设计与描述,以及通过综合、仿真和实现等流程,将设计转化为实际的硬件电路,并对其性能进行评估和优化。
二、实验环境本次实验所使用的 EDA 工具为_____,该工具提供了丰富的功能模块和强大的设计支持,包括原理图编辑、HDL 代码编写、综合、仿真和下载等。
实验所使用的硬件平台为_____开发板,其具备多种接口和资源,便于对设计的电路进行实际验证和测试。
三、实验内容1、基本逻辑门电路的设计与实现使用 HDL 语言(如 Verilog 或 VHDL)设计常见的基本逻辑门电路,如与门、或门、非门等。
通过编写代码,对逻辑门的输入输出关系进行描述,并进行综合和仿真,验证设计的正确性。
2、组合逻辑电路的设计与实现设计并实现较为复杂的组合逻辑电路,如加法器、减法器、编码器、译码器等。
运用 HDL 语言描述电路的功能,进行综合和仿真,确保电路在各种输入情况下的输出结果符合预期。
3、时序逻辑电路的设计与实现设计常见的时序逻辑电路,如计数器、寄存器、移位寄存器等。
在设计过程中,考虑时钟信号、同步复位和异步复位等因素,通过仿真验证时序逻辑的正确性,并对电路的性能进行分析。
4、有限状态机(FSM)的设计与实现设计一个有限状态机,实现特定的功能,如交通信号灯控制器、数字密码锁等。
明确状态转移条件和输出逻辑,通过编写 HDL 代码实现状态机,并进行综合和仿真,验证其功能的准确性。
5、综合与优化对设计的电路进行综合,生成门级网表,并通过优化工具对电路进行面积、速度等方面的优化,以满足特定的设计要求。
6、硬件实现与测试将综合后的设计下载到硬件开发板上,通过实际的输入输出信号,对电路的功能进行测试和验证。
观察电路在实际运行中的表现,对出现的问题进行分析和解决。
实验一QUARTUS II软件安装、基本界面及设计入门一、实验目的:QUARTUSII是Altera公司提供的EDA工具,是当今业界最优秀的EDA设计工具之一。
提供了一种与结构无关的设计环境,使得电子设计人员能够方便地进行设计输入、快速处理和器件编程。
通过本次实验使学生熟悉QUARTUSII软件的安装,基本界面及基本操作,并练习使用QUARTUS的图形编辑器绘制电路图。
二、实验内容:1、安装QUARTUSII软件;2、熟悉QUARTUSII基本界面及操作;3通过一个4位加法器的设计实例来熟悉采用图形输入方式进行简单逻辑设计的步骤。
三、实验仪器:1、PC机一台;2、QUARTUSII软件;3、EDA实验箱。
四、实验原理:4位加法器是一种可实现两个4位二进制数的加法操作的器件。
输入两个4位二进制的被加数A和B,以及输入进位Ci,输出为一个4位二进制和数D和输出进位数Co。
半加操作就是求两个加数A、B的和,输出本位和数S及进位数C。
全加器有3位输入,分别是加数A、B和一个进位Ci。
将这3个数相加,得出本位和数(全加和数)D和进位数Co。
全加器由两个半加器和一个或门组成。
五、实验步骤:安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
设计半加器:在进行半加器模块逻辑设计时,采用由上至下的设计方法,在进行设计输入时,需要由下至上分级输入,使用QuartusIIGraphic Editor进行设计输入的步骤如下。
(1)、打开QUARTUSII软件,选择File-new project wizard…新建一个设计实体名为has的项目文件;(2)、新建文件,在block.bdf窗口下添加元件符号,并连接。
如下图:半加器原理图(3)、将此文件另存为has.gdf的文件。
(4)、在主菜单中选择Processing→Start Compilation命令,系统对设计进行编译,同时打开Compilation Report Flow Summary窗体,Status视图显示编译进程。
EDA实验报告一、引言EDA(Exploratory Data Analysis)是一种数据分析的方法,旨在通过可视化和统计方法探索数据集的潜在模式、特征和异常值。
本实验旨在通过使用EDA技术,对给定的数据集进行分析和解释,以揭示数据集中的有意义信息。
二、数据集介绍本实验使用的数据集是关于某公司员工的绩效评估数据。
数据集包含几个重要变量,如员工的工作满意度、绩效评估得分、月均工作小时数等,共计有10个变量。
其中,工作满意度(satisfaction_level)和绩效评估得分(last_evaluation)为连续变量,而其他变量为离散变量。
三、数据预处理在进行EDA之前,我们首先对数据集进行了预处理。
具体步骤如下:1. 查看缺失值:通过使用缺失值检测方法,我们发现数据集中没有任何缺失值。
2. 删除重复值:通过检查数据集中的重复值,我们删除了其中的重复数据。
3. 处理异常值:通过使用离群值检测方法,我们发现某些变量存在异常值。
为了保证数据的准确性和可靠性,我们决定剔除这些异常值。
四、数据探索在进行EDA之前,我们首先对数据集中的各个变量进行了分布统计和描述性分析。
其中,我们计算了各个变量的平均值、中位数、标准差等统计指标,并绘制了直方图、箱线图和相关系数矩阵等图形。
1. 工作满意度分布通过对工作满意度进行可视化,我们发现该变量呈现近似正态分布的趋势,大部分员工的工作满意度集中在0.6-0.8之间。
2. 绩效评估得分分布通过对绩效评估得分进行可视化,我们发现该变量呈现双峰分布的特点,大部分员工的绩效评估得分集中在0.5-0.7和0.8-1.0之间。
3. 员工离职情况分析通过对离职率进行可视化,我们发现离职率大约为24%。
同时,我们还分析了不同离职情况下的其他变量的分布情况,发现离职员工的工作满意度明显低于未离职员工。
4. 关键变量相关性分析通过计算各个变量之间的相关系数,我们发现工作满意度与绩效评估得分呈现正相关关系,而与其他变量之间的相关性较弱。
《EDA技术及其应用》实训报告班级电信一班姓名 xxxx学号 103001231 指导教师 xxxx2012年05月21 日xxxxxxxx学院10级机械电子工程系目录1.1 课题 (3)1.2 实验的目的及意义 (3)1.3 实验的内容及要求 (3)1.4 实验的地点 (3)1. 5 实验的器材 (3)1. 6 实验设计思想 (3)1. 7 各模块的设计程序和元件介绍 (3)1. 8 实验感想 (11)1.1实验的课题:万年历1.2实验的目的及意义:(1)掌握EDA技术及FPGA技术的开发流程。
(2)掌握系统设计的方法和层次化设计的方法。
(3)掌握QuartusII软件的使用方法。
(4)掌握VHDL语言的程序设计、编写、编译和错误修改。
(5)掌握熟悉EDA实验箱的各个模块(6)掌握EDA试验箱与pc机的连接、下载和引脚绑定的全过程和方法,实现功能仿真。
1.3 实验的内容及要求:(1)实现年、月、日、时、分、秒的显示并具有闰年判断计数的功能(2)在试验箱上通过按键实现年月日和时分秒的显示切换。
(3)利用试验箱和pc机进行功能测试并实现万年历的显示功能。
1.4 实验的地点:郑州信息科技职业学院EDA实验室1.5 实验的器材:硬件:计算机、EDA试验箱软件:QuartusII软件1.6 实验设计思想:将万年历分为各个模块分项处理,每个小模块实现一个小的功能,最后在万年历的顶层文件中将各个模块整好在一起,实现万年历的整体功能。
这是万年历实验整体的设计思想。
其中组成模块有:秒计时模块cnt60、分计时模块cnt60、时计时模块cnt24、日计时模块tian、月计时模块yue、年计时模块nian、调整模块tz、控制模块mux21,然后在顶层文件中连接个各个模块组成万年历的完整连接图,之后再pc机上进行编译,完成引脚绑定再下载到实验箱上,根据程序内容及引脚绑定通过按键控制和led 灯的显示最终完成测试。
1.7各模块设计:1、秒分时、年月日、调整模块、控制模块设计程序(1)秒计时模块cnt60(六十进制计数器)程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CNT60 isport( CLK:in std_logic;CQ1,CQ2:out std_logic_vector(3 downto 0);COUT:OUT std_logic);end entity CNT60;architecture art of CNT60 issignal s1,s2:std_logic_vector(3 downto 0);beginprocess(clk)beginIF clk'event AND clk='1' then S1<=S1+1;IF S1=9 THEN S1<="0000"; S2<=S2+1; END IF;IF s2=5 AND S1=9 then s1<="0000"; s2<="0000"; COUT<='1';else COUT<='0'; end if;end if;CQ1<=S1; CQ2<=S2;end process;END art;将程序用QuartusII软件编译之后生成的cnt60模块元件如图所示:(此模块实现六十进制计数,用它实现分和秒功能)(2)分计时模块cnt60:(六十进制计数器)分计时模块和秒计时秒快一样,同样是用六十进制计数器cnt60,程序和生成元件同上所述。
湖北轻工职业技术学院电子设计自动化实训报告题目任意波形发生器的设计系部信息工程系专业电子信息工程技术班级 09 电信姓名刘飞学号 0903021114 指导教师赵欣2011年 6 月 24 日目录引言 (3)第一章任意波形发生器的设计思路 (4)第二章任意波形发生器设计的原理 (5)一.电路原理 (5)二.A/D558数模转换芯片 (5)三.VHDL程序设计 (7)四.不同波形的仿真结果 (9)四.利用按键来控制不同的波形 (11)第三章总结与体会 (14)第四章致谢 (15)第五章附录 (16)一.实物连线图: (16)二.接线序号图: (16)三.三角波代码: (17)四.方波代码: (18)五.正弦波代码: (19)第六章文献 (20)引言电子技术再不断的发展,电子系统的设计方法也随之发生了变革,基于EDA 技术的设计方法正在成为现代电子系统设计的主流。
EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。
而此次,我们基于EDA的设计主要是运用VHDL语言所编制的程序,加以简单的外围电路,完成任意波形发生器的程序编辑。
通过A/D558数模转换芯片,最终下载到ACEX1K系列EP1K30TC144-3芯片上,构成任意波形发生器,最终通过对程序、示波器以及按键调节,可以得到正弦波、方波、三角波。
第一章任意波形发生器的设计思路运用VHDL编写出正弦波、三角波、方波相对应的程序,并分别对其一一仿真检错,得到相应的原理图;再通过键盘程序所得出的原理图进行从新的连接,进行编译检错,以得到最后所需的设计原理图;最后通过A/D558数模转换芯片,最终下载到ACEX1K系列EP1K30TC144-3芯片上,通过对示波器以及不同的开关的调试得到不同的波形。
一.设计的框架图根据框架图可以看出:在系统中需建立一个LPM_ROM宏模块来调用存储在sin.mif文件中的波型数据。
完成LPM_ROM的建立后,对设计进行仿真,需将仿真数据与sin.mif中的数据进行比较,确保系统可以完整的输出sin.mif中的所有数据。
二.连接CPLD和A/D558,完成CPLD对A/D558的控制。
三.调整EDA-V系统上D/A模块中的输出位置,确保波型信号从A/D558的D/A OUT端输出。
四.使用示波器观察D/A OUT的输出波形,并记录输出波形的频率以及幅值。
第二章任意波形发生器设计的原理一.电路原理将已设计好的VHDL程序通过地址池的发送到数据存储器,通过对按键的控制来选择相应的波形程序传送到A/D558数模转换芯片,通过D/A转换端口把二进制数字信号转换为与其数值成正比的模拟信号,最后通过数据总线D[7..0]读入数据,同时将转换结果通过示波器输出。
二.A/D558数模转换芯片A/D558是D/A转换器的功能是把二进制数字信号转换为与其数值成正比的模拟信号,是并行8位D/A转换芯片,应用CPLD可以完成对A/D558的控制。
CPLD与CPLD结合之后可以完成函数发生器的基本功能:波形输出。
要实现这种结合就需要应用VHDL语言完成D/A接口的设计。
通过合适的VHDL语言可以完成递增斜波、递减斜波、三角波、递增阶梯波的输出。
A/D转换器和D/A转换器是把微型计算机的应用领域扩展到检测和过程控制的必要装置,是把计算机和生产过程、科学实验过程联系起来的重要桥梁。
D/A 转换器的功能是把二进制数字信号转换为与其数值成正比的模拟信号。
D/A转换器相对于A/D转换器在时序上要求较低。
在D/A参数中一个最重要的参数就是分辨率,它是指输入数字量发生单位数码变化时,所对应输出模拟量(电压或电流)的变化量。
分辨率是指输入数字量最低有效位为1时,对应输出可分辨的电压变化量ΔU与最大输出电压Um之比。
D/A转换器A/D558是EDA实验箱上自带的并行8位D/A转换芯片,它可以把输入的8位数字量转化为0~2.56V的电压量,它与CPLD器件联合使用可以产生几种波形。
其芯片管脚外形和内部结构框图分别如图1、图2所示:A/D558的真值表如图3所示。
由真值表可知:当CS为低电平、CE为电平时,A/D558保持上次的转换结果;当CS和CE同时为电平时,通过数据总线D[7..0]读入数据,同时将转换结果输出。
三.VHDL程序设计(1)地址发生器所对应的电路符号:VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt isport(clk:in std_logic;q:out std_logic_vector(5 downto 0));end;architecture one of cnt issignal q1:std_logic_vector(5 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenq1<=q1+1;end if;end process;q<=q1;end one;(2)数据储存器的电路符号:VHDL程序:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY rom ISPORT(address : IN STD_LOGIC_VECTOR (5 DOWNTO 0);inclock : IN STD_LOGIC ;outclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END rom;ARCHITECTURE SYN OF rom ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0);COMPONENT lpm_romGENERIC (lpm_width : NATURAL;lpm_widthad : NATURAL;lpm_address_control : STRING;lpm_outdata : STRING;lpm_file : STRING);PORT (outclock : IN STD_LOGIC ;address : IN STD_LOGIC_VECTOR (5 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END COMPONENT;BEGINq <= sub_wire0(7 DOWNTO 0);lpm_rom_component : lpm_romGENERIC MAP (LPM_WIDTH => 8,LPM_WIDTHAD => 6,LPM_ADDRESS_CONTROL => "REGISTERED",LPM_OUTDATA => "REGISTERED",LPM_FILE => "E:/mb/sin.mif")PORT MAP (outclock => outclock,address => address,inclock => inclock,q => sub_wire0);四.不同波形的仿真结果波形原理图:正弦波仿真图:示波器显示正弦波实图:从示波器上观察得到,正弦波所对应的幅值为:2.7V; 频率为:333HZ; 周期约为:3ms三角波仿真图:由图可看出,clk为时钟信号,即输入端,q[7..0]为输出信号;82到7A为下降区间,7A到82为上升区间,由此一直循环,就构成了三角波。
示波器显示三角波实图:通过示波器可以看出:该波形幅值为:2.76V; 频率为:313HZ; 周期约为:3.2ms仿真波形:由仿真波形可以看出:clk为时钟信号即为输入端,q[7..0]为输出端;输出端是以“FF”作为正相幅度保持不变,“00”作为负相幅度保持不变,以这样的方式依次循环,即形成方波。
示波器显示波形:从示波器可以看出:该幅值为2.6V; 频率为:1.25KHZ;周期为:0.8ms四.利用按键来控制不同的波形选择器电路符号:所对应的VHDL程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY xzq ISPORT(sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0);d0,d1,d2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END xzq;ARCHITECTURE behave OF ch31a ISBEGINPROCESS(sel)BEGINCASE sel ISWHEN"00"=>q<=d0;WHEN"01"=>q<=d1;WHEN"10"=>q<=d2;WHEN OTHERS=>NULL;END case;END PROCESS;END;任意波形控制电路图:该原理图中,clk为时钟信号,即为输入信号;q[7..0]为输出信号;FANGB 所对应的是显示方波电路符号;ZB所对应的是显示正弦波的电路符号;SB是对应显示三角波所对应的电路符号;通过按键对选择器的控制已得到相应的波形。
仿真波形:由波形图看出:当SEL=001时,Q0~Q7输出的是正弦波信号;当SEL=010时,Q0~Q7输出的是方波信号;当SEL=100时,Q0~Q7输出的是三角波信号。