数电仿真
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
用VHDL语言设计一个六十进制计数器
题目: 用VHDL语言设计一个六十进制计数器
学 院: 电子与信息
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
学院
专 业: 10级通信工程(2)班
学 号: xxx
姓 名: xx
指导老师:xxx
2012年6月5号
一、实验目的
1.通过六十进制计数器的设计与仿真,学习VHDL语言及VHDL文本输入设计方法。
2.编写六十进制计数器源程序,应用MAX+PlusII软件进行VHDL文本输入设计与波形仿真。
二、程序流程图
三、 程序代码及注释
library ieee; --打开ieee库 use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;
entity count60 is --定义实体 port(en,clear,clk:in std_logic;
qh:buffer std_logic_vector(3 downto 0);
ql:buffer std_logic_vector(3 downto 0);
Cout:out std_logic); --定义各个端口 end count60;
architecture behave of count60 is
begin
Cout<='1' when(qh="0101" and ql="1001" and en='1')else'0';
--计数到59时产生进位信号 process(clk,clear) --有clk及clear变化即触发进程
begin
if(clear='0')then --有清零信号即清零
qh<="0000";
ql<="0000";
elsif(clk'event and clk='1')then --有时钟信号时开始计数
if(en='1')then
if(ql=9)then
ql<="0000"; --ql到9时清零
if(qh=5)then
qh<="0000"; --qh到5时清零
else
qh<=qh+1; --未到5时累加1
end if;
else
ql<=ql+1; --未到9时累加1
end if;
end if;
end if;
end process;
end behave;
四、设计过程
步骤1:输入设计项目和存盘
打开 MAX+plusII, 选择菜单“File”_“New„”,出现如图1所示的对话框,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。在出现的“Untitled , Text Editor” 文本编辑窗(图2)中键入VHDL程序(六十进制计数器),输入完毕后,选择菜单“File_Save”,即出现如图2 所示的“Save As”对话框。
步骤2:将设计项目设置成工程文件(PROJECT)
选择菜单“File”_Project_“Set Project to Current File”,当前的设计工程即被指定为cnt60。也可以通过选“File”_“Project”_“Name”,在跳出的“Project Name”窗中指定E:\cnt60file下的cnt60.vhd为当前的工程。
步骤3:选择目标器件并编译
在设定工程文件后,应该选择用于编程的目标芯片:选择菜单“Assign”_“Device„”,在弹出的对话框中的“Device Family”下拉栏中,选择MAX7000,然后在“Devices”列表框中选择芯片型号“AUTO”,按OK。
步骤4:编译源程序
选择“MAX+plusII”下的compiler进行编译。直至显示如下:
步骤5 建立波形文件
步骤6 输入信号节点
步骤7 设置波形参量
五、仿真
在设置好信号之后即可运行仿真,仿真器输出波形图如图4所示,我们可以看到60进制计数在累加达到59之后个位及十位均清零了,同时cout产生了一个进位信号,满足设计要求。
波形图:
将某时间段clear信号置低电平,再次运行仿真程序,可以看到计数器在累
加到18时在清零信号的作用下而个位十位均清零了。
六、心得体会
这次实验仿真了六十进制计数器运用到了MAX+PLUSII软件。通过学习设计,初步掌握了MAX+PLUSII软件的使用并且深入地体会到VHDL语言的广泛应用。这次课程设计,虽然时间紧张,但是感觉收获颇多,一方面培养了我用自己的专业知识解决问题的能力,进一步理解了理论必须运用于实际的重要性,加深了我对这门课程及专业知识的理解,对以后的工作学习生活都有很大的意义;另一方面我也发现自己很多的不足,对以前所学过的知识理解得不够深刻,掌握得不够牢固,这都是自己以后需要深入学校和克服的问题。在今后的学习中,我会发挥积极主动的精神,把所学知识与实践结合起来,努力掌握Quartus II设计软件和VHDL设计语言的使用方法。