数电实验设计报告 题目: 用VHDL 语言设计一个六十进制计数器 学 院: 电子与信息工程学院 专 业: 10 级通信工程(2)班 学 号: x x x 姓 名: xx 指导老师:xxx 2012 年 6 月 5 号 一、实验目的 1.通过六十进制计数器的设计与仿真,学习 VHDL 语言及 VHDL 文本输入设计方法。 2.编写六十进制计数器源程序,应用 MAX+Plu sII 软件进行 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:选择目标器件并编译 在设定工程文件后,应该选择用于编程的目标芯片:选择菜单“...