EDA 60进制计数器设计

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

《EDA技术》课程实验报告
学生姓名:**
所在班级:***
指导教师:**
记分及评价:
报告满分3分
得分
一、实验名称
实验6:60进制计数器设计
二、任务及要求
【基本部分】
1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。

2、设计完成后生成一个元件,以供更高层次的设计调用。

3、实验箱上进行验证。

【发挥部分】
在60进制基础上设计6进制计数器,完成时序仿真。

三、实验程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt60 is
port(clk,rst:in std_logic;
seg:out std_logic_vector(7 downto 0);
dig:out std_logic_vector(1 downto 0));
end;
architecture one of cnt60 is
signal t:std_logic_vector(23 downto 0);
signal clk_cnt,clk_scan:std_logic;
signal q:integer range 0 to 59;
signal d:integer range 0 to 9;
begin
process(clk)
begin
if clk'event and clk='1'then
t<=t+1;
end if;
end process;
clk_cnt<=t(23);
clk_scan<=t(16);
process(rst,clk_cnt)
begin
if rst='0'then
q<=0;
elsif clk_cnt'event and clk_cnt='1'then if q=59 then
q<=0;
else
q<=q+1;
end if;
end if;
end process;
process(clk_scan)
begin
case clk_scan is
when'0'=> dig<="10";d<=q mod 10;
when'1'=> dig<="01";d<=q/10;
when others=>dig<="11";
end case;
end process;
with d select
seg <= X"C0" when 0,
X"F9" when 1,
X"A4" when 2,
X"B0" when 3,
X"99" when 4,
X"92" when 5,
X"82" when 6,
X"F8" when 7,
X"80" when 8,
X"90" when 9,
X"FF" when others;
end;
四、硬件验证
1、引脚锁定情况表:
五、小结
这次实验是运用QuartusII软件对六十进制计数器进行仿真。

通过这段时间对EDA的学习,我们进一步掌握了QuartusII软件的使用并且深入地体会到VHDL语言的广泛应用。

每次实验都让我感觉有收获,这一次也不例外。

EDA这门课程让我收获良多,一方面培养了我们用专业知识解决问题的能力,从而进一步理解理论运用于实际的重要性,加深了我们对这门课程及专业知识的理解,对以后的工作学习生活都有很大的帮助;另一方面我也发现自己的不足之处。

其中就有对以前所学过的知识理解得不够深刻,掌握得不够牢固等问题,这些都是自己以后需要深入学习和克服。

在今后的学习中,我会把所学知识与实践结合起来,努力掌握Quartus II设计软件和VHDL设计语言的使用方法。

相关文档
最新文档