EDA实验报告yan

合集下载

eda实验报告实验总结心得

eda实验报告实验总结心得

eda实验报告实验总结心得1.引言1.1 概述本实验报告旨在总结分析EDA实验的过程和结果,并分享实验中的心得体会。

通过本次实验,我学习了EDA(Exploratory Data Analysis)的基本概念和方法,了解到其在数据分析和数据挖掘领域的重要性。

EDA是一种数据分析技术,通过对数据集进行探索性分析,揭示出数据之间的关系、趋势和规律,为后续的数据处理和模型建立提供有效的指导。

通过可视化和统计方法,EDA可以帮助我们深入理解数据集的特征,并发现其中的异常值、缺失值、重复值等问题,为数据清洗和预处理提供依据。

在本次实验中,我们使用了Python编程语言以及相关的数据分析库(如Pandas、Matplotlib等)来进行EDA实验。

实验过程包括了数据集的加载、数据的基本统计信息分析、数据可视化等环节。

通过对数据集进行统计描述和可视化展示,可以更直观地了解数据的分布情况、关联关系以及异常值的存在情况。

本次实验的目的是通过实际操作来掌握EDA技术的应用方法,并能够运用其提供的工具和技巧来解决实际问题。

通过对数据的探索和分析,我们可以更好地理解数据集本身的特点和规律,为后续的数据处理和建模工作打下基础。

总之,本篇实验报告将分享我在进行EDA实验过程中的所见所闻、所思所感,希望能够对读者对于EDA技术的理解和应用有所启发,并为数据分析和挖掘领域的学习提供一些借鉴思路。

1.2 文章结构本篇实验报告共分为引言、正文和结论三个部分。

引言部分主要对本次实验进行概述,说明文章的目的和意义。

在概述中,将简要介绍本次实验的背景以及实验所涉及的主要内容。

接下来,将介绍文章的结构,明确各个章节的内容,使读者可以更好地理解整篇文章的组织结构。

正文部分是本次实验报告的核心部分。

首先,将详细讲述实验的背景,包括实验的目的、相关理论知识和实验的重要性。

其次,将详细描述实验的具体过程,包括实验所使用的材料与方法、实验的步骤和操作,以及实验中的关键数据和实验结果。

EDA-实验报告

EDA-实验报告

实验一五人表决器设计一、实验目的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实验总结报告

eda实验总结报告

eda实验总结报告本文是关于EDA实验的总结报告。

EDA全称Exploratory Data Analysis,即探索性数据分析。

本次实验旨在通过对数据的探索性分析,更好地理解数据的特征,为后续的数据建模和分析提供基础。

一、实验目的本次实验的主要目的是通过探索性数据分析,全面了解数据的情况和属性,包括数据的分布、离群值、缺失值等等,为后续的数据处理和建模提供基础。

二、实验数据实验数据为一份包含39个字段的广告数据集,该数据集每行为一条记录,包含了广告的各项属性和指标。

数据集的字段包括:序号、时间、广告类型、广告尺寸、广告位置、出价、曝光量、点击量、点击率等。

三、实验步骤1. 导入数据首先,我们需要读取并分析数据,以确定数据集的基本特征。

在本次实验中,我们使用了Python中的pandas库来读取和处理数据。

2. 数据探索基于导入的数据,我们需要进行数据探索,分析数据的各种特征和属性。

具体包括以下几点:(1)统计数据基本特征,包括字段数量、数据类型、缺失值、异常值等等;(2)分析数据的分布情况,包括分布密度、分布频率等等;(3)分析数据的标签分布情况,包括正负样本比例、标签分布情况以及样本类别的不平衡性等等;(4)探索数据之间的关联性,包括特征之间的相关性、关联度等等;(5)对数据进行可视化展示,包括直方图、散点图、箱线图等等。

通过对数据的探索,我们可以更好地了解数据的基本特征,挖掘数据中的规律和特征。

四、实验结果通过对数据的探索性分析,我们得到了以下结论:(1)数据特征经过初步分析可以看出,该数据集包含39个字段,其中有19个字段为数值型特征,16个字段为分类型特征,以及4个字段为时间型特征。

通过观察可以发现,该数据集中的异常值较少,而缺失值相对较多。

(2)数据分布经过数据分布的分析,我们发现该数据集的分布情况呈现长尾分布,即数据中存在大量较小的值和少量的较大的值。

(3)标签分布通过对数据集中的标签进行分析,我们发现整个数据集的正样本比例约为30%,而负样本比例为70%。

eda技术实验报告

eda技术实验报告

eda技术实验报告EDA技术实验报告引言EDA(Electronic Design Automation)技术是电子设计自动化的缩写,是现代电子设计中不可或缺的一环。

它通过计算机辅助设计,提高了电路设计的效率和质量。

本文将介绍EDA技术的背景、应用和实验结果。

背景随着电子产品的不断发展,电路设计变得越来越复杂,传统的手工设计已经无法满足需求。

EDA技术的出现填补了这一空白。

它利用计算机的强大计算能力和算法,帮助设计师完成电路设计、仿真、布局和验证等工作。

应用1. 电路设计EDA技术的核心应用是电路设计。

通过EDA工具,设计师可以绘制电路图、选择器件、进行参数设置等。

EDA工具还可以自动进行电路优化,提高电路性能。

2. 仿真验证在电路设计完成后,需要对电路进行仿真验证。

EDA技术可以提供准确的仿真结果,帮助设计师分析电路的性能和稳定性。

仿真验证可以帮助设计师发现潜在的问题,提前解决。

3. 物理布局物理布局是将电路逻辑转化为实际的物理结构。

EDA技术可以自动进行物理布局,优化电路的面积和功耗。

物理布局的好坏直接影响到电路的性能和可靠性。

4. 电路验证在电路设计完成后,需要进行电路验证,确保电路的正确性和可靠性。

EDA技术可以自动进行电路验证,提供准确的验证结果。

电路验证可以帮助设计师发现设计缺陷,提高电路的可靠性。

实验设计在本次实验中,我们选择了一款EDA工具进行实验。

首先,我们设计了一个简单的数字电路,包括与门和或门。

然后,利用EDA工具进行电路仿真和优化。

最后,对电路进行物理布局和验证。

实验结果通过实验,我们得到了以下结果:1. 仿真结果显示,设计的数字电路在不同输入条件下均能正确输出结果,验证了电路的正确性。

2. 通过优化算法,我们成功提高了电路的性能,减少了功耗和面积。

3. 物理布局结果显示,电路的布局紧凑,满足了设计要求。

4. 电路验证结果显示,电路的功能和性能均符合设计要求,验证了电路的可靠性。

eda技术实验报告

eda技术实验报告

EDA技术实验报告1. 背景介绍EDA(Exploratory Data Analysis)是指探索性数据分析,是数据科学和机器学习中一项重要的任务。

通过EDA技术,我们可以对数据集进行可视化和统计分析,从而深入了解数据的特征和结构,为后续的数据处理和建模提供指导。

2. 实验目的本实验旨在通过使用EDA技术来分析一个给定的数据集,并从中获取有价值的信息。

通过实践,我们将深入了解EDA技术的应用和优势。

3. 实验步骤步骤1:导入数据首先,我们需要将实验所需的数据导入到Python的数据分析库中。

我们可以使用pandas库读取数据集,并将其存储为DataFrame对象,以便后续的分析和处理。

import pandas as pd# 读取数据集data = pd.read_csv('data.csv')步骤2:数据概览在进行数据分析之前,我们先要对数据进行整体的了解。

我们可以通过以下几个步骤来获取数据的概览信息:1.查看数据的前几行,了解数据的结构和格式。

data.head()2.查看数据的基本统计信息,包括均值、标准差、最小值、最大值等。

data.describe()3.检查数据中是否存在缺失值或异常值。

data.isnull().sum()步骤3:数据可视化EDA技术的核心之一是数据可视化。

通过可视化数据,我们可以更直观地理解数据的分布和关系。

下面是几种常用的数据可视化方法:1.直方图:用于展示数值型数据的分布情况,可以帮助我们了解数据的集中趋势和离散程度。

data['column'].plot.hist()2.散点图:用于展示两个数值型变量之间的关系,可以帮助我们发现数据的相关性。

data.plot.scatter(x='column1', y='column2')3.条形图:用于展示类别型数据的分布情况,可以帮助我们比较不同类别之间的差异。

EDA实验报告

EDA实验报告

EDA实验报告一、实验目的本实验旨在通过使用EDA(数据探索性分析)技术,进一步了解和分析所研究数据的特征、分布、关系以及可能存在的异常值等,从而为后续的数据建模和决策提供更加准确的依据。

二、实验步骤1. 数据收集与加载从数据源中获取所需数据集,并使用相应的数据加载工具将数据集导入到实验环境中。

多种数据源包括文件、数据库、API请求等方式均可。

2. 数据检查与预处理对导入的数据进行初步检查,包括数据类型、缺失值、异常值等方面的处理。

根据具体需求,对缺失值可以进行填充或删除操作,对异常值可以通过替换、删除或者修复的方式进行处理。

3. 数据探索性分析a) 描述性统计分析对各个变量进行描述性统计,包括计算均值、中位数、标准差等指标,以直观地了解数据的分布和变异程度。

b) 单变量分析对每个变量进行分析和探索,绘制直方图、箱线图、概率密度图等,以帮助我们了解变量的分布情况、异常值等。

c) 多变量分析使用散点图、柱状图、热力图等方式,对不同变量之间的关系进行分析。

可以通过相关性分析、协方差矩阵等方法来探索变量之间的线性关系。

4. 结果可视化在数据分析过程中,可以使用适当的可视化方法将分析结果直观地展示出来,如绘制折线图、散点图、热力图等。

可视化可以更好地理解数据的特征和趋势。

5. 异常检测与处理在探索性分析过程中,发现异常值后,需要进一步分析和决定如何处理它们。

可以采用剔除、修复等方式,使得数据能够更加符合实际情况。

6. 相关性分析对于关键变量之间的相互关系,可以使用相关性分析等统计方法来衡量它们的相关程度。

这可以帮助我们理解变量之间的影响和作用,以及它们与问题或目标变量之间的关系。

三、实验结果通过对所研究数据集的EDA实验,我们得出以下结论:1. 数据集的缺失值情况较为严重,需要进行适当的处理,以避免因缺失数据引起的结果不准确或失真的问题。

2. 变量A和变量B之间存在较强的正相关关系,即当A增加时,B 也会相应地增加;变量C则与变量A和B之间的关系较弱。

EDA实验报告完结版

EDA实验报告完结版

EDA实验报告完结版一、实验目的本次 EDA 实验的主要目的是通过实际操作和设计,深入理解和掌握电子设计自动化(EDA)技术的基本原理和应用。

具体而言,包括熟悉 EDA 工具的使用方法,学会运用硬件描述语言(HDL)进行逻辑电路的设计与描述,以及通过综合、仿真和实现等流程,将设计转化为实际的硬件电路,并对其性能进行评估和优化。

二、实验环境本次实验所使用的 EDA 工具为_____,该工具提供了丰富的功能模块和强大的设计支持,包括原理图编辑、HDL 代码编写、综合、仿真和下载等。

实验所使用的硬件平台为_____开发板,其具备多种接口和资源,便于对设计的电路进行实际验证和测试。

三、实验内容1、基本逻辑门电路的设计与实现使用 HDL 语言(如 Verilog 或 VHDL)设计常见的基本逻辑门电路,如与门、或门、非门等。

通过编写代码,对逻辑门的输入输出关系进行描述,并进行综合和仿真,验证设计的正确性。

2、组合逻辑电路的设计与实现设计并实现较为复杂的组合逻辑电路,如加法器、减法器、编码器、译码器等。

运用 HDL 语言描述电路的功能,进行综合和仿真,确保电路在各种输入情况下的输出结果符合预期。

3、时序逻辑电路的设计与实现设计常见的时序逻辑电路,如计数器、寄存器、移位寄存器等。

在设计过程中,考虑时钟信号、同步复位和异步复位等因素,通过仿真验证时序逻辑的正确性,并对电路的性能进行分析。

4、有限状态机(FSM)的设计与实现设计一个有限状态机,实现特定的功能,如交通信号灯控制器、数字密码锁等。

明确状态转移条件和输出逻辑,通过编写 HDL 代码实现状态机,并进行综合和仿真,验证其功能的准确性。

5、综合与优化对设计的电路进行综合,生成门级网表,并通过优化工具对电路进行面积、速度等方面的优化,以满足特定的设计要求。

6、硬件实现与测试将综合后的设计下载到硬件开发板上,通过实际的输入输出信号,对电路的功能进行测试和验证。

观察电路在实际运行中的表现,对出现的问题进行分析和解决。

EDA实验报告 (2)

EDA实验报告 (2)

实验一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视图显示编译进程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA课程实验报告姓名:阎军屹班级:072115学号:20111000394实验一组合逻辑设计一、实验目的1、通过3-8译码器的设计,掌握组合逻辑电路的设计方法。

2、掌握组合逻辑电路的静态测试方法。

3、初步了解Quartus II原理图输入设计的全过程。

二、实验硬件要求1、输入:DIP拨码开关3位。

2、输出:LED灯。

3、主芯片::EP1K10TC100-3.三、实验原理三-八译码器三输入,八输出。

当输入信号按二进制方式的表示值为N时(输入低电平有效),输出端从零到八记,标号为N输出端输出低电平表示有信号产生,而其它则为高电平表示无信号产生。

因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为低电平的情况下,能表示所有的输入组合,因此不需要像编码器实验那样再用一个输出端指示输出是否有效。

三-八译码器真值表如表1-1所示。

表1-1 三-八译码器真值表输入输入A2 A1 A0 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 00 1 1 0 0 0 0 1 0 0 01 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 01 1 1 1 0 0 0 0 0 0 0四、实验步骤1、新建原理图文件,插入输入引脚、输出引脚、非门、与门等器件,并用信号线相连,如图1-1所示,保存文件;2、新建仿真文件,导入原理图中的信号,并按照真值表的顺序设置好输入信号A、B、C的波形,保存文件;3、进行仿真并对照真值表观察仿真结果,仿真结果如图1-2所示;4、设置引脚,将程序下载到实验箱,用拨码开关的低三位代表译码器的输入(A,B,C)、LED灯代表译码器的输出(D0~D7),并将之与EP1K10TC 100-3的管脚相连,拨动拨码开关观察实验现象。

图1-1 三-八译码器原理图图1-2 仿真结果五、实验现象可以观察到发光二极管与输入状态的对应关系同真值表中所描述的情况是一致的。

六、实验心得通过实验熟悉了对软件的操作,掌握了建立工程的方法,绘制bdf文件的方法,了解了试验箱的使用,大体掌握了实验仪器的操作方法。

实验四扫描显示电路的驱动一实验源程序:library ieee;use ieee.std_logic_1164.all;entity decoder isport( Din: in std_logic_vector(3 downto 0);Dout: out std_logic_vector(6 downto 0));end entity decoder ;architecture bhv of decoder isbeginprocess(Din)begincase Din iswhen "0000" => Dout <= "1111110" ; --0when "0001" => Dout <= "0110000" ; --1when "0010" => Dout <= "1101101" ; --2when "0011" => Dout <= "1111001" ; --3when "0100" => Dout <= "0110011" ; --4when "0101" => Dout <= "1011011" ; --5when "0110" => Dout <= "1011111" ; --6when "0111" => Dout <= "1110000" ; --7when "1000" => Dout <= "1111111" ; --8when "1001" => Dout <= "1111011" ; --9when "1010" => Dout <= "1110111" ; --Awhen "1011" => Dout <= "0011111" ; --bwhen "1100" => Dout <= "1001110" ; --Cwhen "1101" => Dout <= "0111101" ; --dwhen "1110" => Dout <= "1001111" ; --Ewhen "1111" => Dout <= "1000111" ; --Fwhen others => null;end case;end process;end architecture bhv;二、实验原理图:三、仿真截图:应用实验实验二:梁祝音乐一、源程序:变量为二进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity music is //实体语句port( clk: in std_logic; //时钟输入spk: buffer std_logic); //标准逻辑缓存区end entity music;architecture behave of music is 结构体语句signal tone : std_logic_vector(10 downto 0); //TONE有11位变量signal tone_count :std_logic_vector(10 downto 0); //信号有11位变量signal tone_index :integer range 0 to 15; //信号为整数类型范围0-15signal clk10_count :std_logic_vector(17 downto 0); //信号有18位变量signal time :integer range 0 to 150;//TIME范围0-150为整数signal clk10 :std_logic; //CLK10的数据类型begin //功能描述开始process(clk) //进程CLK描述beginif(clk'event and clk='1') then //CLK上升沿触发clk10_count<=clk10_count+1; //累加计数if(clk10_count=16#3fff#) then //判断语句clk10<=not clk10; //赋值语句end if; //结束IFend if; //同上end process; //结束程序CLKprocess(clk10) //进程CLK10描述begin //开始进程if(clk10'event and clk10='1') then //CLK10上升沿触发if(time=150) then //判断语句time<=0; //时间归零elsetime<=time+1; //时间累加end if; //结束IFend if; //同上end process; //结束进程CLK10process(clk10) //进程CLK10描述begin //开始if(clk10'event and clk10='1') then //CLK10的上升沿触发case time is //执行CASE语句when 0=>tone_index<=3; //当TIME为零时,TONE_INDEX赋值为3.when 1=>tone_index<=3;when 2=>tone_index<=3;when 3=>tone_index<=3;when 4=>tone_index<=5;when 5=>tone_index<=5;when 6=>tone_index<=5;when 7=>tone_index<=6;when 8=>tone_index<=8;when 9=>tone_index<=8;when 10=>tone_index<=8;when 11=>tone_index<=9;when 12=>tone_index<=6;when 13=>tone_index<=8;when 14=>tone_index<=5;when 15=>tone_index<=5;when 16=>tone_index<=12;when 17=>tone_index<=12;when 18=>tone_index<=12;when 19=>tone_index<=15;when 20=>tone_index<=13;when 21=>tone_index<=12;when 22=>tone_index<=10;when 23=>tone_index<=12;when 24=>tone_index<=9;when 25=>tone_index<=9;when 26=>tone_index<=9;when 27=>tone_index<=9;when 28=>tone_index<=9;when 29=>tone_index<=9;when 30=>tone_index<=9;when 31=>tone_index<=0;when 32=>tone_index<=9;when 33=>tone_index<=9;when 34=>tone_index<=9;when 35=>tone_index<=10;when 36=>tone_index<=7;when 37=>tone_index<=7;when 38=>tone_index<=6;when 39=>tone_index<=6;when 40=>tone_index<=5;when 41=>tone_index<=5;when 42=>tone_index<=5;when 43=>tone_index<=6;when 44=>tone_index<=8;when 45=>tone_index<=8;when 46=>tone_index<=9;when 47=>tone_index<=9;when 48=>tone_index<=3;when 49=>tone_index<=3;when 50=>tone_index<=8;when 51=>tone_index<=8;when 52=>tone_index<=6;when 53=>tone_index<=5;when 54=>tone_index<=6;when 55=>tone_index<=8;when 56=>tone_index<=5;when 57=>tone_index<=5;when 58=>tone_index<=5;when 59=>tone_index<=5;when 60=>tone_index<=5;when 61=>tone_index<=5;when 62=>tone_index<=5; when 63=>tone_index<=5; when 64=>tone_index<=10; when 65=>tone_index<=10; when 66=>tone_index<=10; when 67=>tone_index<=12; when 68=>tone_index<=7; when 69=>tone_index<=7; when 70=>tone_index<=9; when 71=>tone_index<=9; when 72=>tone_index<=6; when 73=>tone_index<=8; when 74=>tone_index<=5; when 75=>tone_index<=5;when 77=>tone_index<=5; when 78=>tone_index<=5; when 79=>tone_index<=5; when 80=>tone_index<=3; when 81=>tone_index<=5; when 82=>tone_index<=3; when 83=>tone_index<=3; when 84=>tone_index<=5; when 85=>tone_index<=6; when 86=>tone_index<=7; when 87=>tone_index<=9; when 88=>tone_index<=6; when 89=>tone_index<=6; when 90=>tone_index<=6; when 91=>tone_index<=6; when 92=>tone_index<=6; when 93=>tone_index<=6; when 94=>tone_index<=5; when 95=>tone_index<=6; when 96=>tone_index<=8; when 97=>tone_index<=8; when 98=>tone_index<=8; when 99=>tone_index<=9; when 100=>tone_index<=12; when 101=>tone_index<=12; when 102=>tone_index<=12; when 103=>tone_index<=10; when 104=>tone_index<=9; when 105=>tone_index<=9; when 106=>tone_index<=10; when 107=>tone_index<=9; when 108=>tone_index<=8; when 109=>tone_index<=8; when 110=>tone_index<=6; when 111=>tone_index<=5; when 112=>tone_index<=3; when 113=>tone_index<=3; when 114=>tone_index<=3; when 115=>tone_index<=3; when 116=>tone_index<=8; when 117=>tone_index<=8; when 118=>tone_index<=8; when 119=>tone_index<=8;when 121=>tone_index<=8;when 122=>tone_index<=6;when 123=>tone_index<=5;when 124=>tone_index<=3;when 125=>tone_index<=5;when 126=>tone_index<=6;when 127=>tone_index<=8;when 128=>tone_index<=5;when 129=>tone_index<=5;when 130=>tone_index<=5;when 131=>tone_index<=5;when 132=>tone_index<=5;when 133=>tone_index<=5;when 134=>tone_index<=5;when 135=>tone_index<=5;when 136=>tone_index<=0;when 137=>tone_index<=5;when 138=>tone_index<=0;when others=>tone_index<=0; //同上end case; 结束CASE语句end if; //结束IFend process; //结束进程process(tone_index) //扬声器频率调节begin //开始进程case tone_index is //执行CASE语句when 0=>tone<="11111111111"; //no outputwhen 1=>tone<="01100000101"; //773when 2=>tone<="01110010000"; //912when 3=>tone<="10000001100"; //1036when 5=>tone<="10010101101"; //1197when 6=>tone<="10100001010"; //1290when 7=>tone<="10101011100"; //1372when 8=>tone<="10110000010"; //1410when 9=>tone<="10111001000"; //1480when 10=>tone<="11000000110"; //1542when 12=>tone<="11001010110"; /1622when 13=>tone<="11010000100"; //1668when 15=>tone<="11011000000"; //1728when others=>tone<="11111111111"; //others:no output end case; //结束CASE语句end process; //结束进程process(clk) //控制扬声器的频率begin //开始进程if(clk'event and clk='1') then //CLK上升沿触发if(tone_count=16#7ff#) then //如果信号数值等于16进制的7ff tone_count<=tone; //赋值语句if(tone<2047) then //如果扬声器频率小于2047spk<=not spk; //扬声器发声end if; //结束判断else //其它可能tone_count<=tone_count+1; //扬声器频率调高一档end if; //结束判断end if; //结束判断end process; //结束进程end architecture behave; //结束结构体程序。

相关文档
最新文档