CN1545036A - Fpga逻辑程序下载装置 - Google Patents

Fpga逻辑程序下载装置 Download PDF

Info

Publication number
CN1545036A
CN1545036A CNA2003101135493A CN200310113549A CN1545036A CN 1545036 A CN1545036 A CN 1545036A CN A2003101135493 A CNA2003101135493 A CN A2003101135493A CN 200310113549 A CN200310113549 A CN 200310113549A CN 1545036 A CN1545036 A CN 1545036A
Authority
CN
China
Prior art keywords
fpga
cpu
logic
program
download
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2003101135493A
Other languages
English (en)
Other versions
CN1299209C (zh
Inventor
闯 汤
汤闯
柯楚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinjiang high and new technology development office
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2003101135493A priority Critical patent/CN1299209C/zh
Publication of CN1545036A publication Critical patent/CN1545036A/zh
Application granted granted Critical
Publication of CN1299209C publication Critical patent/CN1299209C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Abstract

本发明公开了一种计算机领域中的FPGA逻辑程序下载装置及方法,采用通用的PROM、Flash等构成逻辑存储器(104),用于存储FPGA(105)的逻辑程序,通过CPU(103)访问预先设定的寄存器内容来判断是否需要对FPGA(105)进行逻辑下载,如果需要对FPGA(105)进行逻辑下载,则从逻辑存储器(104)中读出数据下载到FPGA(105)中,从而完成CPU(103)对FPGA(105)进行逻辑下载的设计,同时可以避免CPU(103)异常复位后导致FPGA(105)逻辑重新下载引起的异常情况,占用资源小,方案简单可靠,成本低,实现周期短。

Description

FPGA逻辑程序下载装置
技术领域
本发明涉及计算机领域,尤其涉及在使用现场可编程逻辑阵列电路中采用CPU下载FPGA逻辑方法。
背景技术
随着科技的发展,现场可编程逻辑阵列FPGA(Field Programmable GateArray)的性价比越来越高,从而使得FPGA在越来越多的领域得到大规模应用。在FPGA电路中,一般会需要外部存储单元保存FPGA的逻辑程序,在系统上电或特定需求时从存储单元将逻辑程序下载到FPGA里,才能使得FPGA完成所设计的功能。对FPGA的逻辑程序下载有多种方法,比较简单的方法是采用FPGA厂家提供的专用PROM或EEPROM进行下载,该方法是将逻辑程序存在专用PROM或EEPROM中,在上电时由该专用PROM或EEPROM将逻辑程序下载到FPGA中。该方法的缺点是所用的专用PROM或EEPROM是由FPGA厂家提供,具有垄断性,价格比较高,如果大量使用会增加成本。因此,目前较为常见的另外一种方法是,使用价格便宜且比较通用的存储器来存储FPGA逻辑程序,例如Flash或通用的PROM,然后通过某种方法将存储器中保存的逻辑程序加载到FPGA中,从而实现对FPGA的下载,例如采用CPU读出存储器中的内容然后下载到FPGA里,通过这种方法对FPGA进行逻辑下载,不但成本低,而且操作灵活。但是采用CPU从存储器中读出逻辑程序对FPGA进行逻辑下载的方式,由于经常出现异常中断、程序跑飞等情况,将会导致CPU复位,使得CPU程序重新被执行,从而导致系统在没有重新加电情况下对FPGA再次下载,这样可能会导致某些异常情况出现,如FPGA内部寄存器被重置、FPGA管脚呈高阻不确定状态,从而使得系统无法正常工作。
发明内容
本发明的目的是克服现有技术存在的在采用CPU对FPGA程序下载中因CPU复位导致的异常情况,以期提供一种能够有效避免异常情况的发生、提高FPGA逻辑下载稳定性的FPGA逻辑程序下载装置。
为实现上述目的,本发明构造了一种FPGA逻辑程序下载装置,包括FPGA(105)、CPU系统和外围电路(106),所述CPU系统进一步包括CPU(103)、应用程序存储器ROM(102)和RAM(101);所述应用程序存储器ROM(102)和RAM(101)存储所述CPU(103)的应用程序;
所述FPGA(105)的逻辑程序存放于所述CPU(103)内部的程序存储空间中,也可以存储在所述应用程序存储器ROM(102)中,还可以由所述逻辑存储器(104)存储,该逻辑存储器(104)采用如PROM、Flash等通用的存储器进行存储;
所述FPGA(105)的下载管脚与所述CPU(103)相连,而且所述CPU(103)的地址、数据管脚也与所述FPGA(105)相连,所述外围电路(106)与所述CPU系统和FPGA(105)根据实际需求进行连接;
所述FPGA(105)通过所述CPU(103)访问所述逻辑存储器(104),所述CPU(103)从所述逻辑存储器(104)中读出内容并按照所述FPGA(105)所需的格式、时序通过所述FPGA(105)的下载管脚将逻辑程序下载到所述FPGA(105)中,完成所述CPU(103)对所述FPGA(105)的逻辑下载。
所述FPGA(105)中设有一个特定地址及该地址的寄存器内容,该寄存器的内容预先确定,称为预期值,且该地址的寄存器内容在下载所述FPGA(105)之前和下载所述FPGA(105)之后不同。
本发明还提出了一种FPGA逻辑程序下载方法,其特征在于,包括以下步骤:
(1)当CPU(103)需要对FPGA(105)进行逻辑下载时先访问所述FPGA(105)中的特定地址;
(2)检查该地址寄存器内容是否与预期值相同,如果相同,则表示FPGA(105)的逻辑已下载,转步骤(6);否则表示FPGA(105)逻辑还未下载,继续流程;
(3)启动下载步骤完成对FPGA(105)逻辑下载工作;
(4)CPU(103)先从逻辑存储器(104)读出数据;
(5)CPU(103)根据数据内容以及FPGA(105)下载所需要的时序、格式设置FPGA(105)下载管脚的电平,如果FPGA(105)的逻辑程序较大,则多次重复上面步骤(4)、(5)完成对FGPA(105)的逻辑下载;
(6)结束流程。
采用本发明所述方法,采用通用的PROM、Flash等构成逻辑存储器(104),用于存储FPGA(105)的逻辑程序,通过CPU(103)访问预先设定的寄存器内容来判断是否需要对FPGA(105)进行逻辑下载,如果需要对FPGA(105)进行逻辑下载,则从逻辑存储器(104)中读出数据下载到FPGA(105)中,从而完成CPU(103)对FPGA(105)进行逻辑下载的设计,同时可以避免CPU(103)异常复位后导致FPGA(105)逻辑重新下载引起的异常情况,占用资源小,方案简单可靠,成本低,实现周期短。
附图说明:
图1是本发明所述FPGA逻辑程序下载装置结构图。
图2是本发明所述FPGA逻辑程序下载方法流程图。
图3是作为本发明一个具体实施方式的装置结构图。
图4是需要对FPGA进行逻辑下载方法流程图。
图5是不需要对FPGA进行逻辑下载处理流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步的描述。
图1是一种采用CPU对FPGA进行逻辑下载的原理框图。
CPU系统通常包括CPU(103)、应用程序存储器ROM(102)、RAM(101)几个部分,FPGA(105)的逻辑程序采用通用的逻辑存储器(104)进行存储。如果应用程序存储器容量大,可以将应用程序与FPGA(105)逻辑程序同时存于相同的器件之中。FPGA(105)的下载管脚与CPU系统相连,而且CPU系统的地址、数据管脚也与FPGA(105)相连,其它外围电路106与CPU系统、FPGA(105)的连接根据实际需求进行设计。
FPGA(105)的逻辑存储器(104)可以是价格便宜且通用的PROM、Flash等,此外,如果CPU(103)的程序存储器有多余的空间,也可将逻辑程序存放于CPU(103)的程序存储器中,这样更节省成本和简化相关的电路设计。逻辑存储器(104)通过CPU(103)来进行访问,另外CPU系统要与FPGA(105)的相关下载管脚相连,同时CPU(103)的数据、地址管脚也需要与FPGA(105)相连。编写CPU(103)的应用程序,使CPU(103)从逻辑存储器中读出内容并按照FPGA(105)所需的格式、时序通过FPGA(105)的下载管脚将逻辑程序下载到FPGA(105)中(不同厂家的FPGA(105)需要的时序、格式可参照FPGA(105)的资料进行设计),这样便完成CPU(103)对FPGA(105)的逻辑下载。为了保证CPU(103)异常复位后不会重新下载FPGA(105),需要在进行FPGA(105)逻辑设计时设定一个地址及该地址的寄存器内容,该寄存器的内容预先确定,称为预期值,且该地址的寄存器内容在下载FPGA(105)之前和下载FPGA(105)之后要不同。当CPU(103)需要对FPGA(105)进行逻辑下载时先访问该地址,检查该地址寄存器内容是否与预期值相同,如果相同,则表示FPGA(105)的逻辑已下载,否则,表示FPGA(105)逻辑还未下载,从而启动下载步骤完成对FPGA(105)逻辑下载工作。通过这样的设计,如果CPU(103)复位后重新运行程序,就可避免对FPGA(105)进行重新加载,同时避免对FPGA(105)进行加载时FPGA(105)逻辑功能未启动导致系统出现异常情况。
图2所示内容即为完成本发明处理的流程。
根据图1所示的原理框图进行电路设计,然后设计FPGA(105)的逻辑程序,在进行FPGA(105)逻辑设计中需要为CPU(103)提供一个可访问的地址Addr_1,并且确定该地址的寄存器内容为预期值Reg_1。编写CPU(103)的应用程序,其中访问地址Addr_1,获取该地址的寄存器内容为Reg_2,将Reg_2与该地址的预期值Reg_1进行比较,如果二者不相同,则从逻辑存储器(104)中读取数据,根据FPGA(105)的下载时序通过FPGA(105)的下载管脚将逻辑程序下载到FPGA(105),如果Reg_1与Reg_2相同,则不对FPGA(105)进行逻辑下载。
图3是采用CPU(103)对FPGA(105)进行逻辑下载方法,逻辑程序存储器采用AM29LV800BB-90E,CPU(103)的应用程序采用SST39VF010-70,CPU(103)采用AMD公司的AM186CC,FPGA(105)采用Xilinx公司的XC2S300E-6,RAM采用CY7C1041BV33-15EC,FPGA(105)和CPU(103)对激光器、CDR进行控制。
按照图3的原理框图完成电路设计,在进行电路设计时确定FPGA(105)未下载时地址8003的寄存器内容为0x03。对FPGA(105)进行逻辑设计,其中要包括设计地址8003,使地址的寄存器内容为0xA9,0xA9即为预期值。
图4是需要对FPGA(105)进行逻辑下载的处理流程。编写CPU(103)的应用程序,对地址8003进行访问,访问该地址的寄存器内容为0x03,由于所获得的寄存器值0x03与预期值0xA9不同,则CPU(103)就会认为FPGA(105)没有进行逻辑下载,于是CPU(103)从逻辑存储器(104)中读出数据,然后根据FPGA(105)所需要的格式、时序设置FPGA(105)下载管脚的电平,从而将逻辑程序下载到FPGA(105)中。FPGA(105)完成逻辑下载后,即可对激光器等外围器件进行控制和处理,实现激光器所传递的业务。
图5是不需要对FPGA(105)进行逻辑下载的处理流程。如果对CPU(103)进行复位,则CPU(103)程序重新被执行,当CPU(103)访问地址8003获得该地址寄存器内容为0xA9,由于所获得的寄存器值0xA9与预期值0xA9相同,则CPU(103)认为FPGA(105)已进行了逻辑下载,CPU(103)就跳过逻辑下载步骤,避免重新下载FPGA(105),从而可以避免重新下载FPGA(105)引起FPGA(105)所控制的激光器关断,导致激光器传递的业务中断。

Claims (7)

1、一种FPGA逻辑程序下载装置,包括FPGA(105)、CPU系统和外围电路(106),所述CPU系统进一步包括CPU(103)、应用程序存储器ROM(102)和RAM(101);其特征在于,所述应用程序存储器ROM(102)和RAM(101)存储所述CPU(103)的应用程序;所述FPGA(105)的逻辑程序存放于所述CPU(103)内部的程序存储空间中;所述FPGA(105)的下载管脚与所述CPU(103)相连,而且所述CPU(103)的地址、数据管脚也与所述FPGA(105)相连,所述外围电路(106)与所述CPU系统和FPGA(105)根据实际需求进行连接;
所述FPGA(105)通过所述CPU(103)访问所述逻辑存储器(104),所述CPU(103)从所述逻辑存储器(104)中读出内容并按照所述FPGA(105)所需的格式、时序通过所述FPGA(105)的下载管脚将逻辑程序下载到所述FPGA(105)中,完成所述CPU(103)对所述FPGA(105)的逻辑下载。
2、根据权利要求1所述的FPGA逻辑程序下载装置,其特征在于,所述FPGA(105)的逻辑程序存放所述应用程序存储器ROM(102)中。
3、根据权利要求1所述的FPGA逻辑程序下载装置,其特征在于,所述FPGA(105)的逻辑程序由所述逻辑存储器(104)存储。
4、根据权利要求3所述的FPGA逻辑程序下载装置,其特征在于,所述逻辑存储器(104)采用通用的存储器进行存储。
5、根据权利要求1所述的FPGA逻辑程序下载装置,其特征在于,所述FPGA(105)中设有一个特定地址及该地址的寄存器内容,该寄存器的内容预先确定,称为预期值,且该地址的寄存器内容在下载所述FPGA(105)之前和下载所述FPGA(105)之后不同。
6、一种FPGA逻辑程序下载方法,其特征在于,包括以下步骤:
(1)当CPU(103)需要对FPGA(105)进行逻辑下载时先访问所述FPGA(105)中的特定地址;
(2)检查该地址寄存器内容是否与预期值相同,如果相同,则表示FPGA(105)的逻辑已下载,转步骤(6);否则表示FPGA(105)逻辑还未下载,继续流程;
(3)启动下载步骤完成对FPGA(105)逻辑下载工作;
(4)CPU(103)先从逻辑存储器(104)读出数据;
(5)CPU(103)根据数据内容以及FPGA(105)下载所需要的时序、格式设置FPGA(105)下载管脚的电平;
(6)结束流程。
7、根据权利要求6所述的FPGA逻辑程序下载方法,其特征在于,在步骤(5)中,如果FPGA(105)的逻辑程序较大,则多次重复上面步骤(4)、(5)完成对FGPA(105)的逻辑下载。
CNB2003101135493A 2003-11-17 2003-11-17 Fpga逻辑程序下载装置及方法 Expired - Fee Related CN1299209C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2003101135493A CN1299209C (zh) 2003-11-17 2003-11-17 Fpga逻辑程序下载装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2003101135493A CN1299209C (zh) 2003-11-17 2003-11-17 Fpga逻辑程序下载装置及方法

Publications (2)

Publication Number Publication Date
CN1545036A true CN1545036A (zh) 2004-11-10
CN1299209C CN1299209C (zh) 2007-02-07

Family

ID=34336913

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101135493A Expired - Fee Related CN1299209C (zh) 2003-11-17 2003-11-17 Fpga逻辑程序下载装置及方法

Country Status (1)

Country Link
CN (1) CN1299209C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407143C (zh) * 2005-04-19 2008-07-30 华为技术有限公司 校验可编程逻辑器件中软件版本的方法
CN101988950A (zh) * 2009-08-04 2011-03-23 中兴通讯股份有限公司 可编程逻辑器件中逻辑程序下载状态的检测方法及装置
CN102043636A (zh) * 2009-10-19 2011-05-04 中兴通讯股份有限公司 现场可编程门阵列位文件下载的方法及装置
CN103970565A (zh) * 2014-04-24 2014-08-06 浪潮电子信息产业股份有限公司 一种服务器系统中fpga多途径下载配置实现方法
CN106200457A (zh) * 2016-06-28 2016-12-07 中车株洲电力机车研究所有限公司 一种程序下载方法及装置
CN110888835A (zh) * 2019-11-20 2020-03-17 苏州芒果树数字技术有限公司 一种基于cpu和fpga并行处理的开发环境系统及运行方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327634B1 (en) * 1998-08-25 2001-12-04 Xilinx, Inc. System and method for compressing and decompressing configuration data for an FPGA
KR100443918B1 (ko) * 2002-01-25 2004-08-09 삼성전자주식회사 원격 에프피지에이 프로그램 업그레이드 방법
CN1168019C (zh) * 2002-08-30 2004-09-22 清华大学 现场可编程门阵列程序在线升级系统及其实现方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407143C (zh) * 2005-04-19 2008-07-30 华为技术有限公司 校验可编程逻辑器件中软件版本的方法
CN101988950A (zh) * 2009-08-04 2011-03-23 中兴通讯股份有限公司 可编程逻辑器件中逻辑程序下载状态的检测方法及装置
CN101988950B (zh) * 2009-08-04 2013-02-27 中兴通讯股份有限公司 可编程逻辑器件中逻辑程序下载状态的检测方法及装置
CN102043636A (zh) * 2009-10-19 2011-05-04 中兴通讯股份有限公司 现场可编程门阵列位文件下载的方法及装置
CN103970565A (zh) * 2014-04-24 2014-08-06 浪潮电子信息产业股份有限公司 一种服务器系统中fpga多途径下载配置实现方法
CN106200457A (zh) * 2016-06-28 2016-12-07 中车株洲电力机车研究所有限公司 一种程序下载方法及装置
CN106200457B (zh) * 2016-06-28 2019-07-26 中车株洲电力机车研究所有限公司 一种程序下载方法及装置
CN110888835A (zh) * 2019-11-20 2020-03-17 苏州芒果树数字技术有限公司 一种基于cpu和fpga并行处理的开发环境系统及运行方法
CN110888835B (zh) * 2019-11-20 2023-10-27 苏州芒果树数字技术有限公司 一种基于cpu和fpga并行处理的开发环境系统及运行方法

Also Published As

Publication number Publication date
CN1299209C (zh) 2007-02-07

Similar Documents

Publication Publication Date Title
CN109783117B (zh) 一种无盘系统的镜像文件制作及启动方法
US8121994B2 (en) Partially embedded database and an embedded database manager for a control system
US20010047472A1 (en) System and method for altering an operating system start-up sequence prior to operating system loading
US8286154B2 (en) Apparatus and method for live loading of version upgrades in a process control environment
US7753281B2 (en) System and method of updating a first version of a data file in a contactless flash memory device
US20050086551A1 (en) Memory optimization for a computer system having a hibernation mode
US7251808B2 (en) Graphical debugger with loadmap display manager and custom record display manager displaying user selected customized records from bound program objects
WO2007117514A1 (en) Mobile device capable of multiple updates
CN103154900A (zh) 编入程序更新方法、编入程序更新程序、电子设备、网络系统
CN107870769A (zh) 操作系统的安装方法及装置
CN111049889B (zh) 一种静态资源上传方法、装置、集成服务器和系统
CN1299209C (zh) Fpga逻辑程序下载装置及方法
US8010576B2 (en) Inventory and configuration management
US20060037013A1 (en) Program update apparatus, method, and medium
CN116954752A (zh) 一种差异化系统配置、加载方法、装置及计算机设备
US10809996B2 (en) Method and device for creating images of different installation and download software units
JP2003131880A (ja) 情報処理装置、プログラム起動方法及び起動制御プログラム
CN114116030A (zh) 操作系统的运行方法、装置、电子设备、存储介质
CN112631637B (zh) 基于rtos的ota升级方法、系统、设备及存储介质
JP2008059482A (ja) 情報処理装置、情報処理方法
CN117453151B (zh) Nor-flash驱动开发方法、装置与计算机设备
CN117909272A (zh) 串行总线的传输速率设置方法、装置及图像信号发生器
KR100970933B1 (ko) 오퍼레이팅 시스템의 고속 부팅장치 및 방법
CN1222874C (zh) 动态链接的电脑系统中扩增程序功能的方法
CN105095514A (zh) 一种用于浏览器预加载的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: JINJIANG HIGH-TECH DEVELOPMENT OFFICE

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20131107

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 362200 QUANZHOU, FUJIAN PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20131107

Address after: Jinjiang City, Fujian province 362200 Chongde road Quanzhou City No. 283 friends Jade Technology Building

Patentee after: Jinjiang high and new technology development office

Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department

Patentee before: ZTE Corporation

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070207

Termination date: 20161117

CF01 Termination of patent right due to non-payment of annual fee