NiosII软核处理器设计研究.docx

上传人:b****0 文档编号:9242716 上传时间:2023-05-17 格式:DOCX 页数:45 大小:1MB
下载 相关 举报
NiosII软核处理器设计研究.docx_第1页
第1页 / 共45页
NiosII软核处理器设计研究.docx_第2页
第2页 / 共45页
NiosII软核处理器设计研究.docx_第3页
第3页 / 共45页
NiosII软核处理器设计研究.docx_第4页
第4页 / 共45页
NiosII软核处理器设计研究.docx_第5页
第5页 / 共45页
NiosII软核处理器设计研究.docx_第6页
第6页 / 共45页
NiosII软核处理器设计研究.docx_第7页
第7页 / 共45页
NiosII软核处理器设计研究.docx_第8页
第8页 / 共45页
NiosII软核处理器设计研究.docx_第9页
第9页 / 共45页
NiosII软核处理器设计研究.docx_第10页
第10页 / 共45页
NiosII软核处理器设计研究.docx_第11页
第11页 / 共45页
NiosII软核处理器设计研究.docx_第12页
第12页 / 共45页
NiosII软核处理器设计研究.docx_第13页
第13页 / 共45页
NiosII软核处理器设计研究.docx_第14页
第14页 / 共45页
NiosII软核处理器设计研究.docx_第15页
第15页 / 共45页
NiosII软核处理器设计研究.docx_第16页
第16页 / 共45页
NiosII软核处理器设计研究.docx_第17页
第17页 / 共45页
NiosII软核处理器设计研究.docx_第18页
第18页 / 共45页
NiosII软核处理器设计研究.docx_第19页
第19页 / 共45页
NiosII软核处理器设计研究.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

NiosII软核处理器设计研究.docx

《NiosII软核处理器设计研究.docx》由会员分享,可在线阅读,更多相关《NiosII软核处理器设计研究.docx(45页珍藏版)》请在冰点文库上搜索。

NiosII软核处理器设计研究.docx

NiosII软核处理器设计研究

毕业设计(论文)

论文题目:

NiosII软核处理器设计研究

——基于NiosII的数字频率测量电路系统设计频率测量电路系统设计

姓名:

王克勤

学号:

学院:

机电与信息工程学院

专业:

电子信息科学与技术

年级:

2007级

指导教师:

郑亚民

 

摘要

随着电子技术的不断发展,电子产品向体积越来越小、设计时间越来越短、集成度越来越精密、产品周期越来越短、成本越来越低、功能越来越强大等方向发展。

NiosⅡ嵌入式系统是一种面向用户的、可以灵活定制的通用RISC(精简指令集架构)嵌入式CPU。

使用NiosⅡ处理器的用户可以根据需要调嵌入式系统的特性、性能以及成本,快速使得产品推向市场,扩展产品的生命周期,并且避免处理器的更新换代。

本设计结合QuatrtusⅡ、SOPCBuilder、NiosⅡIDE和ModelSim等多种技术实现基于NiosⅡ的数字电路频率测量电路系统的设计。

本设计包含三部分电路设计:

计数器电路、计数器控制电路、NiosⅡ软核处理器系统电路,其核心和难点是NiosⅡ软核处理器系统的硬件电路设计、NiosⅡIDE软件开发及系统集成。

本设计完成了单元电路的设计、系统集成、NiosⅡ软核处理器系统的软硬件开发及用ModelSim仿真波形。

关键词

SOPCBuilderNiosⅡIDEModelSimNiosⅡ频率测量

Abstract

Withthecontinuousdevelopmentofelectronictechnology,electronicproductsofsizeisgettingsmallerandsmaller,shorterandshorterdesigntime,moreandmoresophisticatedintegration,productlifecycleisbecomingshorterandshorter,moreandmorelow-cost,moreandmorepowerfulfeatures,andsoon.TheuseofNiosⅡprocessoruserscanbaseontheirneedtotransferthecharacteristicsofembeddedsystems,performanceandcostofmakingproductstomarketquickly,andexpandtheproduct'slifecycleandtoavoidthereplacementoftheprocessor.NiosⅡembeddedsystemisanuser-orientatedandcanbeflexiblycustomizedcommon-useembeddedcpuwithRISC(ReducedInstructionSetComputer).ThisdesigncombinesthetechnologyofQuartus2withSOPCBuilderandNiosⅡIDEandModelSimtoachievethedesignmentofthedigitalcircuitfrequencymeasurementsystembasedonNiosⅡ.Anditcontainsthreecircuitlayout:

Thecountercircuit,thecountercontrolcircuitandtheNiosⅡsoftcoreprocessorcircuit,thekeypartsanddifficultiesofwhicharethehardwaredesignofNiosⅡsoftcoreprocessorcircuitandthesoftwaredevelopmentofNiosⅡIDEandthesystemintegration.Thedesigncompletesthedesignmentsofalltheelementcircuits,theintegrationofthewholesystem,thedevelopmentofhardwareandsoftwareoftheNiosⅡsystem,includingthewaveformssimulationofthesystem.

KeyWords

SOPCBuilder,NiosⅡIDE,ModelSim,NiosⅡ,frequencymeasurement

一、绪论

随着微电子技术的发展,促使集成电路向高速、高集成度、低工耗的系统集成方向发展,SOPC(SystemOnaProgrammableChip、片上可编程系统)是现代电子技术和电子系统设计的汇聚点和发展方向。

它将传统的EDA技术、计算机系统、嵌入式系统、数字信号处理技术、数字通讯系统以及自动控制系统等融为一体,在结构上凝为一片。

SOPC综合了SOPC和PLD、FPGA各自的优点,集成了硬核和软核CPU、DSP、存储器、外围I/O可编程模块,用户可以利用SOPC平台自行设计高速、高性能的DSP处理器或特定功能的CPU处理器,从而是电子系统设计进入一个全新的模式。

当前嵌入式系统迅速发展起来,基于NiosII的嵌入式系统以其自己的优点被广泛应用。

NiosⅡ符合工业技术的发展潮流,即硬件设计软件化。

采用NiosII能有效地降低人力和物力成本,提高产品竞争力;硬件设计软件化还能方便对硬件进行仿真、验证,整个系统结构的数字逻辑设计使得验证工作可以通过仿真软件顺利地实现,可以掌握详细、清楚的信息;减少硬件设计的错误,使得对硬件接口不是很熟悉的人也可以进行系统平台的集成。

NiosⅡ的价值在于它为FPGA的应用拓展了新的方向,真正在FPGA上实现了SOPC。

本设计基于NiosII的嵌入式系统设计,利用SOPCBuilder技术在FPGA芯片上实现系统设计,完成数字信号频率测量电路的系统设计。

首先对NiosⅡ进行简单介绍,然后介绍频率测量原理及电路设计要求及系统设计的总体思路,之后是本设计的核心部分,频率测量电路的单元设计和NiosⅡ软核处理器系统的设计。

在本设计过程中,NiosⅡ软核处理器系统采用SOPC嵌入式设计方法,分嵌入式硬件和软件两部分进行设计。

设计的两个部分分别在SOPCBuilder和NiosIIIDE中进行,在SOPCBuilder添加组件构建系统,系统生成后在QuartusII中进行例化,由于没有开发板,只做到仿真。

在NiosIIIDE中编写程序,实现功能控制,编译并运行。

本设计的仿真工作是在ModelSim软件下进行的,其专业仿真软件比QuartusⅡ本身自带的波形仿真效果要好。

本设计是基于NiosII的嵌入式系统设计,设计灵活,是电子设计的新方向。

二、NiosⅡ软核处理器的理论知识介绍

(一)NiosⅡ软核处理器的概述

NiosⅡ软核处理器是一种32位RISC嵌入式处理器,具有超过200DMIP的性能,它是一种软核、可配置的系统。

软核表示处理器的目标器件、可编程逻辑器件,只有在下载设计文件后才具有处理器的功能;可配置意味着处理器系统的组成和性能可以根据要求进行调整。

一个NiosⅡ软核处理器系统是一个包含了一个可配置CPU软内核、FPGA偏少存储器和片外存储器、外设及外设接口等的一个片上可编程系统,它可以工作在Altera公司的Stratix、StratixⅡ、Cyclone、CycloneⅡ等系列的可编程逻辑器件上。

(二)NIOSⅡ软核处理器系统结构

图2-1NiosⅡ处理器系统

如图2-1所示,为一个典型的NiosⅡ处理器系统。

在图2-1中,整个NiosⅡ处理器系统包括NiosⅡ处理器内核(调试模块)、Avalon总线和系统外设。

系统中的外设,如SDRAM控制器、片内RAM、三态桥、UTART、定时器、LED显示驱动电路、通用I/O、CompactFlash等都是由FPGA内部的逻辑和RAM资源实现的。

(三)NiosⅡ软核处理器的三种内核的比较

NiosⅡ软核处理器具有三种内核可供用户选择,用来满足不同的设计要求。

它们分别是快速性、经济型和标准型。

快速型NiosII内核具有最高的性能,经济型NiosII内核具有最低的资源占用,而标准型在性能和面积之间做了一个平衡。

NiosⅡ的3种类型内核的比较如表2-1所示:

表2-1NiosⅡ3种类型内核的比较

特性

NiosⅡ/e

NiosⅡ/s

NiosⅡ/f

目标

最小核

较小核

最快的执行速度

DMIPS/MHz

0.15

0.74

1.16

Max.DMIPS

31

127

218

Max.f/MHz

200

165

185

面积/LE

700

1400

1800

流水线

1级

5级

6级

外部地址空间/GB

2

2

2

指令Cache

512B-64KB静态分支预测

512B-64KB静态分支预测

数据Cache

512B-64KB

ALU

只能移位操作、无硬件乘法、除法

硬件乘法、除法和移位操作

硬件乘法、除法和移位操作

(四)使用NiosⅡ软核处理器的优势

1.提供合理的性能

基于处理器进行应用系统设计时,设计者很难在众多的处理器芯片中选择到合适的芯片,因为处理器芯片的功能和技术指标是确定的。

为了满足某一些性能和技术指标,常常不得不选择一种还具有多余功能的处理器芯片,这就导致了产品成本的提高。

若为了满足产品成本的要求,常常又会使设计达不到理想的性能和技术指标。

采用NiosⅡ软核处理器系统,设计者能够根据自己的想法来配置处理器系统,包括选择合适的处理器内核、希望的外部设备,以及处理器与外部设备之间的接口。

设计者还能过在NiosⅡ软核处理器系统中集成自己专有的逻辑功能,如浮点算术运算电路、数字信号处理(DSP)电路等。

2.提升系统的性能

设计者不仅可以采用快速型内核“NiosⅡ/f”,并添加硬件电路来提升NiosⅡ软核处理器系统的性能,还可以通过在一个系统中添加多个处理器内核来提高系统的性能。

Altera公司现在提供多个系列的可编程逻辑器件,既有包含大量逻辑资源的芯片,又有经济、价廉的芯片。

例如,高性能的StratixⅡ系列的EP2S180芯片,一个NiosⅡ软核处理器只占用这种芯片的1%的逻辑资源,这使得在一个可编程逻辑器件中能够实现多个NiosⅡ软核处理器,这样提高了应用系统的性能。

3.延长产品的生命周期

使用NiosⅡ软核处理器进行应用系统设计可以从以下几个方面延长产品的生命周期。

首先,在硬件方面,NiosⅡ软核处理器的目标器件为可编程逻辑器件,它的可编程特性避免了专用集成电路设计制作周期长的缺点;在软件方面,Altera公司提供了完整的开发软件、大量的设计参考和调试电路。

其次,NiosⅡ软核处理器系统的软核、可配置特点使得用户能够容易地对应用系统的硬件电路部分进行升级。

即使产品已经交给了用户,仍然可以方便地进行升级。

最后,NiosⅡ软核处理器系统可以方便地移植到新的可编程逻辑器件中。

例如,当一个设计被确定,并且准备大批量生产时,可以选择将它移植到Altera公司的HardCopy(一种结构化的专用集成电路)上,使成本降低。

三、频率测量原理与电路设计要求

频率的概念与时间的概念直接相关,信号频率的另一种描述就是信号的周期。

频率与周期的关系式为:

f=1/T,式中,f为频率,单位为Hz(赫兹);T为周期,单位为s(秒)。

实现数字信号频率测量的核心电路是计数器,利用计数器实现数字信号频率测量的方法有两种:

计数法和定时法。

采用计数法可以直接获得待测数字信号的频率。

这时计数器的计数触发信号为待测信号,另外还需要一个计数控制信号。

如果计数器控制信号的有效时间固定,如1s,则在计数控制信号的有效时间内到来的待测数字信号的个数就是其频率值。

采用定时法可以直接获得待测数字信号的周期,这时计数器的计数触发信号为一个频率一定的信号,计数控制信号为待测数字信号。

这样由一个待测数字信号周期内到来的固定频率计数触发信号个数就可以获得待测数字信号的周期。

如果希望有较高的测量精度,同时有一个较快的测量速度这时需要在测量电路中根据不同情况采用不同方法。

在待测数字信号频率较高时,适合采用计数法;反之则适合采用定时法。

这是因为如果待测数字信号的频率较低,采用计数法就需要计数控制信号的有效时间较长,从而使得测量需要的时间较长;如果待测数字信号的频率较高,即待测数字信号的周期较小,采用定时法在一个待测数字信号周期中到来的计数触发信号个数较少,从而使得测量精度较小。

在待测信号的频率范围较宽的情况下,联合使用以上两种测量方法既可以保证测量精度,又可以加快测量速度。

作为一种设计方法的学习和NiosⅡ软核处理器及FPGA器件的应用学习,本设计完成的频率测量系统测量信号的频率范围为测量结果用频率、周期两种显示方式,测量结果使用7个数码管显示。

当频率数据较大时用科学计数法表示,前四位4个显示测量数据的有效数位;后两位显示以10为底的幂的符号,最后一位显示幂次方。

当频率/周期数值在四位及以下时候,测量结果用前四位显示,后三位清零。

频率的单位为Hz(赫兹),周期的单位为s(秒)。

四、频率测量电路的系统设计

实现数字信号频率/周期测量的计数器的工作很简单,每来一个计数信号它的内容就加1。

计数器需要较高的计数速度,速度的快慢不仅影响采用计数法时的最高测量频率,而且也影响采用定时法时的周期测量精度,因此计数器模块采用可编程逻辑器件,使用硬件描述语言来设计。

NiosⅡ软核处理器系统虽然提供定时器内核,但是它的计数信号只能是系统时钟,这样只能实现定时法,不能实现计数法,当待测信号频率很高时将影响测量精度。

采用定时法,在计数触发信号采用50MHz的NiosⅡ软核处理器系统的时钟时,如果要求测量数据具有4位有效数字那么这时用做计数控制信号的待测信号的最小周期为20us,对应待测信号的最高频率为50kHz。

提高计数触发信号频率可以扩展测量范围。

采用计数法,在待测信号频率为50kHz时,如果同样要求测量数据具有4位有效数字,那么这时用做计数控制信号的有效时间至少为20ms。

如果待测信号频率降低,在保证测量数据具有的有效数字不变的情况下,必须加大计数控制信号的有效时间,这将使得系统的测量速度下降。

联合采用定时法和计数法来完成数字信号的频率测量,在待测信号频率较低时采用定时法,在待测信号频率较高时采用计数法。

由于采用不同的方法,实现数字信号频率/周期测量队计数器的技术触发信号和计数控制信号的来源不同,因此需要一个计数器控制模块进行信号的分配。

计数器控制模块的输入信号包括待测信号、频率固定的NiosⅡ软核处理器系统的系统时钟信号和该模块自己的控制信号,输入信号包括计数触发信号和计数控制信号。

计数控制信号模块实现的是信号分配,不涉及算术运算,因此这里也将采用可编程逻辑器件,使用硬件描述语言来设计。

由于所设计的系统要求能够显示待测量数字信号的频率和周期,由信号频率和信号周期的关系式可知,计数其中的测量数据从一种格式转换为另一种格式将需要进行除法运算。

利用NiosⅡ软核处理器系统处理这些数据将是合适的选择。

在NiosⅡ软核处理器系统中,计数器中的测量数据可以在一个由开关输入信息的控制下,获得需要的显示数据格式,并通过显示模块显示。

由于在待测信号频率较低时适合采用定时法,在待测频率较高时适合采用计数法,因此NiosⅡ软核处理器系统还需要根据测量结果自行选择测量方式,并产生合适的控制信号送到计数器控制模块。

综上所述,本设计的频率测量电路的组成方框图4-1所示:

 

系统时钟(sys_clk)

测量控制信号

测量数据准备好信号

计数触发信号计数使能信号显示格式

控制开关

测量数据

图4-1频率测量电路的组成方框图

频率测量电路的工作是在NiosⅡ软核处理器控制下进行的。

待测信号的频率/周期测量是连续、循环进行的,这样不仅能测量信号的频率/周期,而且能在一定程度上跟踪信号的频率/周期变化。

每个测量循环从NiosⅡ软核处理器系统向计数器控制模块发出启动计数法测量控制信号开始。

计数器控制模块将待测信号作为计数触发信号,以系统时钟为时间基准产生20ms宽的计数使能信号送往计数器模块。

在20ms宽的计数使能信号结束之后,计数器控制模块向NiosⅡ软核处理器系统发送测量数据准备好信号。

NiosⅡ软核处理器系统接到测量数据准备好信号以后,从计数器模块读取测量数据。

接着对数据进行判断,如果测量数据具有4为有效数字,NiosⅡ软核处理器系统则对其进行处理,否则再次向计数器控制模块发出启动定时法测量控制信号。

计数器控制模块这时将系统时钟信号作为计数触发信号,以一个完整待测信号周期产生的计数使能信号送往计数模块。

在计数使能信号结束之后,计数控制模块再次向NiosⅡ软核处理器系统发送测量数据准备好信号,后者再次从计数器模块中读取测量数据。

NiosⅡ软核处理器系统则对测量数据进行处理,工作包括产生满足格式要求的待测信号的频率和周期数据,完成处理的数据根据显示要求送到显示模块进行显示,接着进行下一个测量循环。

五、频率测量电路的单元电路设计

(一)计数器电路

1.计数器电路的VHDL语言

计数器的工作不仅需要计数使能信号和计数触发信号,在开始每次计数工作之前还需要对计数器内容进行清零。

计数器的每个计数循环从计数器内容进行清零开始,接着计数使能信号有效,使得计数器在计数触发信号的控制下从0开始计数。

在计数使能信号有效时间过后,计数器停止计数,保持本次技术循环的技术数据等待NiosⅡ软核处理器系统读取,然后等待下一个计数循环的开始。

计数器具有的数据位数也需要仔细选择,既要满足设计要求,又要尽可能地节省器件资源。

如果在这里多考虑其他模块的工作,则可以降低整个系统的设计难度。

如果考虑系统4位测量精度的要求,则计数器具有15位数据位数即可满足要求,但在计数器控制模块中还需要具有量程自动切换电路,因此需要扩展计数器的数据位数,使得在整个测量范围内计数器不会发生溢出,这是将不需要量程自动切换电路。

在使用定时法测量时,如果用做计数触发信号的系统时钟频率为50MHz,这样在待测信号达到1Hz的最小频率,即1s内的最大周期时,计数器的最大计数数据为,这时计数器需要27为数据位数。

在使用计数法测量时,如果采用20ms宽的固定计数使能信号,则在待测信号达到9.999×

Hz的最高频率时,计数器的最大计数数据为1.9998×

,这时计数器需要19位数据位数。

综上所述,这里计数器选择27位数据位数。

其VHDL语言代码见附录一所示。

计数器需要较高的计数速度,在Quartus2窗口中,由菜单“Assignments->Settings->Analysis&SynthesisSettings”打开分析、综合设置对话框,在优化技术选择栏“OptimizationTechnique”中选择速度优先“Speed”。

图5-1计数器电路的编译报告

如图5-1所示,在选用EP2C35F672C6作为目标芯片的情况下,对上面的数据电路的VHDL语言代码进行编译。

编译报告显示电路占用芯片逻辑单元为55,仅占不到整个芯片33216个逻辑单元的1%。

电路所支持的最高计数触发信号频率为253MHz,满足在使用定时法测量时输入50MHz计数触发信号的要求。

2.计数器电路的模拟测试

图5-2计数器电路的RTLViewer级电路

图5-3计数器电路模拟结果

如图5-3所示为所设计的计数器电路的ModelSim模拟仿真结果。

ModelSim是Mentor公司的生产的一款业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。

它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。

模拟的计数时钟信号(counter_clk)采用50MHz的实际应用最高频率。

计数器清零信号(counter_clean)为低电平有效,当它有效时,计数器(counter)的内容被清零。

计数器使能信号(counter_en)也是低电平有效,当它有效时,每来一个计数时钟信号(counter_clk),计数器(输出端口)(counter_data)的内容加1。

输出端口(counter_data)的数据在计数器使能信号有效期间跟随计数器的内容变化,因此在该端口上的数据必须要等测量完成之后才能读取。

计数器电路需要的所有输入信号来自计数器控制电路,同时计数器控制电路还需要在测量完成之后,即计数器使能信号有效期间结束之后,产生一个测量数据准备好信号触发NiosⅡ软核处理器系统读取测量数据。

(二)计数器控制电路

1.计数器控制电路的VHDL语言描述

计数控制电路的输入信号包括待测量的数字信号、系统时钟信号,以及从NiosⅡ软核处理器系统来控制信号。

计数器控制电路的输出信号包括送到计数器的计数器清零信号(counter_clean)、计数时钟信号(counter_clk)、计数使能信号(counter_en),以及送到NiosⅡ软核处理器系统的测量数据准备好信号。

计数器控制电路的VHDL代码采用有限状态机(FiniteStateMachine,FSM)模型进行编写。

有限状态机是一种为进行时序逻辑电路设计而创建的专门模型,这种模型对设计任务顺序明确的数字控制系统非常有用。

由电路的状态转换表或电路的状态转换图,利用VHDL可以设计出不同应用特点的状态机,而且这些状态机都具有相对固定的语句及表达方式。

在从NiosⅡ软核处理器系统来的启动控制信号的控制下,利用有限状态机模型写出的控制代码很容易实现一个周期的控制时序结束以后自动等待,因此实现一个完整的测量循环很容易。

其VHDL语言代码如附录二所示。

图5-4计数器控制电路的编译报告

如图5-4所示,在选用EP2C35F672C6作为目标芯片,选择速度优先“Speed”优化技术的情况下,对上面的计数器控制电路的VHDL语言代码进行编译。

编译报告显示电路占用芯片逻辑单元为37,与计数器电路类似,仍然只占了不到整个芯片33216个逻辑单元的1%。

2.计数器控制电路的模拟测试

图5-5计数器控制电路在QuartusⅡ中的模拟结果

图5-6计数器控制电路用ModelSim仿真的波形图

如图5-5、图5-6所示,为所设计的计数器控制电路的模拟结果,模拟结果的前面为采用计数法进行待测信号的频率测量,这时NiosⅡ软核处理器先输出“00”,计数器的计数时钟为待测信号,产生计数器清零信号,接着输出“01”的控制信号,在系统时钟信号的控制下产生计数器使能信号。

计数使能信号结束以后,输出数据准备好信号。

模拟结果的后面为采用定时法进行待测信号的周期测量,计数器的计

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2