FPGA实验箱

2024-08-31

FPGA实验箱(精选6篇)

FPGA实验箱 第1篇

关键词:FPGA,实验箱,数字电路,模拟电路,电路分析

0 引言

在我们目前所用的数电, 模电实验箱配置不太完善, 功能上局限性太强。特别是在使用的过程中成本较大, 每个分立元器件的管脚针头容易损坏。由此, 元器件不能充分利用, 用独立芯片可以替代。

为了方便更多的专业人士和在校大学生做相关的数模电实验, 特做出如此构思:在现有的数电, 模电试验箱的基础上, 实现数模电实验箱二合一的思想, 并加入了电路分析的模块, 使之成为数、模电和电路分析三合一的实验箱。实验老师根据学生在做实验过程中积累下的经验, 需要在原实验箱的基础上做出改进。现有的实验设备数字电路芯片管脚不稳, 报废率较高, 浪费严重, 实验项目选择性太少。用FPGA主控芯片代替数字电路的分立元器件, 用FPGA程序作为数字芯片的主要核心, 在此基础上做出更多常用数字芯片的程序。需用到的数字芯片, 只需下载想用的程序即可实现响应的功能。数电, 模电, 电路分析实验箱将会组合到一块。这种改动之后, 不但能节省分立元器件成本, 还可以使实验箱的功能更加强大, 灵活性更高。

1 FPGA介绍

FPGA是20 世纪80 年代中期出现的一种新型的可编程逻辑器件, 其结构不同于基于与或阵列的器件。其最大的特点是可实现现场编程。所谓现场编程是指对于已经焊接在PCB上或正在工作的芯片实现逻辑重构, 当然也可在工作一段时间后修改逻辑。

FPGA采用了逻辑单元阵列LCA (Logic Cell Array) 这样一个概念, 内部包括可配置逻辑模块CLB (ConfigurableLogic Block) 、输入输出模块IOB (Input Output Block) 和内部连线 (Interconnect) 三个部分。 现场可编程门阵列 (FPGA) 是可编程器件, 与传统逻辑电路和门阵列 (如PAL, GAL及CPLD器件) 相比, FPGA具有不同的结构。FPGA利用小型查找表 (16×1RAM) 来实现组合逻辑, 每个查找表连接到一个D触发器的输入端, 触发器再来驱动其他逻辑电路或驱动I/O, 由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块, 这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的, 存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式, 并最终决定了FPGA所能实现的功能, FPGA允许无限次的编程。 (图1-5)

2 系统设计与实现

为了实现数电、模电、电路分析实验箱一体化, 增强实验应用范围。根据学生平时实验结果的积累和总结, 特对该实验箱做出更新。制作出如下方案:

(1) 数电、模电实验箱整合。功能模块可共用, 电源模块重复使用。但特定的功能模块经过改进后需重新放置。

(2) 数电使用的独立分立逻辑芯片不再使用, 统一使用可编程逻辑芯片FPGA来代替独立的逻辑芯片。这样做的好处就是使实验不再单一化, 芯片功能可根据FPGA的程序来设定, 不再需要人为的选择逻辑芯片。芯片的选择性更大了, 更多常用的逻辑芯片都可在此平台上实现出来。芯片管脚也不再受限制。常用的逻辑芯片都可实现。

(3) 函数信号发生器部分不再需要人为的测试输出的信号频率, 我们在底板上直接设计频率测定和频率显示的功能。设计出的实验箱没有很大的选择限制, 这一块可代替常用的逻辑芯片和独立电子元器件。 (图6)

实现学生实验的强大功能, 用户可在实验箱上做相关的数电、模电和电路分析等实验。使用户更快的了解电子设计和应用原理, 拓宽用户的视野, 提高实验效率, 节省实验所需时间。通过下载硬件程序扩充数字逻辑芯片的数量, 科研人员也可以在此基础上使用自己相关的逻辑芯片功能, 增加了受众人群。不再需要购买独立数字器件在面包板上做不确定的实验。还要考虑面包板管脚连接是否正常等问题。常用数字逻辑芯片, 足够满足学生们做实验。还在一定程度上使同学们了解了可编程逻辑器件的强大功能。 (图7)

3 FPGA编程示例

(1) 38—译码器:

(2) 00-与非门电路:

(3) 计数器分频:

(4) 数码管显示:

4 结束语

虽然数电, 模电等学科的实验箱一直在发展, 但是发展的较为缓慢。我们提出设计的基于FPGA的全能硬件实验箱 (数/模/电路分析实验箱) 利于当前较为先进成熟的FPGA编程技术, 实现数字电路, 模拟电路, 电路分析三科实验与一套实验箱, 使用户更快地了解电子设计和应用原理, 拓宽用户的视野, 提高实验效率, 节省实验所需时间。具有创新与实用积极意义。此实验箱外观做的比较粗糙, 后续我们会积极完善, 在功能上我们会増优去拙, 使实验箱不仅更加美观, 也会更加实用!

参考文献

[1]童诗白, 华成英.模拟电子技术[M].四版.北京:高等教育出版社, 2006, 5 (2012.12重印) .

[2]范文兵.数字电子技术基础[M].北京:清华大学出版社, 2007:12.

[3]李瀚荪.电路分析基础[M].北京:高等教育出版社, 2006, 5 (2010重印) .

[4]夏宇闻.Verilog数字系统设计教程[M].北京航空航天大学出版社, 2003.

[5]王晓勇.FPGA的基本原理及运用[J].舰船电子工程, 2005 (2) .

[6]庞艳荣.基于FPGA的数字集成系统设计[D].天津大学, 2004.

FPGA实验箱 第2篇

相位检测是进行数据采集的基本任务。在光通信领域,相位调制技术由于成熟、稳定性高、实用性强,接收端的检测电路易于实现的优点,被广泛的应用。模拟技术的相位检测电路极为复杂,稳定性较差。单片机技术虽然克服了以上缺点,但测量范围小。随着FPGA技术的发展,采用单片机与FPGA芯片相结合的测量方案被广泛应用,以提高测量的范围。本文提出了一种基于FPGA芯片的具有频率和相位测量功能的高精度测量电路。该电路采用独立的FPGA芯片,并在频率测量电路中设置了量程自动转换功能,解决了数字频率测量中精度与范围的相互制约问题,使该电路具有很高的实用价值。

1 频率测量电路

如图1所示,频率测量电路主要由分频单元、控制单元、计数单元构成。其中控制单元是该电路的核心,主要完成的是清零(CLR)、门限脉宽/置数(LOAD)信号的生成。

本电路中采用了状态机来实现量程的自动转换,状态机根据计数单元提供的反馈信号决定下一个状态的跳转,从而输出不同的门限信号以实现不同频率段的测量。采用状态机来实现数据选择器的功能增加了电路的灵活性,从而提升了电路的自适应能力。

2 相位测量电路

2.1 数字测相原理

数字相位测量技术中最常用的是倍频法和过零检测法,本电路采用了过零检测方式。将两路方波信号进行异或运算,如图2所示,在被测信号X1的一个周期内,若f1计数值为N1,f2计数值为N2,则两路信号的相位差如下面公式所示。

undefined

由于公式中不能体现出两路信号的相位关系,因此需要加入判向电路。如图3所示。在0°~180°的范围内,当Z1超前于Z2时DIR输出为高,否则DIR输出低电平。

2.2 相位测量电路图

如图4所示,相位测量电路主要有分频单元、控制单元、计算单元构成。其中控制单元与频率测量电路的控制单元所实现的功能基本一致。计数器单元采用的是两个同步计数器以计算相位差。

3 实验硬件及数据分析

3.1 实验硬件

根据以上各部分软件设计,采用Altera公司的EP1K30TC-144芯片之作了相应的硬件电路,对以上各部分的设计进行实验验证,为获得相位不同的两路同频信号,采用Altera公司的FLEX10K10芯片制作了信号源。

3.2 频率测量实验数据分析

由表1的数据可以明显地看出频率测量电路的最大误差不超过0.2%,测量误差成周期性随输入信号频率而变化,这种现象正是由于测量电路的量程自动转换功能所引起的。

3.3 相位测量实验数据分析

由表2的数据表明,相位测量的方差随频率的增大而增加,即频率越高,所得到的数据结果的不稳定性越大,但对于一个固定的相位差而言,所得数据的相对误差控制在0.9°以内。

4 结束语

基于FPGA技术,本文提出了一种具有较高精度的频率和相位测量方案。实验表明本文所提出的设计方案具有集成度高、稳定性好、精度高、扩展性强等优点。由于FPGA芯片输入时钟信号固定,因此相位测量的测量误差随被测信号频率增加而增大。

参考文献

[1]侯伯亨,顾新.VHDL硬件语言描述与数字逻辑设计[M].西安:西安电子科技大学出版社,2004:9-10.

[2]陈尚志,胡荣强,胡合松.基于FPGA自适应数字频率计的设计[J].中国测试技术,2007,33(2).

[3]欧伟明,王湘中.基于MCU和FPGA的数字式相位测量仪的设计[J].自动化仪表,2006,27(9).

FPGA实验箱 第3篇

鉴于电力电子技术是一门强调理论与实践相结合的专业基础课,而目前电力电子技术课程的实验教学大多依托插拔式实验平台,主要是演示性或验证性实验。学生实验时大多按照实验指导书进行简单线路连接,并没有通过实验深入理解理论知识,出现问题也不会主动分析和解决。另外,由于对实验操作不熟而导致实验装置损坏,维护量大[2]。为此,需要增加学生真正动手设计、搭建和调试电路的机会,让学生完全掌握具体实现过程,加强学生动手能力和创新能力的培养。

1 目前电力电子技术实验教学现状及存在问题

实验的目的是让学生更好地理解和掌握理论知识,培养在实际应用过程中的实践能力。但目前电力电子技术实验普遍存在着实验与理论结合不紧密、实验与生产实践相脱节的问题[3,4]。主要体现在:

(1)传统的电力电子技术实验装置封装程度高,容易损坏,维护困难。课堂讲授的理论知识与实验过程衔接度低,尽管学生对工作原理掌握得很好,但在实际实验过程中还是无从下手,无法真正达到实际应用。

(2)传统的电力电子实验大多是演示性或验证性实验,只能观测实验结果,而不能有效地进行电路分析和动态分析,几乎没有仿真和模拟。

(3)传统的电力电子实验内容固定,较难实现模块化,无法根据学生实际情况定制实验内容。

随着电力电子技术朝着高度模块化、集成化以及应用多元化的方向发展,相应地也要求加强实验教学,让学生真正动手,在实际应用中更好地理解和掌握电力电子技术基本概念和工作原理。因此,需要设计和开发一种具有良好扩展性且交互式的综合实验平台来满足教学要求。

2 便携式综合实验平台

目前,我校电力电子技术实验设备相对陈旧且占地面积大,维护困难。为满足实践教学改革需要,我们研究和开发了一种便携式电力电子技术综合实验平台。

2.1 硬件平台

该实验平台的硬件系统主要由PC机、e Motion模块、FPGA芯片和实验模块组成(如图1所示)。

整个综合实验平台采用标准化的模块结构,PC机通过以太网或串口与e Motion模块相连。而FPGA1芯片卡通过ISA总线与e Motion模块相连,实验模块通过JP与FPGA2芯片相连。FPGA1与FPGA2通过SIO相连,使得FPGA1与实验模块完全隔离。实验模块包括示波器显示模块LCD,直流斩波模块DC2DC,逆变模块DC2AC等模块(如图2所示)。

2.2 软件平台

该实验平台运行在Matlab环境下,主要包括操作界面、波形显示界面和逻辑分析界面等。如图3所示,给出buck转换电路实验界面。整个实验系统采用层次式结构,如图4所示。所有实验均用Matlab编程实现,其中每个实验包括多个操作界面。

具体操作过程如下:

(1)开机运行后,首先执行e Motion模块,在PC机中执行Telnet程序,进入工作目录。

(2)启动Matlab,并进入相应实验的m文件目录。选择相应的实验,启动界面。

在实验过程中,学生可根据实际需要选择相关实验。该综合平台具有良好的可扩展性,可根据实验室规模灵活配置,方便携带。

3 实验内容设置

根据实际教学和学生不同能力的需要,设置了基础性实验、设计性实验、综合性实验和创新性实验4类实验,形成阶梯式实验教学。

3.1 基础性实验

这些实验基本上是演示性及验证性教学实验,实验指导书给出具体电路、实验内容及操作步骤。通过实验使学生获得感性认识并与理论知识相衔接,掌握各种典型电路的工作原理、波形分析及定量计算,为综合设计实验打下基础。

3.2 设计性实验

在基础性实验的内容和基础上,由学生自行设计设备参数及其特性,并通过编程进行仿真实现。主要目标是掌握电子电路的设计及软件编程,并学习实验参数的设置与调试。

3.3 综合性实验

根据教师提供的不同实验项目,从最初的方案设计,元器件选型,软件编程仿真到具体实物实现,将实验与实际问题相结合,提高学生的动手能力,积累学生的工程实践经验。

3.4 创新性实验

挑选优秀学生,采取集中培训的形式,在课程设计过程中结合国家或省市级大学生科技创新项目,进行创新性实验设计,深化课堂与实践教学的效果。

4 结束语

随着电力电子技术的快速发展以及电力电子在各行各业中的广泛应用,针对相关专业的本科生培养以及学校教育教学改革的深入,构建了一种便携式电力电子技术实验教学综合平台。该平台具有良好的可扩展性与交互性,实验内容丰富,开放性强。通过该平台,学生易于理解和掌握电力电子技术的理论知识与分析方法,提高动手能力和工程实践能力。

根据教学实践,还可进一步提高该平台的性能,形成多层次、立体化的实验教学。

摘要:针对电力电子技术课程实验教学大多属于演示性或验证性实验,实验设备不能满足教学需要的情况,利用FPGA设计了具有良好扩展性、交互式电力电子技术的实验教学综合平台。该综合平台便携简单,开放性强,实验内容丰富,可实现PC机与实验平台的信息交换与图形化显示,从而增强理论与实践的结合,可更好地用于实验教学。

关键词:电力电子技术,FPGA,综合实验平台

参考文献

[1]王兆安,刘进军.电力电子技术[M].第5版.北京:机械工业出版社,2009.

[2]唐杰,刘丽,罗庆跃.“电力电子技术”课程研究性教学初探[J].中国电力教育,2009(12):86-87.

[3]梁梅,胡少强,王智东.电力电子技术综合实验平台的研究与建设[J].中国现代教育装备,2012(13):16-17.

FPGA实验箱 第4篇

关键词:三模冗余,动态刷新,SRAM FPGA

由于静态存储器 (Static Random Access Memory, SRAM) 型现场可编程门阵列 (Field Programmable Gate Array, FPGA) 与反熔丝型FPGA相比具有可反复重新配置的优点, 所以SRAM型FPGA在航天领域受到广泛关注。但SRAM[1]为辐射敏感器件, 这严重威胁了卫星安全可靠的运行。国内外对航天故障的统计显示:约有40%的故障源自太空辐射[2]。近10年来, 国内外一直重视SRAM FPGA辐射效应和加固方法研究。本文研究了三模冗余 (TMR) 和动态刷新 (Scrubbing) 两种加固措施, 并对采取措施的FPGA和未采取加固措施的FPGA进行单粒子辐照实验研究, 成功验证了TMR+Scrubbing加固措施的有效性, 试验结果显示, TMR+Scrubbing加固措施可以提高SRAM型FPGA抗单粒子性能2倍以上。

1 TMR+Scrubbing加固设计

1.1 TMR加固设计

FPGA内部的RAM资源相对寄存器、查找表等资源较为丰富, 而且都可以采用双端口方式访问, 当正常逻辑只操作一个端口时, 可以采用图1所示方式对RAM模块进行三模冗余处理, 当正常逻辑使用RAM模块的A端口时, 自刷新模块使用B端口同时读取3份RAM中的数据, 进行读取→比对→回写的操作。如当RAM模块1中数据有错误时, 自刷新模块经比对发现该模块存在错误后, 保存错误数据存在的地址, 同时检测正常逻辑在端口A的操作信号, 当发现正常逻辑没有对数据错误存在的地址进行写操作时, 立即通过端口B对RAM模块1的数据错误地址写入正确的数据。为保证自刷新模块自身的可靠性, 对自刷新模块进行模块级三模冗余。

在一般通信系统中, 借助查找表法实现载波NCO或者滤波器, 因此正弦表、反正切函数表、滤波器参数等重要的运行参数一般存在于FPGA的内部ROM中, 由于ROM只是使用双端口RAM资源的一个端口, 因此可以通过另一端口实现三模冗余和自刷新, 具备可恢复能力。3个RAM的三路信号 (douta_tr0douta_tr1douta_tr2) 输出后经过表决器比对, 输出一路信号 (doutb) , 在正余弦表单元中, TMR单元信号处理如图2所示[3]。

三模冗余对资源的占用量是原始设计的3.2~3.5倍, 因此不能对整个FPGA逻辑设计进行三模冗余, 只能选择对关键模块和所有模块中长时间存在的关键变量进行三模冗余。长时间存在的关键变量主要是指:主程序的大循环控制变量、主程序的有限状态机控制变量、重要的全局标志等等, 这些变量关系到FP-GA运行程序的总体进程, 而且存在的时间比较长, 发生单粒子翻转的概率比一些临时局部变量大的多, 影响也更加严重[4]。

1.2 Scrubbing加固设计

在Scrubbing过程中对配置流数据进行回读、比对, 当发现配置数据有错误时, 对存在错误的部分配置区进行局部重配置, 消除错误数据。进行Scrubbing时, 可以不中断FPGA的正常工作, 该措施在FPGA工作期间同步运行, 以最快的速度检测到配置区数据错误并纠错, 可以有效地防止配置区数据累积, 将错误影响的时间间隔缩小到一个回读、比对周期所需的处理时间。在这个过程中分3步:配置流回读、比对、局部重配置。

回读是通过JTAG接口从配置区中回读出FPGA内嵌逻辑的运行状态量, 据此判断逻辑是否运行正常。回读过程可以读出CLB、IOB的寄存器和FPGA的内部存储器的当前状态, 以及布线资源的配置情况等, 然后通过回读数据的校验来检验当前配置数据的正确性。

表1所列为XQRV3000动态回读的时间特性。经过实验测试, JTAG接口最快的访问速率约可达55 Mbit·s-1。这里以39.2 MHz作为回读时钟, 根据表1中的参数可以计算得到:每帧数据的回读时间约为150μs, 整个器件的回读时间约为270 ms。SRAM型FPGA配置区的部分数据反映了硬件结构内部的寄存器内容, 而FPGA内嵌逻辑中又使用了硬件结构中的寄存器, 实际上配置区的部分数据位充当了内嵌逻辑中变量的影子寄存器, 可以从这些影子寄存器中探测FPGA内嵌逻辑的工作状态。

比对就是将标准数据和回读数据逐位进行比较, 也就是直接比较校验。这个过程需要两个专用的存储区域分别存储屏蔽数据文件 (design.msk) 和回读后应该得到的标准数据 (design.rbb) 。这两个文件可以在生成配置数据 (design.bit) 时一并生成。由于某些临时性数据, 比如Distributed RAM, 在FPGA工作的过程中会发生变化, 因此比对时需要将此部分内容屏蔽掉[5]。即在直接比较校验过程中, 需要比较的是校验码是否相等, 如果不相等则说明回读的数据出现翻转错误。回读数据的直接比较校验流程如图3所示。

局部动态重构是指在不中断FPGA其他功能模块正常时序条件下, 实现的故障区域的局部重配置。在FPGA发生单粒子辐射效应故障时, HRU通过对FPGA状态的监控、配置存储器的回读校验等措施, 可以将故障定位于功能模块对应的布线配置区域。

在样品FPGA和配置数据存储PROM器件间加入一块Actel反熔丝型FPGA, 由该Actel FPGA充当样品FPGA的配置控制器, 负责对样品FPGA进行动态刷新。

2 试验验证

试验采用辐照中测试, 辐照失效判据为功能失效。首先为了验证TMR+Scrubbing加固方法的有效性, 采用相同注量率的B粒子分别照射无加固措施的样品和采用TMR+Scrubbing加固的样品, 在试验过程中观测样品功能是否失效[6]。

根据实验数据, 获得中断粒子总数与第I次翻转关系曲线如图4所示。

注量率对比实验过程中, 样品功能失效时立即停止辐照, 待测试系统重新开机, 实验样本进入正常工作状态之后继续辐照, 失效粒子数累积计量。

3 结束语

通过B粒子相同注量率 (60 Ions/cm2·s) 下不同检测模式的对比实验可以得出结论, TMR+scrubing加固方式可以将SRAM型FPGA抗辐射性能提高2倍以上。实验成功验证了TMR+scrubing加固方式可以提高SRAM型FPGA抗辐射性能。为TMR+scrubing加固研究提供了数据依据。需要注意在实际工程实现中, 并非所有功能都可以刷新, 也有一些功能由于FPGA资源有限的原因, 不能三模冗余, 这些资源有可能会成为TMR+scrubing FPGA抗辐射性能的短板, 使用时需谨慎。

参考文献

[1]韩郑生.抗辐射集成电路概论[M].北京:清华大学出版社, 2011.

[2]PHILIPPE A, GREG A.Assessing and mitigating radiationeffects in xilinx FPGA[M].Pasedena, California:PropulsionLaboratory California Institute of Technology, 2008.

[3]REED R.Implementation of a BPSK transceiver for use withthe university of kansas agile radio:bachelor of science[D].Kansas:University of Kansas, 2004.

[4]辛明瑞, 时晨, 高德远, 等.面向空间应用的片上系统集成技术研究[J].微电子学与计算机, 2006, 23 (6) :194-197.

[5]段青亚, 黄士坦, 辛明瑞.空间单粒子故障容错设计的验证技术研究[J].微电子学与计算机, 2007, 24 (11) :38-41.

FPGA实验箱 第5篇

试想, 在基础上都无法与他人做到并驾齐驱, 是无法去谈如何超越别人!我们连计算机基本的运行过程都说不清楚, 根本就无法奢谈去写出多么好的软件, 制作出多么完善的系统, 发明出多么激动人心的电子产品。在此, 我可以负责任地说——不亲自设计CPU的人, 很难领会到计算机的真谛。这个实验平台可以说是一个具备“可拓展性”和“开放性”的设计。

1 总体设计

本项目设计的CPU命名为Open MIPS (该命名既体现了MIPS架构开源的特点, 又体现了本开放性学生实验平台的开放性特征) 。具有哈佛结构的32位标量处理器, 兼容MIPS32 Release1指令集架构, 使用现有MIPS的编译环境。具体设计设想如下:

(1) 五级整数流水线, 分别为取指、译码、执行、访存、回写; (2) 哈佛结构, 程序指令存储和数据存储分开的存储器结构; (3) 32个32位整数寄存器; (4) 大端模式; (5) 采取向量化的异常处理, 预计支持精确的异常处理; (6) 6个外部中断; (7) 能够实现单周期乘法; (8) 支持延迟转移; (9) 兼容MIPS32架构, 预计兼容所有整数指令; (10) 大多数指令在一个周期内完成。

2 模块设计

在数字系统中, 用来描述流水线最佳的方式就是状态机, 所谓状态机, 可以认为是一系列的D触发器外加各种连接而成的模型。

(1) PC模块:该模块的主要作用是给出指令的地址。 (2) IF/ID模块:这个模块只有一个时钟, 简单地在上升沿的时候将取址阶段的结果传递到译码阶段。 (3) Regfile模块:该模块实现32个32为通用整数寄存器, 同时进行2个寄存器的读操作和一个寄存器的写操作。注意, 读寄存器是组合电路, 如果读取的地址发生了变化, 那么需要立即给予新的寄存器地址, 二写寄存器是时序逻辑电路, 必须发生在一个时钟上升沿。 (4) ID模块:这里是译码阶段, 得到应有的类型、子类型, 源操作数1、源操作数2、写入寄存器信息等等。该阶段也是比较重要的一个阶段, 需要做一点说明:所谓译码, 具体实现起来分三个步骤:首先, 判断26-31bit是否为对应的宏定义 (6’b001101) , 如果是, 表明进行的是ori运算;接下来要进行逻辑上的细化, 判断上一模块两个寄存器两个读端口来使用情况。 (5) ID/EX模块:该模块的作用是将上一个模块得到的类型、子类型, 源操作数1、源操作数2、写入寄存器信息传递到下一个EX模块去执行。这里只是一个简单的时序电路, 在每个时钟信号的上升沿将译码阶段的信息传递到执行阶段。 (6) EX模块:本模块为执行阶段。 (7) EX/MEM模块:该模块将运算结果输出到访存阶段, 同样也仅仅是一个时序电路。 (8) MEM模块:该模块就是一个组合逻辑电路, 将输入执行结果直接输出。 (9) MEM/WB模块:该模块与MEM模块的代码很相似, 但是该模块是一个时序电路, 需要在时钟的上升沿时触发。

3 SOPC设计

3.1 顶层模块

构建顶层模块的作用是将上述模块全部进行例化和连接。我们发现, 这个SOPC系统和我们的最终的形态相比, 是有很大的差距的, 至少在接口上就少了许多, 这些接口会随着指令集的增加而逐步增加。

3.2 指令存储器ROM

为了开始验证工作, 我们还的为顶层模块配置一个只读的ROM, 使得我们的Open MIPS处理器能够从中读取指令。

4 测试程序与系统仿真

这几句代码其实是差不多的意思, 我们观察流水线的时候可以观察其中一条也可以放在一起观察, 这里为了直观, 我们采取观察其中一条指令的执行流程 (注:$S0在几乎所有的处理器当中, 一般用来表示常量0, 这里也不例外) 。当然, 这些指令是不能够直接运行的代码, 我们还没有经过编译, 但是这里我们还没有编译环境, 我们先对照前面提到的指令格式来手动编译一下:

5 结语

基于EDA技术的开放式CPU实验平台的软件设计, 充分采用EDA技术进行开发所使用的自顶向下和模块化的开发思想。对设计平台的所使用的开放式CPU进行了合理的功能划分, 并利用现成的MIPS32架构, 缩短了开发周期并取得了良好的效果。

摘要:CPU作为计算机的灵魂, 在计算机系统中起着无可替代的作用。软核CPU设计自然也是相关开放式实验平台的重要环节, 本文深入研究室FPGA逻辑设计的原理和方法, 通过自顶向下和模块化的设计思想, 对实验平台CPU进行了合理地划分, 用verilog hdl语言设计描述出各个逻辑功能模块。通过sopc仿真与硬件测试, 最终实现了完整的CPU功能, 达到了预期的设计目标。

关键词:开放式实验平台,FPGA,软核CPU

参考文献

[1] (美) Arnold S.Berger, 吴为民, 喻文健, 邓澍军, 伍绍贺译.计算机硬件及组成原理[M].机械工业出版社, 2007.

[2]李明刚.64位MPIS微处理器的模块设计和FPGA验证[D].合肥:合肥工业大学电子系, 2005.

FPGA实验箱 第6篇

关键词:FPGA,ARM,嵌入式实验教学改革

嵌入式技术是计算机应用技术的新发展, 具有广泛的应用领域和发展前景, 在通信、国防、工业自动化、计算机设计与应用、仪器仪表等领域的电子系统设计中, 嵌入式技术的含量正以惊人的速度提升。电子类的新技术项目的开发也更多地依赖于嵌入式技术的应用, 作为当前最热门最有发展前途的应用领域之一, 嵌入式人才稀缺, 就业形势看好。嵌入式技术涵盖了机械、控制和通讯等所有现代工程专业的内容, 是目前世界各国进行工程训练、教学实验和研究的最为理想的平台。本文以西安科技大学工程训练中心的FPGA和ARM嵌入式实验教学改革为背景, 通过对传统嵌入式实验教学存在的问题进行分析, 提出了嵌入式实验教学改革的新思路, 旨在形成新的嵌入式技术实践教学体系, 探索工程应用型人才、卓越工程师的培养模式。

一、传统的嵌入式实验教学存在的问题

目前普通高校开设的嵌入式实验课程大多数都有相应的课堂教学, 其主要内容都是涉及教师在课堂上所要求的重点内容, 无法从系统的整体设计上进行考虑。主要存在的问题有:

1. 实验课的重视程度不够。

2. 实验教学内容与社会发展脱节:

在教学过程中, 教学大纲往往得不到及时的更新, 相应教材也得不到及时的更换, 因此出现了教学内容跟不上社会发展对嵌入式人才需求的现象。

3. 学生实践机会少, 动手能力差:

传统的嵌入式实验教学主要是验证性实验, 即使含有设计内容, 也主要是用既定的元器件进行组合电路而成, 学生无法从这样的设计过程中体会到真正的嵌入式技术, 所以, 就会出现学生们对嵌入式系统的系统结构、硬件接口、编程语法都能学得很好, 可是一提到利用嵌入式系统开发产品时, 真正能动手的学生寥寥无几, 出现学知识和用知识脱节的现象。

二、FPGA和ARM的嵌入式实验教学改革内容

1. 嵌入式实践教学体系的建立。

通过对嵌入式技术相关行业的走访调研, 深入了解社会对嵌入式人才的需求情况, 确定具有我校特色的嵌入式技术实践教学体系。首先, 开发立体化教学包, 教学包中包括FPGA和ARM嵌入式技术实训课程教学大纲、实验指导书、电子教案、实训指导、FP-GA/ARM嵌入式实验箱、实验箱的使用说明、教学资源库 (包括:FPGA和ARM系统的技术资料、实验模块的软硬件设计技术资料等) 及实验环节考核系统等, 以适应电类及相关专业的学生进行FPGA和ARM嵌入式技术课程实训, 提高教学质量和教学效果。其次, 将教学内容分为基础篇和提高篇, 基础篇可以满足大一、大二学生工程训练的要求, 让低年级学生获得嵌入式技术全方位的系统化的基础工程训练。提高篇面向三、四年级的创新班和在嵌入式方面有一些基础的大学生, 面对创新项目和电子竞赛题目, 一对一地指导和授课。层次化的教学内容满足了不同年级学生对嵌入式实验的需求, 提升学生的专业知识、创新能力和就业竞争力。最后, 在教学内容的安排上, 为了使学生掌握嵌入式系统软硬件设计, 能运用所学的知识进行各种嵌入式系统的开发, 培养学生软硬件开发的能力。具体教学内容包括:FPGA和ARM嵌入式系统结构、FPGA和ARM嵌入式操作系统、FPGA和ARM的应用软件开发、FPGA和ARM嵌入式系统的开发软件的调试和使用等。根据不同专业的人才培养方案要求, 注重学生动手能力及工程实践能力的培养, 精心设计实验项目, 将与嵌入式相关的课程有机结合起来, 在实验教学中体现理论、实践、能力的有机结合, 形成以课堂讲授+互动讨论+动手实验+科技活动相融合的嵌入式技术实践教学体系。

2. 实验教学方式的改革。

目前, 我校的FPGA和ARM嵌入式技术实训课所使用的实验平台是我们中心自己研发的FPGA/ARM嵌入式实验箱, 通过调研, 兄弟院校也有实验室开嵌入式课程, 但大多都是买市场上成品的嵌入式实验箱如FPGA实验箱等, 功能单一。我们中心自己研发的FP-GA/ARM嵌入式实验箱采用全开放式的模块化设计, 功能单元丰富, 作为实验平台完全能够满足嵌入式实验的教学要求。在实验教学中融入了“模块化”、“自主化”、“工程化”的思想, 帮助学生系统地完成从简单数字电路实验到各种复杂数字系统的设计。例如, 利用实验箱里已有的模块如FPGA最小系统、液晶显示模块等搭建一个智能小车系统, 学生处理用已有的资源外, 要自己制作或去电子市场购买车体, 还需要一下外围电路模块, 如电机驱动模块等, 学生可以自己制作。从硬件设计开始做起, 培养学生制作电路原理图、电路PCB图, 经过PCB制版, 然后在自己做的PCB板上焊接元器件。再经过硬件调试, 在调试好的电路板上开发设计程序, 逐渐完成硬件功能的调试分析到软件编程的调试运行。整个一个过程下来, 学生对FPGA嵌入式系统有了更深层次的理解, 也更好地提高了学生的创新思维和实践能力。

3. 实验教学改革实施效果。

将本次教学改革在全校的公选课上试行, 通过对60名参加FPGA和ARM嵌入式技术选修课程学习的学生的问卷调查发现, 学生对改革后的FP-GA/ARM嵌入式实验课程感到满意的为97%, 对实验环节是否能激发学生的创新思维的认可程度为90%, 对综合性实验感到收获很大的为84%。通过采用新的教学体系、内容和方法, 大大提高了学生的学习兴趣, 许多学生都能够主动地查找与实例相关的教学内容, 包括硬件连接、寄存器设置、程序代码的编写, 提高了学生主动学习的能力;通过已有的实验模块, 引导学生开发新的实验模块, 搭建嵌入式系统应用平台, 既能够补充新的嵌入式系统知识、提高学生动手能力, 又能够为学校节省经费;通过嵌入式实验的课堂培训, 大大提高了学生动手能力, 激发了学生对嵌入式技术的求知欲, 鼓励学生多实践, 参加学校组织的电子竞赛, 并有机会参与到教师的课题研究中来。在学生毕业就业时, 学生的就业率和就业质量也得到了大大的提高。

本文针对当前FPGA和ARM嵌入式实验教学中存在的“实验设备、实验教材及内容针对性、实用性不强, 不能满足教学和社会需求”等实际问题进行研究与实践, 从教学内容、教学方式、实践环节几方面提出了嵌入式实验教学的新思路, 实践证明, 上述嵌入式实验教学改革方案对提高学生的学习积极性、动手能力、创新能力和运用能力都有很好的作用和效果。

参考文献

[1]郑伟.“嵌入式系统设计技术”课程模式转变及教改研究[J].电气电子教学学报, 2009, (S1) :47-49.

[2]党元一.嵌入式课程中项目教学法的应用研究与实践[J].中国电力教育, 2011, (2) :86-87.

[3]罗钧, 廖红华, 付丽, 黄勇.嵌入式实验教改与创新性人才培养的关系[J].实验室研究与探索, 2006, 25 (8) :958-959.

上一篇:盈余管理程度下一篇:优越性分析论文