中国地质大学EDA实验报告

时间:2024.4.14

                   

 EDA实验报告

           

             姓  名:  肖敬轩  

             学  号:20101000639

             班  级: 075102   

             老  师:  王巍     

             院  系:机电学院  

                 

                 实验一、3/8 译码器的实现

一. 实验目的:

1. 学习QuartusⅡ 的基本操作

2. 熟悉教学实验箱的使用

3. 设计一个3/8 译码器

4. 初步掌握VHDL语言和原理图的设计输入,编译,仿真和调试过程

二.实验说明:

1、本实验要求使用VHDL语言描述3/8译码器,并在实验平台上面实现这个译码器。描述的时候要注意VHDL语言的结构和语法,并熟悉QuartusⅡ的文本编辑器的使用方法。尝试使用不同的VHDL语言描述语句实现3/8译码器,并查看其RTL结构区别,理解不同描述方法对综合结果的影响。将程序下载到实验箱上,分别用按键和LED作为输入和输出对结果进行验证,进一步熟悉所用EDA实验箱系统。

2、所用器件:

EDA实验箱、EP1K10TC100-3器件

三.实验步骤:

按照教学课件《QUARTUS II 使用方法》,学习QuartusⅡ 软件的使用方法:

1、在WINDOWS 界面双击QuartusⅡ 图标进入QuartusⅡ环境;

2、单击File 菜单下的New Project Wizard: Introduction 按照向导里面的介绍新建一个工程并把它保存到自己的路径下面。(注意路径当中不要有中文和空格)

3、单击File 菜单下的New,选择VHDL File(原理图方式时选择Block Diagram/Schematic File),后单击OK,就能创建一个后缀名为.vhd (*.bdf)的文本(原理图)文件。此vhd文件名必须与设计实体名相同。另外,如果已经有设计文件存在,可以按File 菜单里面的Open 来选择你的文件。

4、输入完成后检查并保存,编译。

5、改错并重新编译;

6、建立仿真波形文件并进行仿真。单击File 菜单下的New,选择Vector Waveform File,单击OK,创建一个后缀名为*.vwf的仿真波形文件,按照课件上的方法编辑输入波形,保存,进行仿真,验证仿真结果是否正确;

7、选择器件及分配引脚,重新编译;

8、根据引脚分配在试验箱上进行连线,使用LED进行显示;

9、程序下载,观察实验结果并记录;

Diagram/Schematic File),后单击OK,就能创建一个后缀名为.vhd (*.bdf)的文本(原理图)文件。此vhd文件名必须与设计实体名相同。另外,如果已经有设计文件存在,可以按File 菜单里面的Open 来选择你的文件。

四.实验要求:

1、用VHDL语言编写3/8译码器(if语句,case语句,布尔方程,以及并行语句中的when??else语句,with??select??when);

2、编写3/8译码器模块的源程序,完成半加器的原理图;

3、在QuartusII 平台上仿真;

4、在实验板上面实现这个3/8译码器。

实验二、BCD七段显示译码器实验

一.实验内容:

1、写出七段译码器的工作原理;

2、用VHDL语言进行硬件描述的过程;

3、写出实验步骤;

4、画出实验原理图(或逻辑构造图),写出实验源程序;

二.实验目的:

1、了解和熟悉组合逻辑电路的设计方法和特点;

2、掌握LED显示器的工作原理;

3、设计一个BCD七段显示的译码器,并在实验箱上面实现你的译码器。

三.实验说明:

LED数码显示器是数字系统实验里面经常使用的一种显示器件,因为它经常显

示的是十进制或十六进制的数,所以我们就要对实验里面所用到的二进制数进行译 码,将它们转换成十进制的或是十六进制的数。LED数码显示器分为共阴和共阳两 种,本实验使用的是共阴的连接,高电平有效。输入信号为D0,D1,D2,D3,相应的输出8段为a、b、c、d、e、f、g、Dp。

四.实验要求:

1、 用VHDL语言进行描写;代码必须有注释 !

2、 进行波形仿真测试;

3、 严格按照实验流程进行;

4、 管脚映射按芯片要求进行,在数码管上显示译码后的数字;

5、 查看资料,描述七段译码器的工作原理;

                  实验三、数字钟设计

 

一.实验目的

1)熟练地运用数字系统的设计方法进行数字系统设计;

2)能进行较复杂的数字系统设计;

3)按要求设计一个数字钟。

 

二.功能设计

1)有时、分、秒计数显示功能,以24小时循环计时;

2)设置复位、清零等功能;

3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;

4)时钟计数显示时有LED灯显示;

5)具有整点报时功能。

 

三.性能指标

1)时、分、秒计时器:时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、...、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、...、23、00。即当数字钟运行到23点59分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分00秒。

2)校时电路:当开关拨至校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调至需要的时与分时,拨动reset开关,电子钟从设置的时间开始往后计时。

总体方框图

四.详细设计

1.数字钟的基本工作原理:

由晶振产生的频率非常稳定的脉冲,经整形、稳定电路后,产生一个频率为1Hz的、非常稳定的计数时钟脉冲。

2.调时、调分信号的产生

由计数器的计数过程可知,正常计数时,当秒计数器(60进制)计数到59 时,再来一个脉冲,则秒计数器清零,重新开始新一轮的计数,而进位则作为分计数器的计数脉冲,使分计数器计数加1。现在我们把电路稍做变动:把秒计数器的进位脉冲和一个频率为2Hz的脉冲信号同时接到一个2选1数据选择器的两个数据输入端,而位选信号则接一个脉冲按键开关,当按键开关不按下去时(即为0),则数据选择器将秒计数器的进位脉冲送到分计数器,此时,数字钟正常工作;当按键开关按下去时(即为1),则数据选择器将另外一个2Hz 的信号作为分计数器的计数脉冲,使其计数频率加快,当达到正确时间时,松开按键开关,从而达到调时的目的。调节小时的时间也一样的实现。

3.计数显示电路

由计数部分、数据选择器、译码器组成,是时钟的关键部分。

1、计数部分:由两个60进制计数器和一个24 进制计数器组成,其中60 进制计数器可用6 进制计数器和10 进制计数器构成;24 进制的小时计数同样可用6 进制计数器和10 进制计数器得到:当计数器计数到24 时,“2”和“4”同时进行清零,则可实现24 进制计数。

2、数据选择器:84 输入14 输出的多路数据选择器,因为本实验用到了8个数码管(有两个用来产生隔离符号‘—’)。

3、译码器:七段译码器。译码器必须能译出‘—’,由实验二中译码器真值表可得:字母F 的8421BCD 码为“1111”,译码后为“1000111”,现在如果只译出‘—’,即字母F的中间一横,则译码后应为“0000001”,这样,在数码管上显示的就为‘—’。

4.设计思路

根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。这些模块都放在一个顶层文件中。

1)时钟计数:首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。sethour可以调整时钟的小时部分, setmin可以调整分钟,步进为1。由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT( 6 DOWNTO 0 )上的信号来点亮指定的LED七段显示数码管。

2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。

3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。

4)蜂鸣器在整点时有报时信号产生,蜂鸣器报警。产生“滴答.滴答”的报警声音。

5)LED灯在时钟显示时有花样显示信号产生。即根据进位情况,LED不停的闪烁,从而产生“花样”信号。

 

 

5.工程项目的编译

单击工具条上的编译符号开始编译,并随着进度不断变化,编译完成后的屏幕如图所示:

QQ截图未命名

6.目标芯片的选择Assignments 选项的下拉菜单中选择器件 Device,如图:2

7.时序仿真

建立波形文件:选择 File→New,在New窗中选中“Other File”标签。在出现的屏幕中选择“Vector Waveform File”项出现一新的屏幕。在出现的新屏幕中,双击“Name”下方的空白处,弹出“Insert Nod or Bus”对话框,单击该对话框的“Node Finder……”。在屏幕中的 Filter 中选择 Pins,单击“List”。而后,单击“>>”,所有输入/输出都被拷贝到右边的一侧,这些正是我们希望的各个引脚,也可以只选其中的的一部分,根据实际情况决定。然后单击屏幕右上脚的 “OK”。在出现的小屏幕上单击“OK”。

设定仿真时间宽度。选择 Edit → End time…选项,在End time选择窗中选择适当的仿真时间域,以便有足够长的观察时间。

波形文件存盘。选择File→Save as 选项,直接存盘即可。

运行仿真器。在菜单中选择项,直到出现,仿真结束。

QQ截图未命名

n

8.引脚锁定

将设计编程下载进选定的目标器件中,如EPF10K10,作进一步的硬件测试,将设计的所有输入输出引脚分别与目标器件的EPF10K10的部分引脚相接,操作如下:

    1.选择 Assignments → Assignments Editor ,即进入 Assignments Editor编辑器。在Category 栏选择 Pin,或直接单击右上侧的 Pin 按钮。

2.双击 TO 栏的《new》,在出现的的下拉栏中选择对应的端口信号名(如 D[0]);然后双击对应的栏的《new》,在出现的下拉栏中选择对应的端口信号名的期间引脚号。

9.硬件测试

ds

10.实验结果

实验箱使用模式7,键8为复位按键,键8为1时正常工作。键4设置小时,键7设置分钟。

下载成功后,按下键8,及使六个LED复位清零,显示数秒的自动计时,可以通过4键设置小时数,7键设置分钟数。当秒数满60则进一位,分钟数满60进一位,当显示为23:59:59时,秒数在加一则显示00:00:00,之后从新计时。

五.设计总结

通过这次课程设计,我进一步加深了对EDA的了解,并进一步熟练的掌握了对QuartusII软件的操作。在自己设计的东西的时候,可以通过上网查阅自己的想要了解的东西,解决自己所不懂的东西,扩大了知识面。在编写程序的过程中,遇到了很多问题,通过对程序的不断调试与改进终于达到了设计所要求的功能。

课程设计的整个过程也是个学习的过程,首先要明白实验内容做什么、然后才知道怎么做。在把握原理的前提下进行实验设计。EDA设计实验自上而下的设计理念,大到小逐个设计实验模块,为我们以后的实验设计也是很有帮助的。总之通过这次的设计,进一步了解了EDA技术,收获很大,对软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。

在此,也感谢王老师的悉心指导,陪我们一起度过了每一个实验,为我们指点迷津,使我学到了更多课本上没有的知识。


第二篇:EDA实验报告之数字钟 中国地质大学


EDA实验报告——简单数字钟的设计

一、实验目的

1、了解数字钟的工作原理。

2、进一步学习Quartus II中基于VHDL设计的流程。

3、掌握VHDL编写中的一些小技巧。

4、掌握简单时序逻辑电路的设计方法与功能仿真技巧。

二、实验原理及内容

实验原理

简单数字钟应该具有显示时-分-秒的功能。首先要知道钟表的工作机理,整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转

三.实验内容

1、用原理图的方式编写一个12/24进制的计数器,并创建为SYMBOL文件。

2、用VHDL的方式编写一个60进制的计数器,并创建为SYMBOL文件。

3、创建顶层文件。调用已编写的SYMBOL文件,设计简单的数字钟电路。

2、对所编写的电路进行编译及正确的仿真。

二十四进制VHDL

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT24 IS  PORT(

CP, EN, Rd, LD  :IN STD_LOGIC;   

D    :IN STD_LOGIC_VECTOR(5 DOWNTO 0);         

Co    :OUT STD_LOGIC;

Q     :OUT STD_LOGIC_VECTOR(5 DOWNTO 0)  );

END CNT24;

ARCHITECTURE STR OF CNT24 IS

       SIGNAL QN  : STD_LOGIC_VECTOR(5 DOWNTO 0 ) ;      

BEGIN

       Co<= '1'WHEN (QN = "010111"AND EN='1') 

ELSE '0';

PROCESS  (CP, RD)         

       BEGIN

       IF (Rd ='0') THEN

             QN<= "000000";

       ELSIF (CP'EVENT AND CP='1') THEN

       IF (LD='0') THEN

       QN <= D;      

       ELSIF (EN='1') THEN

       QN <= QN+1;

       END IF;

       END IF;

       END PROCESS;

Q <= QN;

END STR ;

六十进制VHDL

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY jsq60 IS

PORT(en,rd,cp :IN STD_LOGIC;

           qh:buffer STD_LOGIC_VECTOR(3 DOWNTO 0);

           ql :buffer STD_LOGIC_VECTOR(3 DOWNTO 0);

           Co :OUT STD_LOGIC);

END jsq60;

ARCHITECTURE b OF jsq60 IS

BEGIN

Co<='1'when(qh="0101"and ql="1001" and en='1')else'0';

PROCESS (cp,rd)

   BEGIN

IF (rd='0') THEN

qh<="0000";ql<="0000";

ELSIF (cp'EVENT AND cp='1') THEN

       IF (en='1') THEN

         IF (ql=9) THEN

           ql<="0000";

         IF (qh=5) THEN

           qh<="0000";

           ELSE qh<=qh+1;

         end if;

         else

           ql<=ql+1;

         end if;

        end if;

     END IF;

END PROCESS;

END b;

原理图

四、运行结果

24进制

60进制

时钟仿真结果

五、实验总结

此设计问题可分为主控电路,计数器模块和扫描显示三大部分,计数器在之前的学习中已经非常熟悉,只要掌握60,12进制的技术规律,用同步或异步计数器都可以实现。二扫描电路我们学过两种驱动方式:BCD码驱动方式和直接驱动方式。

更多相关推荐:
地质学实验报告

地质学实验资源学院土地资源管理组长组员20xx年11月30日一实验目的1通过野外实验利用所学习知识分析实验地岩石产状2通过观察典型矿物的形态光学和力学等物理性质辨别岩石类型3通过对典型岩石的分析说明当地地质和地...

地质学实习报告

地学基础实习报告学院资源环境学院班级地理信息系统姓名学号指导教师郑子成老师一实习概括1实习目的地质学基础野外实习是地质学基础课程的根本教学环节在实习之前老师们就给我们讲解了此次实习的一些目的这次实习我们重在多看...

地质学实习报告 一

地质学实习报告一实习时间和地点20xx年12月7日南宁市横县六景20xx年12月8日南宁市武鸣县伊岭岩途中人工剖面20xx年12月9日南宁市邕宁县昆仑关宾阳县清平水库二实习班级08地理科学1班和2班三指导老师朱...

地质学实习报告

贵州大学课程实习报告第1页20xx年第1页课程实习报告实习题目普通地质学野外实习学院资源与环境工程学院专业地理信息系统班级地信111学号1108100037学生姓名贾国龙指导教师刘沛3月13日贵州大学课程实习报...

地质学实习报告

地质学实习报告学院资源环境学院班级土管101班姓名侯晓飞学号20xx4814任课教师郑子成前言由于资源环境学院刚刚搬迁至成都温江校区不久同学们对温江周围附近的地形地貌很是陌生然而身为土地规划者的接班人我们土管专...

地质学实习报告

一实习目的与要求本次实习是以获得地质现象的感性认识培养学生野外综合观察能力地质思维能力野外地质工作基本能力启发创新意识为目标的地质启蒙教学实践本次实习选择野外地学资源丰富地质现象典型的大青山作为野外教学基地涉及...

地质学实习报告

地学基础野外实习报告xxxxxxx班xxxxxxxx一实习概况实习时间xxxx年xx月xx日实习地点金马河河边阶地都江堰紫坪埔都江村都江堰市城边映秀指导教师xxx二实习内容一金马河路线1地点寿安镇金马河河漫滩2...

构造地质学实践报告

构造地质教学实习实习报告班级学号姓名导师日期一绪言1实习概况构造地质教学实习是一次旨在旨在培养我们观察认识地质现象掌握野外地质工作基本方法训练实际工作能力的现场教学活动是一个理论与实践相结合技能训练和综合素质培...

普通地质学实习报告

绪言第一章第二章第三章第四章目录目录第五章2绪言第六章4第一章地层第七章5第二章岩石结束语5第三章地质构造参考文献8第四章外动力地质作用附图11第五章工程地质问题121313第六章工程活动与地质环境第七章结束语...

地质学与地貌学野外实习报告

地质学与地貌学野外实习报告一实习的目的及意义地质地貌的野外实习是为了巩固课堂上学到的理论知识将理论与实际联系起来并对实际情况形成直观认识了解实习地区的的地质地貌的基本特征及其对环境的主要影响和与人类活动的关系同...

工程地质试验报告

工程地质试验报告姓名朱家昆学号班级土木U20xx153061103一静力触探试验一实验目的1了解静力触探试验的设备及试验步骤2初步掌握试验资料的整理及成果的应用二试验仪器a触探机b探头c探杆d地锚e静探微机三试...

普通地质学实习报告

普通地质学实习报告学生姓名樊元友院系资源与环境工程学院专业班级矿山地质111班日期20xx年4月20叙言本次实习的目的本次实习的目的是了解地质现象深入观察地质现象用我们在学校学到的知识以及野外见到的地质现象相接...

地质学实验报告(37篇)