quartus ii 存储器与加8位加法器开发.docx

上传人:b****6 文档编号:7092850 上传时间:2023-01-17 格式:DOCX 页数:11 大小:196.77KB
下载 相关 举报
quartus ii 存储器与加8位加法器开发.docx_第1页
第1页 / 共11页
quartus ii 存储器与加8位加法器开发.docx_第2页
第2页 / 共11页
quartus ii 存储器与加8位加法器开发.docx_第3页
第3页 / 共11页
quartus ii 存储器与加8位加法器开发.docx_第4页
第4页 / 共11页
quartus ii 存储器与加8位加法器开发.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

quartus ii 存储器与加8位加法器开发.docx

《quartus ii 存储器与加8位加法器开发.docx》由会员分享,可在线阅读,更多相关《quartus ii 存储器与加8位加法器开发.docx(11页珍藏版)》请在冰豆网上搜索。

quartus ii 存储器与加8位加法器开发.docx

quartusii存储器与加8位加法器开发

哈尔滨师范大学

 

计算机组成原理课程设计报告

 

 

设计题目加法器设计与存储器设计

设计地点A区三号实验楼505室

起止时间2011年2月28日至2011年3月30日

指导教师李丽萍

所在系(部)计算机科学与技术系

班级计算机08专升本班

学生姓名及学号2010097361杨善明

 

2011年3月30日

EDA技术及发展前景

EDA技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次上分,70年代为物理级设计(CAD),80年代为电路级设计(CAE),90年代进入到系统级设计(EDA)。

物理级设计主要指IC版图设计,一般由半导体厂家完成,对电子工程师没有太大的意义,因此本文重点介绍电路级设计和系统级设计。

电子EDA技术发展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。

从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩具电路等,EDA技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在后期的制作、电子设备的研制与生产、电路板的焊接、器件的制作过程等有重要作用。

可以说电子EDA技术已经成为电子工业领域不可缺少的技术支持。

EDA技术在进入21世纪后,由于更大规模的FPGA器件的不断推出,在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断更新、增加,使电子EDA技术得到了更大的发展。

电子技术全方位纳入EDA领域,EDA使得电子领域各学科的界限更加模糊,更加互为包容,突出表现在以下几个方面:

使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;SoC高效低成本设计技术的成熟。

随着半导体技术、集成技术和计算机技术的迅猛发展,电子系统的设计方法和设计手段都发生了很大的变化。

可以说电子EDA技术是电子设计领域的一场革命。

传统的“固定功能集成块十连线”的设计方法正逐步地退出历史舞台,而基于芯片的设计方法正成为现代电子系统设计的主流。

随着科技的进步,电子产品的更新日新月异,EDA技术作为电子产品开发研制的源动力,已成为现代电子设计的核心。

所以发展EDA技术将是电子设计领域和电子产业界的一场重大的技术革命,同时也对电类课程的教学和科研提出了更深更高的要求。

QuartusⅡ简介

QuartusⅡ是Altera公司提供的FPGA/CPLD集成开发软件,Altera是世界上最大的可编程逻辑器件供应商之一。

QuartusⅡ在21世初推出,是Altera全一代FPGA/CPLD集成开发软件MAX+plusII的更新换代产品,其界面友好,使用便捷。

在QuartusⅡ上可以完成设计输入、HDL综合、布新布局(适配)、仿真和选择以及硬件测试等流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、开始处理和器件编程。

QuartusⅡ提供了完整的多平台设计环境,能满足各种特定设计的需求,也是单片机可编程系统(SoPC)设计的综合环境和SoPC开发的基本设计工具,并为AlteraDSP开发包进行系统模型设计提供了集成综合环境。

QuartusⅡ设计完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。

QuartusⅡ与可用利用第三方的综合工具(如LeonardoSpectrum、SynplifyPro、FPGAComplierII),并能直接调用这些工具。

同样QuartusⅡ具备仿真功能,同时支持第三方的仿真工具(如ModelSin)。

此外,QuartusⅡ与MATLAB和DSPBuilder结合,可用进行基于FPAG的DSP系统开发,是DSP硬件系统实现的工具EDA工具。

QuartusII包括模块化的编译器。

编译器包含的功能模块有分析/综合器(Analysis&Synthesis)适配器(Fitter)装配器(Assembler)时序分析器(TimingAnalyzer)设计辅助(DesignAssistant)模块EDA网表生成器(EDANetlistWriter)和编译器数据库接口(ComplierDatabaseInterface)等。

可用通过选择StartComplicetion了运行所有的编译器模块,也可以提供选择Start独立运行各个模块。

还可以通过选择ComplierTool(Tools菜单),在ComplierTool窗口中运行该模块来启动编辑器模块。

在ComplierTool窗口中,可以打开该模块的设置文件或报告文件,或打开其它相关窗口。

具体任务

1.加法器简介说明

加法器是数字系统中的基本逻辑器件。

宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。

多位加法器的构成有两种方式:

并行进位和串行进位方式。

并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。

通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。

2.存储器

程序存储器是用来存放用户程序的,通常采用只读存储器ROM来存储程序。

数据存储器存放去处数据及中间结果,一般采用承受机存储器RAM来实现其功能。

这里主要利用LPM模块构建程序存储器和数据存储器的方法。

CPU中的一些重要部件,如RAM、ROM等,可直接调用LPM模块构成。

因些在FPGA中利用嵌入式阵列块可以构成各种结构的存储哭喊。

以下将通过一个正弦信号发生器的设计流程,详细介绍利用MegaWizardPlug-InManager进行LPM模块调用和测试的一般方法。

实验一用原理图输入法设计八位全加器

一、实验目的

熟悉利用QuartusII的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二、实验原理

一个8位全加器可以由8个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。

而1位全加器可以按照5.4节介绍的方法来完成。

三、实验内容

1、完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。

键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。

半加器原理图如下所示:

半加器仿真波形图如下图所示:

一位全加器原理图如下所示:

一位全加器仿真波形如下图所示:

2、建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真、和硬件测试。

建议选择电路模式1(附图F-2):

键2、键1输入8位加数:

键4、键3输入8位被加数:

数码6和数码5显示加和:

D8显示进位cout。

八位全加器原理图如下所示:

八位全加器波形图如下所示:

实验二关于LPM_ROM元件的存储器定制

一、建立.hex格式文件

建立.hex格式文件有两种方法,第一种方法与以上介绍的方法相同,只是在New窗口中选择Otherfiles项后,选择Hexadecimal(Intel-Format)File项,最后存盘.hex格式文件。

第二种方法是用普通8051单片机编译器来产生。

方法是利用汇编程序编辑器将此64个数据编辑于如图3所示的编辑窗口中,然后用单片机ASM编译器产生.hex格式文件。

在此不妨取名为sdata.asm,编译后得到sdata.hex文件。

以下的示例拟使用sdata.hex文件。

图2将波形数据填入MIF文件表中图3ASM格式建HEX文件

二、定制LPM_ROM元件

在设计正弦信号发生器前,必须首先完成存放波形数据ROM的设计。

利用MegaWizardPlug-InManager定制正弦信号数据ROM宏功能块,并将以上的波形数据加载于此ROM中。

设计步骤如下:

1、打开MegaWizardPlug-InManager初始对话框。

在Tools菜单中选择MegaWizardPlug-InManager,产生如图5所示的界面,选择Createanewcustom…项(如果要修改一个已编辑好的LPM模块,则选择Editanexistingcustom…项),即定制一个新的模块。

单击Next按钮后,产生如图6所示的对话框,在左栏选择Storage项下的LPM_ROM,再选择CycloneII器件和VHDL语言方式;最后输入ROM文件存放的路径和文件名:

d:

\sin_gnt\data_rom.vhd(定制的ROM元件文件名),单击Next按钮。

图5定制新的宏功能块

图6LPM宏功能块设定

2、选择ROM控制线、地址线和数据线。

在如图7和图8所示的对话框中选择地址线位宽和ROM中数据数分别为6和64;选择地址锁存控制信号inclock。

3、单击Next按钮后出现图9的界面。

在“WhatshouldtheRAM...”栏选择默认的Auto。

在适配中,QuartusII将根据选中的目标器件系列,自动确定嵌入RAM模块的类型(如ACEX1K系列为EAB;APEX20K系列为ESB;Cyclone系列为M4K等)。

图7选择data_rom模块数据线和地址线宽度

图8选择地址锁存信号inclock

在图9的“Doyouwantto...”栏选择“Yes,usethisfileforthememorycontentdata”项,并按Browse钮,选择指定路径上的文件SDATA.hex。

在“AllowIn-SystemMemory...”栏选择打勾,并在“TheInstanceIDofthisROM”栏输入ROM1,作为此ROM的ID名称。

通过这个设置,可以允许QuartusII能通过JTAG口对下载于FPGA中的此ROM进行“在系统”测试和读写(如果需要读写多个嵌入的LPM_ROM或LPM_RAM,ID号ROM1就作为此ROM的识别名称),这种读写不影响FPGA中电子系统的正常工作。

最后单击图9的Next按钮,再单击Finish按钮后完成ROM定制。

图9调入ROM初始化数据文件并选择在系统读写功能

4、打开此文件可以看到其中调用初始化数据文件的语句为init_file=>"D:

/SIN_GNT/dataHEX/SDATA.HEX",此表达方式有两个问题:

第一是文件路径的明确指定使得本工程难以移动到其他路径上去;第二是后缀HEX是大写,必须改成小写才能得到正确编译结果。

可改为init_file=>"./dataHEX/SDATA.hex",最后生成的ROM元件文件如例7-3所示,其中的init_file指向已做了修改。

修改后用于例化的波形数据ROM文件data_rom.vhd如下:

LIBRARYieee;

USEieee.std_logic_1164.all;

168EDA技术实用教程

LIBRARYaltera_mf;

USEaltera_mf.altera_mf_components.all;--使用宏功能库中的所有元件

ENTITYdata_romIS

PORT(address:

INSTD_LOGIC_VECTOR(5DOWNTO0);

inclock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDdata_rom;

ARCHITECTURESYNOFdata_romIS

SIGNALsub_wire0:

STD_LOGIC_VECTOR(7DOWNTO0);

COMPONENTaltsyncram--例化altsyncram元件,调用了LPM模块altsyncram

GENERIC(--参数传递语句

intended_device_family:

STRING;--类属参量数据类型定义

width_a:

NATURAL;widthad_a:

NATURAL;

numwords_a:

NATURAL;operation_mode:

STRING;

outdata_reg_a:

STRING;address_aclr_a:

STRING;

outdata_aclr_a:

STRING;width_byteena_a:

NATURAL;

init_file:

STRING;lpm_hint:

STRING;

lpm_type:

STRING);

PORT(clock0:

INSTD_LOGIC;--altsyncram元件接口声明

address_a:

INSTD_LOGIC_VECTOR(5DOWNTO0);

q_a:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDCOMPONENT;

BEGIN

q<=sub_wire0(7DOWNTO0);

altsyncram_component:

altsyncram

GENERICMAP(intended_device_family=>"Cyclone",--参数传递映射

width_a=>8,--数据线宽度8

widthad_a=>6,--地址线宽度6

numwords_a=>64,--数据数量64

operation_mode=>"ROM",--LPM模式ROM

outdata_reg_a=>"UNREGISTERED",--输出无锁存

address_aclr_a=>"NONE",--无异步地址清0

outdata_aclr_a=>"NONE",--无输出锁存异步清0

width_byteena_a=>1,--byteena_a输入口宽度1

init_file=>"./dataHEX/SDATA.hex",--ROM初始化数据文件,此处已修改过

lpm_hint=>"ENABLE_RUNTIME_MOD=YES,INSTANCE_NAME=NONE",

lpm_type=>"altsyncram")--LPM类型

PORTMAP(clock0=>inclock,address_a=>address,q_a=>sub_wire0);

ENDSYN;

定制好LPM模块后应将其设置成工程进行仿真测试,以确保其功能的可靠,并熟悉该元件的时序情况。

对于LPM_ROM,通过仿真了解数据文件是否已被加载进去。

三、完成顶层设计

主要包括编辑顶层设计文件(在此文件中例化以上完成的LPM_ROM)、创建工程、全程编译、观察RTL电路图、仿真、了解时序分析结果、引脚锁定、再次编译并下载、对FPGA的存储单元在系统读写测试、嵌入式逻辑分析仪测试等。

正弦信号发生器顶层设计:

LIBRARYIEEE;--正弦信号发生器源文件

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSINGTIS

PORT(CLK:

INSTD_LOGIC;--信号源时钟

DOUT:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));--8位波形数据输出

END;

ARCHITECTUREDACCOFSINGTIS

COMPONENTdata_rom--调用波形数据存储器LPM_ROM文件:

data_rom.vhd声明

PORT(address:

INSTD_LOGIC_VECTOR(5DOWNTO0);--6位地址信号

inclock:

INSTD_LOGIC;--地址锁存时钟

q:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDCOMPONENT;

SIGNALQ1:

STD_LOGIC_VECTOR(5DOWNTO0);--设定内部节点作为地址计数器

BEGIN

PROCESS(CLK)--LPM_ROM地址发生器进程

BEGIN

IFCLK'EVENTANDCLK='1'THENQ1<=Q1+1;--Q1作为地址发生器计数器

ENDIF;

ENDPROCESS;

u1:

data_romPORTMAP(address=>Q1,q=>DOUT,inclock=>CLK);--例化

END;

为此顶层设计创建一项工程,工程名和实体名都可以是singt。

全程编译一次后进入时序仿真测试。

图11是仿真结果。

由波形可见,随着每一个时钟上升沿的到来,输出端口将正弦波数据依次输出。

将这些数据与图7-3所示的加载于LPM_ROM的数据比较,可以看出,设计是正确的。

图11仿真波形输出

结果证明本实验结果正确,实验结束。

收获及体会

通过本学期这次课程设计以及多次实验课,我对EDA技术有了深刻的理解,加深巩固了对数字逻辑等已经学习课程知识的掌握,通过功能仿真加深了对电路原理图的理解,学会了使用QuartusⅡ软件的使用方法。

通过这次课程设计,使我们学到了一些以前没有学过的知识,使我们对计算机组成原理程序设计有了更深层次的认识和理解,懂得了灵活运用。

在计算机飞速发展的今天,懂得一门计算机语言技术是非常必要的。

同时,我们也清醒的认识到,只要自己肯努力,愿意去付出劳动,就能够得到属于我们自己所期望的成果。

这次课程设计,我开拓了视野,加深了对以学知识的理解,获得了很大的收获。

在学习过程中,我也遇到了很多困难,以前对EDA了解不多,很多需要的只是都要自己找资料学习,自己摸索。

多谢老师准备的一些资料和程序,一点点的看,慢慢摸索着学习写语句。

最后在李老师和同学的帮助下,终于完成了此次短学期课程设计。

随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升,它已成为当今电子技术发展的前沿之一。

 EDA技术发展迅猛,完全可以用日新月异来描述。

EDA技术的应用广泛,现在已涉及到各行各业。

EDA水平不断提高,设计工具趋于完美的地步。

EDA市场日趋成熟,但我国的研发水平仍很有限,尚需迎头赶上。

我对EDA技术掌握还不是很多,自己还有很多不足,以后要加强这方面的学习。

最后,在此由衷的向我们的指导老师李丽萍表示感谢,是她的悉心指导和严格要求,才使我们的课程设计有了较为完善的一面,才有了我们能力的提高,并在老师的帮助下得到了充分的锻炼。

参考文献

[1]潘松,潘明.现代计算机组成原理.北京:

科学出版社,2007.

[1]王振宇.电子设计自动化(EDA).北京:

电子工业出版社,2007.

[2]郑家龙,王小海,章安元.集成电子技术基础教程.北京:

高等教育出版社,2002.

[3]宋万杰,罗丰,吴顺君.CPLD技术及其应用.西安:

西安电子科技大学出版社,1999.

[4]刘明业,将敬旗,刁岚松等译.硬件描述语言Verilog.北京:

清华大学出版社,2001.

[5]王金明,杨吉斌.数字系统设计与VerilogHDL.北京:

电子工业出版社,2002.

[6]AlteraCorporation,“QuartusIIHelpVersion2.0”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1