南理工eda2实验报告
更新时间:2023-10-06 08:15:02 阅读量: 综合文库 文档下载
EDA设计(二) 课程设计报告
姓 名 学院(系) 专 业 标 题
彭浩洋 学 号 自动化学院 自动化 1110200129 基于VHDL语言的数字秒表的实现
南京理工大学
2014年 10 月
基于VHDL语言的数字秒表的实现
[摘要]:随着电子技术与计算机技术的发展,熟练掌握和运用EDA技术已成为电子类及相关专业本科人才不可或缺的一项技能。电子信息产品随着科学技术的进步,其电子器件和设计方法更新换代的速度日新月异。实现这种进步的原因就是电子设计技术和电子制造技术的发展,其核心就是EDA技术,本文主要介绍用VHDL语言实现数字秒表设计。
[关键字]:EDA技术;VHDL语言;数字秒表
1 设计方案
1. 1 ", 系统功能要求
(1) 具有时钟秒表系统功能要求显示功能, 用6个数码管分别显示时、分、秒; 计时范围为:00: 00: 00~ 23: 59:59。
(2) 计时精度是1s;
(3) 具有启/ 停开关, 复位开关, 可以在任何情况下使用。
1. 2 ", 总体框图
根据系统设计要求, 系统的底层设计主要由六十进制计数器模块、二十四进制计数器模块、分频模块、LED显示模块组成。系统顶层设计图如图所示:
图1
图一中左边为三个输入信号en,clk,reset,分为启/ 停开关,时钟信号和复位开关。中间是从上倒下时count24,count60,count60,fenpinqi;右边是clock1和输出信号wei[3..0], led[6.0]。
2 ??块功能设计
由六十进制计数器模块、二十四进制计数器模块、分频模块执行计时功能, 输入信号
2
是256 Hz,通过分频后为1hz,时钟信号是1 Hz 作为秒表的秒输入, 秒为60 进制计数器, 分也为60 进制计数器, 小时采用二十四进制计数器, 各级进位作为高位的使能控制。
2. 1 六十进制计数器模块
图2
该模块部分VHDL 源程序如下:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY count60 IS
PORT( en,Reset,clk: in STD_LOGIC;
qa: out STD_LOGIC_VECTOR(3 DOWNTO 0); qb: out STD_LOGIC_VECTOR(3 DOWNTO 0); rco: OUT STD_LOGIC); END count60;
ARCHITECTURE a OF count60 IS BEGIN process(clk)
variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0); variable tmb: STD_LOGIC_VECTOR(3 DOWNTO 0); begin
If Reset ='0'then tma:=\elsif clk'event and clk='1' then if en='1' then
rco<=tmb(2)and tmb(0)and tma(3)and tma(0); if tma=\ if tmb=\
3
else tmb:=tmb+1;
end if;
else tma:=tma+1; end if; end if; end if;
qa<=tma;qb<=tmb; end process; END a;
2. 2 二十四进制计数器模块
图3
该模块部分VHDL 源程序如下:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY count24 IS
PORT( en,Reset,clk: in STD_LOGIC;
qa: out STD_LOGIC_VECTOR(3 DOWNTO 0); qb: out STD_LOGIC_VECTOR(3 DOWNTO 0)); END count24;
ARCHITECTURE a1 OF count24 IS BEGIN process(clk)
variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0); variable tmb: STD_LOGIC_VECTOR(3 DOWNTO 0); begin
4
If Reset = '0'then tma:=\if clk'event and clk='1' then if en='1' then
if tma=\
elsif tmb=\ tma:=\ else tma:=tma+1; end if; end if; end if;end if;
qa<=tma;qb<=tmb; end process; END a1;
2. 3 分频器模块
图4
该模块部分VHDL 源程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fenpinqi IS
PORT (CLK,RST:in std_logic;
CLK_OUT:out std_logic); END fenpinqi;
ARCHITECTURE behav OF fenpinqi IS signal clk_data:std_logic; SIGNAL CNT6 : INTEGER := 0;
5
BEGIN
PROCESS(CLK) BEGIN
IF RST = '0' THEN CNT6<=0 ; ELSIF CLK'EVENT AND CLK='1' THEN
IF CNT6=2 THEN clk_data<=NOT clk_data;CNT6<=0; ELSE CNT6<=CNT6+1;
END IF; END IF; CLK_OUT<=clk_data; END PROCESS;
END behav;
2. 4 LED显示模块
图5
该模块部分VHDL 源程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY clock1 IS
PORT(CLK: IN STD_LOGIC;
S1, S2, S3, S4, S5, S6: IN STD_LOGIC_VECTOR(3 DOWNTO 0); WEI: OUT STD_LOGIC_VECTOR(2 DOWNTO 0); LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
6
END ENTITY;
ARCHITECTURE behave OF clock1 IS
SIGNAL CNT6 : INTEGER RANGE 0 TO 5 := 0; SIGNAL SHUJU: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PRO1:PROCESS(CLK) BEGIN
IF CLK'EVENT AND CLK = '1' THEN
CNT6 <= CNT6 + 1; CASE CNT6 IS
WHEN 0 => WEI <= \WHEN 1 => WEI <= \WHEN 2 => WEI <= \WHEN 3 => WEI <= \WHEN 4 => WEI <= \WHEN 5 => WEI <= \WHEN OTHERS => NULL;
END CASE;
END IF;
END PROCESS;
PRO2: PROCESS(SHUJU)
BEGIN
CASE SHUJU IS
WHEN \WHEN \WHEN \WHEN \WHEN \
7
WHEN \WHEN \WHEN \WHEN \WHEN \WHEN others=> LED<= \
END CASE;
END PROCESS;
END ;
3 仿真波形及分析
各部分模块完成后, 用Quartus 对程序编译、仿真、得到的仿真波形,各模块仿真波形
及顶层仿真波形如下:
3.1 六十进制计数器模块仿真
图5
图6
图5、图6均为二十四进制计数器仿真波形图。
CLK:时钟信号 RST:复位信号 低电平清零 En:置数端 低电平不让它继续计数
qb、qa:分别为输出数的十位个位,qb取值范围为0-5,qa取值范围为0-9
rco:进位信号,当qb=5,qa=0, rco=0时,clk上升沿来到后,qb=0, qa=0, rco=1; 当qb=5,qa=0, rco=1时,clk上升沿来到后,qb=0, qa=0, rco=0
8
3.2
二十四进制计数器模块仿真
图7
图8
图7,图8 均为二十四进制计数器仿真波形图。
CLK:时钟信号
RST:复位信号 低电平清零 En:置数端 低电平不让它继续计数
qb、qa:输出的四位二进制数,分别对于要输出数的十位个位
3.3 分频器模块仿真
因时钟脉冲(为256hz)通过分频器256分频后频率(为1hz),仿真波形显示前一小段,不能看出输出规律,所以做仿真是用3分频后的波形,真正在实验箱上验证是再改。
图9
CLK:输入分频前的时钟信号 RST:复位信号 低电平清零
Clkout:输出分频后的时钟信号
9
3.4 LED显示模块仿真
图10
Clk:时钟信号
s1,s2,s3,s4,s5,s6:输入的的四位二进制数 led:输出的七位二进制数,对应数码管脚的输出gfedcba wei:输出的三位而进制数(输出范围为000-101),控制led输出: 当wei=000时,led输出s1对应的十进制数的数码管脚gfedcba 当wei=001时,led输出s2对应的十进制数的数码管脚gfedcba 当wei=010时,led输出s3对应的十进制数的数码管脚gfedcba 当wei=011时,led输出s4对应的十进制数的数码管脚gfedcba 当wei=100时,led输出s5对应的十进制数的数码管脚gfedcba 当wei=101时,led输出s6对应的十进制数的数码管脚gfedcba
3.5 顶层仿真
因时钟脉冲(为256hz)通过分频器256分频后频率(为1hz),仿真波形显示前一小段,不能看出输出规律,所以做仿真是用3分频后的波形,真正在实验箱上验证是再改。
10
图11
CLK:时钟信号
RST:复位信号 低电平清零 En:置数端 低电平不让它继续计数
led:输出的七位二进制数,对应数码管脚的输出gfedcba wei:输出的三位而进制数(输出范围为000-101),控制led输出, 当wei=000时,led输出对于秒钟的个位 当wei=001时,led输出对于秒钟的十位 当wei=010时,led输出对于分钟的个位 当wei=011时,led输出对于分钟的十位 当wei=100时,led输出对于时钟的个位 当wei=101时,led输出对应时钟的十位
4 总结
VHDL硬件描述语言是我学过的较为复杂的一门语言,之前一直学习的是高级编程语言,如c++、c语言、VB等,这些语言都不愧于它们的高级一词,因为语言包装得很好,用起来确实简单易上手,而且里面的各种语法可以让我们轻松的解决各种难题(其中,最让我惊叹的便是递归语句的应用)。然而,上述的高级语言都只是在第二系统中起到作用,并不能直接对硬件进行操作,VHDL却是一种针对硬件的描述语言。
VHDL作为一种标准硬件描述语言,它除了含有许多具有硬件特征的语句外,其语言形式和描述风格与句法是十分类似于一般的计算机高级语言。但是由于其是针对硬件的描述语言,孤儿许多高级语法都不能使用,所以在学习的初始阶段,并不适应这种简朴而又复杂的语言,觉得它乱七八糟,看着语句毫无头绪。
然而,VHDL课有着与其他科目截然不同的地方,那就是它的互动性很强。在实验室我们还进行分组去完成项目,依然清晰记得那时候毫无头绪的痛苦,坚持不懈的劳累,以及最后收获成功时的喜悦。这些项目,不仅加深了我们对VHDL的理解和应用,同样的,我们的动手能力等社会技能也得到了锻炼。因为这些互动,我也渐渐喜欢上了VHDL语言的编程开发。
总的来说,VHDL这门课让我学到了只是,锻炼了技能,增强了信心,也充实了我的大学生活。
11
5 参考文献
[1] 《可编程器件EDA技术与实践》,李国洪、沈明山著,机械工业出版社 [2] 《EDA技术与数字系统设计》,尹常永著,西安电子科技大学出版社 [3] 《EDA工程实践技术》,付家才著,化学工业出版社
12
正在阅读:
南理工eda2实验报告10-06
根管治疗四手操作12-14
党内激励关怀帮扶制度12-23
涵洞检测方法及病害特征研究05-27
烟台 开发区 招商 项目信息05-05
2005年《理论力学》试题A10-06
汪洋煤矿 实习报告03-26
精品讲练析:《化学键》05-07
写我最敬佩的人-作文开头09-02
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 理工
- 实验
- 报告
- eda2
- 内镜诊疗科岗位竞聘演讲稿范文
- 关于农村集体经济组织成员资格问题
- ORACLE数据字典
- 城市道路与桥梁工程施工技术
- 江苏科技大学新校区详细规划方案征集文件 - 图文
- 2015-2020年中国棕榈壳活性炭行业监测及投资机遇研究报告 - 图文
- 海洋平台压力容器检验的常见问题及检验方法
- 国企“三供一业”分离移交对国企的相关意义-精选文档
- 说课比赛
- 隔震方面需要用到的文字资料
- Lecture 2
- XX年幼儿园保健医生年终总结
- 党支部工作手册
- 广东省高明实验中学高中语文粤教版选修传记选读学案:在哈金森工厂 精品
- 七年级下学期3月份阶段检测外研版新m1-m4
- 关于《魔兽世界》用户数据分析
- 防震减灾教学工作计划
- 2019年中小企业it现状及发展趋势分析 目录
- 我国近期通货膨胀的成因及对策探讨
- 江苏省七年级下几何提优练习精选题