EDA论文用程序输入法设计16位二进制加法计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用程序输入法设计16位二进制加法计算器班级 xxxx 姓名 xxx 学号 xxxxx
内容提要:
计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。计数器也可以作为分频、定时、脉冲节拍产生器和脉冲序列产生器使用。计数器的种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。本次课程设计将利用众多集成电路软件软件中的Quartus II软件,使用VHDL语言编程完成论文《用程序输入方法设计一个16位二进制加法计数器》,调试结果表明,所设计的计数器正确实现了计数功能。
关键词:二进制;加法计数器;VHDL语言
1问题分析
计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。其工作原理可概述为:当输入时钟脉冲的一个上升沿(也可以是下降沿)来临时,二进制数据的低一位加1(或减1),并向高位进1(或借1)。在没
有外部约束条件时,计数器可进行与其二进制位数对应的数值的相应进制的自循环计数,如位数为3的计数器可进行8进制的自循环加法或减法计数。
可根据需要来设置计数器的位数,并通过外部约束条件来人为设定计数器的计数模数,来得到计数进制符合需要的N 进制计数器。所谓N 进制计数器,是指一个计数器的计数过程,在经历时钟脉冲信号的个为N 之后,二进制数据又回到初始状态的计数器。
表1.1计数器的状态表
图1.1计数器的状态图
2 设计原理
本论文所设计的16位二进制加法计数器,其中16位计数器输出Q[15..0]=0000000000000000,时钟CLK 的上升沿到来时,计数器处于预置工作状态,输出Q[15..0]= D[15..0],D[15..0]是16位并行数据输入端,COUT 是进位输入端,当UPDOWN=0(进行加法操作)且输出Q[15..0]=1111111111111111时,COUT=1表示进位输出。
3 程序
ENTITY CNT16 IS
PORT (CLK : IN BIT;
Q : BUFFER INTEGER RANGE 65535 DOWNTO 0 );
END;
ARCHITECTURE bhv OF CNT16 IS
BEGIN
PROCESS (CLK) BEGIN
IF CLK'EVENT AND CLK = '1' THEN
Q <= Q + 1; END IF;
END PROCESS;
END bhv;
4 编译与仿真
1.编辑文件
(1)启动Quartus,双击桌面上的QuartusⅡ图标或单击开始按扭,启动QuartusⅡ。(2)编辑文件,单击标题栏中的File→New对话框。单击New对话框的Device Design Files 选项卡,选择编译文件的语言类型。这里选择VHDL Files,选好后单击【OK】按钮,打开VHDL 文本编辑器窗口,并在其中输入图1所示的程序。
图1 文本编辑器
输入完成之后,单击File→Save As选项,将编辑的文本文件存在已建立的文件夹c:\Users下,存盘文件名应该与VHDL程序的实体名一致,即Vhdl1.vhd。当出现问句Do you want to create…时,可选“否”。
2.创建工程
(1)打开建立新工程向导,单击File→New Project Wizard菜单,出现新建工程向导对话框,单击【Next】按钮,出现如图2所示的工程基本设置对话框。
在最上面的输入框中输入工作库文件夹的地址,本例为C:\User/GongYu/Desktop/EDA/cnt16,或者单击该对话框最上一栏右侧的【…】按钮,出现选择文件夹的目录。
(2) 将设计文件加入工程中,单击图5中的【Next】按钮,在弹出的对话框中,将与本工程有关的文件加入,有两种方法:一种是单击右边的【Add All】按钮,将设定工程目录中的所有VHDL文件加入到工程文件栏;另一种是单击【Add …】按钮,从工程目录中选出相关的VHDL文件。
图2中间的输入框就是该工程的名称,一般可以用顶层文件的名称作为工程名称,本例的顶层文件名是cnt16。最下面的输入框要求输入顶层设计文件实体的名称,本例顶层文件的实体名称是cnt16。
图2 工程基本设置和情况
(3) 选择仿真器和综合器类型,单击图2中的【Next】按钮,这时弹出选择仿真器和综合器类型的窗口。如果选择默认的NONE,表示使用QuartusⅡ中自带的仿真器和综合器。
(4) 选择目标芯片,单击【Next】按钮,根据系统设计的实际需要选择目标芯片。首先在Family 栏选择芯片系列。在此栏下方,询问选择目标器件的方式,选No,表示允许编程器自动选择该系列中的一个器件;单击Yes选项,表示手动选择。本例采用手动选择,单击【Next】按钮,选择此系列的具体芯片:EP20K30ETC144-1。单击【Next】按钮后,弹出工程设置统计窗口。
(5) 结束设置,最后单击【Finish】按钮,结束设置。在QuartusⅡ主窗口的左侧。
3.目标芯片的配置
(1) 选择目标芯片,单击标题栏中的Assignments→Settings菜单,在弹出的对话框中选Category下的Device选项,然后在右侧选择目标芯片EP20K30ETC144-1(此芯片已在建立工程时选定了)。也可在Available devices栏分别单击Package(封装形式)、Pin count(管脚数量)和Speed(速度)来选定芯片。
(2) 选择目标器件编程配置方式,单击【D evice & Pin Options…】按钮进入器件与管脚操作对话框,首先选择Configuration项,在此框的下方有相应的说明,在此可选Configuration方式为Passive Serial,这种方式可以直接由PC机配置,也可由专用配置器件进行配置。使用的配置器件选Auto(系统自动配置),如图3所示。
图3 配置选项卡
(3) 选择输出配置,单击Programming Files选项卡,可以选Hexadecimal,即产生下载文件的同时,产生十六进制配置文件,Start(起始地址)设为0,Count(计数)设为Up(递增方式)。