EDA技术及指导应用实训报告材料
- 格式:doc
- 大小:163.50 KB
- 文档页数:16
苏州市职业大学实习(实训)报告课程名称EDA技术与应用课程实训项目名称电压监控系统的设计2013年6月24日至2013年6月28日共1周学院(部) 电子信息工程学院班级11应用电子2姓名田闯学号117303233学院(部)负责人张红兵系主任陈伟元指导教师孙加存苏州市职业大学实习(实训)设计任务书课程名称:EDA技术与应用课程实训起讫时间:2013年6月24日至2013年6月28日学院(部):电子信息工程学院班级:11应用电子2班指导教师:孙加存学院(部)负责人:张红兵目录目录 (3)第一章绪论 (4)1.1 EDA技术的概述 (4)1.1.1EDA技术的发展历程 (4)1.1.2 EDA技术的应用 (4)1.2 EDA技术的设计方法 (4)1.2.1 数字系统设计模型 (5)1.2.2 数字系统设计基本步骤 (6)第二章电压监测系统介绍 (7)2.1 电压监测系统的应用场合 (7)2.2 电压监测仪的作用 (7)2.3 电压监测系统的结构 (7)2.4 TLC549芯片 (8)2.4.1 引脚图及各引脚功能 (8)2.4.2 TLC549工作原理 (9)第三章电压监测系统的设计 (10)3.1 设计要求 (10)3.2 设计思路 (11)3.3 设计流程 (12)3.4 设计步骤及程序 (13)3.5 硬件实现及调试步骤 (13)第四章课程实训总结 (15)参考文献 (16)附录 (17)第一章绪论1.1 EDA技术的概述1.1.1EDA技术的发展历程回顾近30 年电子设计技术的发展历程,可将EDA 技术分为三个阶段。
七十年代为CAD 阶段,人们开始用计算机辅助进行IC 版图编辑、PCB 布局布线,取代了手工操作,产生了计算机辅助设计的概念。
八十年代为CAE 阶段,与CAD 相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。
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技术实验报告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技术及应用实训报告
1.设计自动化技术
设计自动化技术(Design Automation)是一项将新科技与新技术结合在一起的实际工程学科,它将工程设计和制造过程的各个方面进行自动建模、自动仿真、自动集成,从而实现对制造技术的模拟和控制,实现优化系统设计和提高设计效率的目的。
设计自动化是达到设计自动化的途径之一,它强调了“从设计中抽象出规则、流程、模型和算法”,并对它们进行自动化,从而克服了手动设计中的过程繁琐、重复劳动的缺点,为设计师提供了更快、更准、更节劳的方法。
2、EDA技术
EDA(电子设计自动化)是在电子产品设计的整个流程中使用计算机软件和硬件工具来实现设计自动化的过程,也称之为电子产品设计自动化(EDA)。
EDA技术已经发展到成熟阶段,&&主要用于电路板设计、电路仿真、CAD/CAM设计、电路布线和测试等领域。
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、硬件实现与测试将综合后的设计下载到硬件开发板上,通过实际的输入输出信号,对电路的功能进行测试和验证。
观察电路在实际运行中的表现,对出现的问题进行分析和解决。
EDA实训报告本次实训的主题是数据分析,目的是学习和掌握常见的数据预处理和可视化技术,以及基本的数据分析方法。
在实训中,我们使用了Python编程语言和常见的数据分析库,例如Pandas和Matplotlib。
第一步:数据加载和清洗我们使用Pandas库读取了一个包含学生成绩的数据集,该数据集中包含了学生姓名、科目和成绩。
在读取数据之后,我们进行了简单的数据清洗,包括:1. 删除不必要的列在本次实训中,我们只关注学生姓名、科目和成绩,因此可以删除数据集中不必要的列。
2. 处理缺失值数据集中存在一些缺失值,我们采用了简单的方式,将缺失值填充为该列的平均值。
第二步:数据可视化数据可视化是数据分析中非常重要的一步,可以让我们更直观地理解数据特征和规律。
在本次实训中,我们使用了Matplotlib库进行数据可视化。
1. 条形图我们使用条形图对每个学科的平均分进行了可视化。
从图中可以看出,数学成绩相对较低。
2. 饼图我们使用饼图对学生成绩进行了可视化,按照70分为分界线,将成绩分为“及格”和“未及格”两类。
从图中可以看出,成绩优秀的学生比较少。
第三步:数据分析在数据可视化的基础上,我们可以进一步进行数据分析,了解数据的特征和规律,为后续的决策提供依据。
1. 计算平均数、中位数和众数我们计算了每个学科的平均数、中位数和众数,从中可以看出每个科目的分布情况。
例如,英语的平均分相对较高,而数学的中位数和众数都比较低。
2. 计算相关系数我们计算了不同科目之间的相关系数,从中可以看出不同科目之间的关系。
例如,数学和物理之间的相关系数比较高,说明两门科目之间存在较强的相关性。
3. 进行回归分析我们使用线性回归模型进行了成绩预测,使用了80%的数据进行训练,20%的数据进行测试。
从结果中可以看出,使用线性回归模型可以对成绩进行比较准确的预测。
总结本次实训让我学习和掌握了常见的数据预处理和可视化技术,以及基本的数据分析方法。
《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,程序和生成元件同上所述。
《EDA技术》实验报告
本次实验报告是关于EDA技术的研究和应用。
EDA技术全称电子设计自动化技术,能
够实现电子设计的自动化和优化。
首先,我们讨论了EDA技术的应用范围。
EDA技术主要应用于现代集成电路的设计和
制造,目的是提高电路的性能,并减少设计和制造的成本和时间。
EDA技术可用于设计各
种电路,包括数字电路、模拟电路、混合信号电路和射频电路等。
其次,我们介绍了EDA技术的主要工具。
EDA技术工具包括原理图编辑器、电路模拟器、布局编辑器和综合工具等。
这些工具可以协同工作,在电路设计的不同阶段对电路进
行分析和优化。
接着,我们描述了EDA技术的设计流程。
EDA技术的设计流程分为四个主要阶段:设计,模拟,综合和布局。
在设计阶段,设计师使用原理图编辑器和其他工具来设计电路。
在模拟阶段,设计师将电路模型装入电路模拟器中,并进行仿真以验证电路的功能和性能。
在综合阶段,设计师使用综合工具将电路转换为特定的逻辑网表文件。
在布局阶段,设计
人员使用布局编辑器来设置电路的物理布局。
最后,我们讨论了EDA技术的优缺点。
EDA技术的主要优点是提高电路设计的效率和
准确性,并减少了设计和制造的成本和时间。
然而,EDA技术也存在一些缺点,例如,设
计人员需要具备高水平的技术和知识,否则可能出现算法错误或设计缺陷。
综上所述,EDA技术在现代电子设备设计和制造中起着非常重要的作用,技术的发展
将会极大程度上促进电子设备的设计和制造的进步和发展。
EDA实习报告资料⽬录引⾔(1)EDA简介(2)EDA的设计流程第⼀章实训⽬的第⼆章实训内容⼀、EDA 开发软件Max+plus II 或Quartus II 1.1基本原理1.2条件要求1.3主要内容1.4实践步骤与结果分析(⼀)设计原理图或VHDL源程序1) 原理图2)VHDL源程序(⼆)器件及管脚逻分配图1)调试编译与仿真波形2)时序分析图1.5项⽬⼀的结论⼆、4位全加器设计2.1基本原理2.2条件要求2.3主要内容2.4⽅案及实现⽅法2.5实践步骤与结果分析(⼀)设计1 位全加器1) 1 位全加器原理图2)1位全加器仿真波形(⼆)四位全加器设计1)四位全加器原理图2)器件及管脚逻分配图3)调试编译与仿真波形4)时序分析图(三)项⽬⼆的结论三、8 线-3 线优先编码器3.1基本原理1、管脚2、真值表3.2条件要求3.3主要内容3.4⽅案及实现⽅法3.5实践步骤与结果分析(⼀)原理图和VHDL程序1) 3-8译码器的原理图2)VHDL程序(⼆)器件及管脚逻分配图(三)调试编译与仿真波形1、调试编译2、仿真波形(四)时序分析图(五)项⽬三的结论四、10 进制计数器设计4.1基本原理1、管脚2、真值表4.2条件要求4.3主要内容4.4⽅案及实现⽅法4.5实践步骤与结果分析(⼀)原理图和VHDL程序1) 10 进制计数器2)VHDL程序(⼆)器件及管脚逻分配图(三)调试编译与仿真波形1、调试编译2、仿真波形(四)时序分析图(五)项⽬四的结论五、8 位循环移位寄存器5.1基本原理1、管脚2、真值表5.2条件要求5.3主要内容5.4⽅案及实现⽅法5.5实践步骤与结果分析(⼀)原理图和VHDL程序1) 8 位循环移位寄存器2)VHDL程序(⼆)器件及管脚逻分配图(三)调试编译与仿真波形1、调试编译2、仿真波形(四)时序分析图(五)项⽬三的结论第三章结论引⾔(1)EDA简介电⼦技术的迅猛发展,⾼新技术⽇新⽉异。
电子科技大学信息科技学院《EDA技术及应用》实训报告学号1252100301姓名指导教师:覃琴2014年4 月29 日实训题目:数字日历电路1 系统设计1.1 设计要求1.1.1 设计任务(1)用Verilog HDL语言设计出能够在EDA实训仪的I/O设备和PLD芯片实现的数字日历。
(2)数字日历能够显示年、月、日、时、分和秒。
(3)用EDA实训仪上的8只八段数码管分两屏分别显示年、月、日和时、分、秒,即在一定时间段显示年、月、日(如20140101),然后在另一时间段显示时、分、秒(如010101099),两个时间段能自动倒换。
(4)数字日历具有复位和校准年、月、日、时、分、秒的按钮,但校年和校时同用一个按钮,即在显示年、月、日时用此按钮校年,在显示时、分、秒时则用此按钮校时。
(5)体现创新部分1.1.2 性能指标要求1)数字电路能够在一定的时间显示切换的功能,并且能手动校准年月日和时分秒2)具有复位和进位的功能3)能起到提示的作用,如闹钟或亮彩灯等。
1.2 设计思路及设计框图1.2.1设计思路如图1.2.2所示1) EDA实训箱上的功能有限,可以用到的有8支数码管和12个lED灯。
年、月、日和时、分、秒可以通过数码管显示,年月日和时分秒的切换可以通过拨动开关控制,校正可以通过按键实现。
2)输入的秒脉冲由DEA实训仪上的20MHZ晶振经过分频得到,秒脉冲经过60分频后产生1分钟脉冲信号,在经过60分频后产生1小时的脉冲信号,最后进行24分频,得到1天的脉冲送24进制的 cout输出。
在将两个60分频和一个24分频的输出送到送到数码管的译码器输入端,得到24小时的计时显示结果。
由此得到数字日历的计时器模块。
1.2.2设计框图图1.2.2数字钟的原理框图2 各个模块程序的设计2.1图1 1HZ秒脉冲的分频模块元件符号2.1输入的秒脉冲由EDA实训仪上的20MHZ晶振经过分频得到,设计一个输出频率为1HZ 的秒脉冲。
图1是1HZ秒脉冲的分频模块元件符号图1 1HZ秒脉冲的分频模块元件符号2.2 图2是cnt24与cnt60模块设计的元件符号图2 t24与cnt60模块的元件符号2.3 图3是计时器设计原理图clk秒时钟输入端,clrn清除输入端,低电平有效;jm、jf 、js分别是校秒、校分和校时的输入端,下降沿有效;qm[7..0]、qf[7..0]和qs[7..0]分别是秒、分、和时的输出端;cout是“天”脉冲输出端。
2.4数字日历电路的设计数字电路原理图包括包括计时器模块(jsq)、年月日模块(nyr2014)、控制模块(cour)、校时选择模块(xs_6)、显示选择模块(mux_16)和流水灯(LED)提示模块。
图4是数字日历设计的原理图。
图4是数字日历设计的原理图2.5控制模块的设计图5是控制模块的元件符号图5 控制模块的元件符号clk是1s时钟输入端;k1和k2是控制输入端,k是控制输出端。
k1k2=00或11时是自动显示模块,控制数码器用8s钟时间显示年月日8s显示时分秒,k1k2=01时仅控制显示时分秒,同时用j1、j2、j3校秒、校分和校时,k1k2=10时,仅显示年、月、日,同时用j1、j2、j3校年、校月和校日。
2.6校时选择模块的设计校时选择模块的元件符号如图6所示。
k是控制输入端,k=0是,控制将校时按钮j1、j2和j3的信号分别分别送到计时器模块的jm、jf、js,k=1时校时按钮j1、j2、j3的信号分别送到年月日模块的jr、jy、jn。
图6校时选择模块的元件符号2.7显示选择模块图7是显示选择模块的元件符号。
k是控制输入端,K=0时,控制将计时器模块送来的qm[7..0]、qf[7..0]、和qs[7..0]状态信号送到数码管显示。
k=1时将年月日送来的qr[7..0]、qy[7..0]、qn[7..0]状态信号送到数码管显示。
图7 显示选择模块的元件符号2.8流水灯提示模块的设计图8是流水灯提示模块的元件符号。
clk是一秒钟输入端,K是控制输入端,qy[7..0](月)、qr[7..0](日)是状态信号送到数码管显示。
qo[11..0]是输出的流水灯图8 流水灯提示模块的元件符号3 调试过程当数字日历得所有模块编译成功后我首次下载到实训箱上时,它并不能实现进位的功能,经调整。
数字日历的各基本功能通实现后,在其基础上新增了彩灯控制模块。
经过逐条编写和更正。
程序最终通过编译并能顺利下载到实训箱上进行验证。
4 功能测试4.1 测试仪器与设备EDA实训箱4.2 性能指标测试当所设定的生日到时流水灯能顺利的实现该提示功能,不过自动显示模块还是没能很准确的进行累加,该功能的延时时间超出了设计的时间。
5 实训心得体会从陌生到熟悉,我基本上的摸清了QuartusII9.0的用法。
并逐渐掌握了verilog HDL语言的规则。
并能编写简单的程序。
经过查找资料和各个老师的耐心指导。
我完成了数字日历电路的设计。
不仅添加了创新部分,还在EDA实训仪上成功实现了它的彩灯旋转功能。
并用一个拨动开关来控制灯的亮灭。
记得刚开始拿到实训课题时,我那一脸的茫然,不知从哪儿入手。
来回跑了图书馆好几趟,最后跟着舍友起步。
从编写代码开始,经编译后逐个查找错误并纠正。
几番波折,最终完成了数字日历的设计和添加了创新功能。
通过此次EDA实训我熟练的掌握了QuartusII9.0软件,并能通过波形仿真更加透彻的掌握了程序与该设计。
从编程到生成元器件再到波形仿真和成功下载,给我的最大体会是一步一个脚印,付出总会有回报的。
6 参考文献【1】EDA技术与应用江国强【2】EDA技术与verilog设计王金明冷自强附录附录1:仿真波形图(部分模块)cnt24模块仿真波形图nyr模块仿真波形图附录2:程序清单2.1 分频器模块module s_1 ( clk,cout);input clk;reg [24:0] q;output reg cout;always (posedge clk)beginif (q==20000000-1) q=0; //1selse q=q+1;if(q<=10000000-1) cout=1; //0.5selse cout=0;endEndmodule2.2t24计数器源程序module t24(clk,clrn,j,q,cout); //clk秒时钟输入端,clrn清除输入端,cout“天”脉冲输出端input clk,clrn,j; //j校时输入端,output reg [7:0] q;output reg cout;always (posedge clk^j or negedge clrn) //j与时钟输入端clk异或就可以达到校时的作用beginif (~clrn) q=0; //低电平有效else beginif (q=='h23) q=0;else q=q+1;if (q[3:0]=='ha) beginq[3:0]=0; q[7:4]=q[7:4]+1; endif (q=='h23) cout=1;else cout=0;endendendmodule2.3t60计数器源程序module t60(clk,clrn,j,q,cout);input clk,clrn,j;output reg [7:0] q;output reg cout;always (posedge clk^j or negedge clrn) beginif (~clrn) q=0;else beginif (q=='h59) q=0;else q=q+1;if (q[3:0]=='ha) beginq[3:0]=0; q[7:4]=q[7:4]+1; endif (q=='h59) cout=1;else cout=0;endendendmodule2.4 年月日模块module nyr2014(clrn,clk,jn,jy,jr,qn,qy,qr); input clrn,clk,jn,jy,jr;output [15:0] qn;output [7:0]qy,qr;reg [15:0] qn;reg[7:0] qy,qr;reg clkn,clky;reg[7:0] date;reg clkn1, clkn2 , clkn3;initial begin clkn1=1; clkn2=2 ; clkn3=1;endinitial begin qn='h2000;qy=1;qr=1;endalways (posedge (clk^jr) or negedge clrn) beginif (~clrn) qr=1;else beginif (qr==date) qr=1;else qr=qr+1;if (qr[3:0]=='ha) beginqr[3:0]=0; qr[7:4]=qr[7:4]+1; endif (qr==date) clky=1;else clky=0;endendalways (posedge clky^jy or negedge clrn)beginif (~clrn) qy=1;else beginif (qy=='h12) qy=1;else qy=qy+1;if (qy[3:0]=='ha) beginqy[3:0]=0; qy[7:4]=qy[7:4]+1; endif (qy=='h12) clkn=1;else clkn=0;endendalwaysbegincase(qy)'h01: date='h31;'h02: beginif ((qn/4==0)&(qn/100!=0)|(qn/400==0)) date='h29; else date='h28;end'h03: date='h31;'h04: date='h30;'h05: date='h31;'h06: date='h30;'h07: date='h31;'h08: date='h31;'h09: date='h30;'h10: date='h31;'h11: date='h30;'h12: date='h31;default :date='h30;endcaseendalways (posedge (clkn^jn) or negedge clrn)beginif (~clrn) qn[3:0]=0;else begin if (qn[3:0]==9) qn[3:0]=0; else qn[3:0]= qn[3:0]+1;if (qn[3:0]==9) clkn1=0;else clkn1=1;endendalways (posedge clkn1 or negedge clrn)beginif (~clrn) qn[7:4]=0;else begin if (qn[7:4]==9) qn[7:4]=0; else qn[7:4]=qn[7:4]+1;if (qn[7:4]==9) clkn2=0;else clkn2=1;endendalways (posedge clkn2 or negedge clrn)beginif (~clrn) qn[11:8]=0;else begin if (qn[11:8]==9) qn[11:8]=0; else qn[11:8]= qn[11:8]+1;if (qn[7:4]==9) clkn3=0;else clkn3=1;endendalways (posedge clkn3 or negedge clrn)beginif (~clrn) qn[15:12]=2;else if (qn[15:12]==9) qn[15:12]=0;else qn[15:12]= qn[15:12]+1;endEndmodule2.5 校时选择模块module xs_6(k,jm,jf,js,jr,jy,jn,j1,j2,j3); //k是控制输入端input k,j1,j2,j3;output reg jm,jf,js,jr,jy,jn;alwaysBeginif (k==0) {jm,jf,js}={j1,j2,j3};//k=0是,控制将校时按钮j1、j2和j3的信号分别分别送到计时器模块的jm、jfelse {jr,jy,jn}={j1,j2,j3};//k=1时校时按钮j1、j2、j3的信号分别送到年月日模块的jr、jy、jnendEndmodule2.6显示选择模块的设计module mux_16(k,qm,qf,qs,qr,qy,qn,q);input k; //k是控制输入端,k=1时将年月日送来的qr、qy、qn状态信号送到数码管显示input[7:0] qm,qf,qs,qr,qy;input[15:0] qn;output reg [31:0] q;alwaysbeginif(k==0) beginq[31:24]=0;q[23:0]={qs,qf,qm};endelse q={qn,qy,qr};endendmodule2.7控制模块源程序module contr(clk,k1,k2,k); //clk是1s时钟输入端;k1和k2是控制输入端input clk,k1,k2;output reg k; //k是控制输出端reg[3:0] qc;reg rc;always (posedge clk)beginqc=qc+1;if (qc<8)rc=0;else rc=1;case({k1,k2})0:k=rc; //k1k2=00或11时是自动显示模块,控制数码器用8s钟时间显示年月日8s显示时分秒1:k=0; //k1k2=01时仅控制显示时分秒,同时用j1、j2、j3校秒、校分和校时2:k=1; //k1k2=10时,仅显示年、月、日,同时用j1、j2、j3校年、校月和校日3:k=rc; //11endcase endendmodule//在控制模块中使用了一个16分频电路,输出rc时16s的方波,即8s为高电平、8s为低电平用于万年历的自动倒换模式。