CN104133659A - 寄存器的空间结构 - Google Patents

寄存器的空间结构 Download PDF

Info

Publication number
CN104133659A
CN104133659A CN201410367752.1A CN201410367752A CN104133659A CN 104133659 A CN104133659 A CN 104133659A CN 201410367752 A CN201410367752 A CN 201410367752A CN 104133659 A CN104133659 A CN 104133659A
Authority
CN
China
Prior art keywords
controller
register
base address
space
logic
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
CN201410367752.1A
Other languages
English (en)
Other versions
CN104133659B (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.)
Huzhou YingLie Intellectual Property Operation Co.,Ltd.
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
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 Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201410367752.1A priority Critical patent/CN104133659B/zh
Publication of CN104133659A publication Critical patent/CN104133659A/zh
Application granted granted Critical
Publication of CN104133659B publication Critical patent/CN104133659B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提出了一种寄存器的空间结构,在寄存器的空间内保存有控制器,所述寄存器的空间内还保存有控制器列表,所述控制器列表记录各个控制器的基地址和逻辑ID值。当驱动软件在FPGA上初始化时即可读取到所述控制器列表中的各个控制器的基地址信息和逻辑ID值。这样,就不需要在驱动软件的源代码中定义每个控制器的基地址和逻辑ID值。当控制器的基地址变更或在寄存器中新增控制器时,也不需要同步像现有技术那样去修改驱动软件的源代码。

Description

寄存器的空间结构
技术领域
本发明涉及一种寄存器的空间结构,尤其是逻辑功能数字集成电路的寄存器的空间结构。
背景技术
FPGA(Field-Programmable Gate Array,现场可编程门阵列)是可以根据各自需要而自行构造逻辑功能的数字集成电路。从软件驱动的角度看,是按照指定规则操作FPGA提供的寄存器来实现相应的逻辑功能,比如i2c(Inter-Integrated Circuit,内部集成电路)、spi(Serial PeripheralInterface,串行外设接口)、mdio(Management Data Input/Output,管理数据输入输出)、或IO(Input/Output,输入输出)扩展端口等逻辑功能。也就是FPGA编程实现了类似处理器芯片中各逻辑功能模块的控制器。驱动软件通过操作寄存器中的控制器来实现所需要的逻辑功能。
驱动软件看到的是实现了不同逻辑功能的控制器的寄存器上下文。寄存器地址的定位为FPGA的基地址+控制器的基地址+控制器内偏移地址。FPGA的基地址是分配给FPGA芯片的寄存器地址空间首地址;控制器的基地址是FPGA内部实现时分配给某控制器(即某个逻辑功能模块)的寄存器空间的首地址,该地址是相对FPGA基地址的偏移值;控制器内偏移地址是控制器内部实现时,寄存器相对于控制器基地址的偏移值。
当前驱动软件的实现,通常在源代码定义控制器的基地址。控制器的基地址常常可能会出现变更,例如:1)所扩展端口规格增加;2)所扩展逻辑功能的数目增加。当控制器的基地址变更时,驱动软件需要同步作修改,因为驱动软件版本需要和FPGA版本配套才能正确完成功能,否则,会出现不匹配的错误控制操作。而且,如果一个系列的多个产品,尤其不同产品的寄存器中的基地址不同,则驱动软件的源代码也会出现不同,一套相同源代码的驱动软件无法应用于不同产品上,这给软件开发带来难度。
发明内容
本发明需解决的技术问题是提供一种当控制器的基地址发生变更或新增控制器后,驱动软件不用修改也可支持使用的寄存器的空间结构。
为解决上述的技术问题,本发明设计了一种寄存器的空间结构,在寄存器的空间内保存有控制器,所述寄存器的空间内还保存有控制器列表,所述控制器列表记录各个控制器的基地址和逻辑ID值。
作为本发明进一步改进,所述控制器列表保存在所述寄存器的空间的末尾。
作为本发明进一步改进,所述寄存器的空间的开始处保存有控制器列表寻址控制器。
作为本发明进一步改进,所述控制器列表寻址控制器记录所述控制器列表的基地址和逻辑ID值。
作为本发明进一步改进,所述相邻的控制器之间不设保留空间。
作为本发明进一步改进,所述控制器列表的各个控制器的基地址的排列顺序是递减的。
本发明在寄存器中增加一控制器列表,该控制器列表记录了各个控制器的基地址和逻辑ID值,驱动软件在FPGA上初始化时即可读取到该控制器列表中的各个控制器的基地址信息和逻辑ID值。这样,就不需要在驱动软件的源代码中定义每个控制器的基地址和逻辑ID值。当控制器的基地址变更或在寄存器中新增控制器时,也不需要同步像现有技术那样去修改驱动软件的源代码。由于驱动软件的源代码不需要定义各个控制器的基地址和逻辑ID值相关信息,因而,不需要现有技术因为不同产品中的控制器的基地址和逻辑ID值不同而研发不同的驱动软件,一套驱动软件可以应用于多个产品,为驱动软件开发带来便利。
附图说明
图1是本发明实施例寄存器的空间以及控制器列表的结构图。
具体实施方式
为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合附图和本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
本发明提供了一种寄存器的空间结构,其中新增控制器列表,所述控制器列表记录各个控制器的基地址和逻辑ID值。当驱动软件在FPGA上初始化时即可读取到该控制器列表的各个控制器的基地址信息和逻辑ID值,驱动软件获取到各个控制器的基地址和逻辑ID值,即可操作寄存器中的控制器来实现所需要的逻辑功能。
如图1所示,为本发明寄存器的空间结构的一种实施例,在本实施例中,寄存器的空间内保存有各个控制器,如:FPGA版本信息控制器、I2C控制器1、I2C控制器2、MDIO控制器1等等。各个控制器即为实现不同功能的逻辑功能模块,操作各个控制器即可实现相应的逻辑功能。在本实施例中,相邻的控制器之间不设保留空间,而是紧密排列地保存在寄存器的空间内,因而不会造成寄存器空间的浪费,可多节省下未使用的空间用于扩展新的控制器。
请再参考图1所示,在本实施例中,在寄存器的空间的末尾处保存控制器列表。该控制器列表记录以上各个控制器的基地址和逻辑ID值,如记录FPGA版本信息控制器的基地址为8和逻辑ID值为1、I2C控制器1的基地址为24和逻辑ID值为2、等等。所述控制器列表的各条记录是按照基地址的排列顺序是递减的,即自基地址1024处递减的方向保存各个控制器的基地址和逻辑ID值。本发明各个控制器的基地址和逻辑ID值根据开发人员的设计而定,以上列举的基地址和逻辑ID值只是举例说明而不限于此分配设计。
控制器列表也是一种逻辑功能模块,因而,在所述寄存器的空间的开始处保存有控制器列表寻址控制器。该控制器列表寻址控制器记录所述控制器列表的基地址和逻辑ID值。在本实施例中,所述控制器列表的基地址为1024,逻辑ID值可随意定义为一个无法识别的值,如0x12345678。当驱动软件首先读取寄存器空间,即可得到根据控制器列表寻址控制器的记录信息得到控制器列表的基地址,碰到无法识别的逻辑ID值,跳过不处理。
本发明在寄存器中增加一控制器列表,各个控制器的基地址信息和逻辑ID值可以从这个控制器列表获取到,因而,不需要在驱动软件的源代码中去定义,因而在新增控制器和现有的控制器基地址变更时,相应匹配修改控制器列表即可,不需修改驱动软件的源代码;同时,各个控制器的基地址也不需要固定分配,可根据情况相应地调整。由于驱动软件的源代码不需要定义各个控制器的基地址和逻辑ID值相关信息,因而,不需要因为不同产品中的控制器的基地址和逻辑ID值不同而研发不同的驱动软件,一套驱动软件可以应用于多个产品。
本发明寄存器的空间结构不仅适用于FPGA中,还可应用于CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)中,以及其他逻辑器件中。
以上仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种寄存器的空间结构,在寄存器的空间内保存有控制器,其特征在于,所述寄存器的空间内还保存有控制器列表,所述控制器列表记录各个控制器的基地址和逻辑ID值。
2.根据权利要求1所述寄存器的空间结构,其特征在于,所述控制器列表保存在所述寄存器的空间的末尾。
3.根据权利要求2所述寄存器的空间结构,其特征在于,所述寄存器的空间的开始处保存有控制器列表寻址控制器。
4.根据权利要求3所述寄存器的空间结构,其特征在于,所述控制器列表寻址控制器记录所述控制器列表的基地址和逻辑ID值。
5.根据权利要求1所述寄存器的空间结构,其特征在于,所述相邻的控制器之间不设保留空间。
6.根据权利要求1所述寄存器的空间结构,其特征在于,所述控制器列表按照基地址递减的顺序保存各个控制器的基地址和逻辑ID值。
CN201410367752.1A 2014-07-30 2014-07-30 寄存器的空间结构 Active CN104133659B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410367752.1A CN104133659B (zh) 2014-07-30 2014-07-30 寄存器的空间结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410367752.1A CN104133659B (zh) 2014-07-30 2014-07-30 寄存器的空间结构

Publications (2)

Publication Number Publication Date
CN104133659A true CN104133659A (zh) 2014-11-05
CN104133659B CN104133659B (zh) 2018-07-17

Family

ID=51806348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410367752.1A Active CN104133659B (zh) 2014-07-30 2014-07-30 寄存器的空间结构

Country Status (1)

Country Link
CN (1) CN104133659B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457198A (zh) * 2018-05-07 2019-11-15 龙芯中科技术有限公司 调试信息输出方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010666B1 (en) * 2003-01-06 2006-03-07 Altera Corporation Methods and apparatus for memory map generation on a programmable chip
CN103678187A (zh) * 2012-09-11 2014-03-26 北京兆易创新科技股份有限公司 一种微控制单元及其控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010666B1 (en) * 2003-01-06 2006-03-07 Altera Corporation Methods and apparatus for memory map generation on a programmable chip
CN103678187A (zh) * 2012-09-11 2014-03-26 北京兆易创新科技股份有限公司 一种微控制单元及其控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗晶等: "《ADμC706x系列ARM微控制器原理及应用》", 30 November 2012 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457198A (zh) * 2018-05-07 2019-11-15 龙芯中科技术有限公司 调试信息输出方法、装置及存储介质

Also Published As

Publication number Publication date
CN104133659B (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
US11042297B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
US10089105B2 (en) Systems and methods for bios update optimization
CN104350546A (zh) 行锤击刷新命令
US10572397B2 (en) Masking storage device presence
CN105703765A (zh) 基于dram的可重构逻辑
US10061708B2 (en) Mapped region table
WO2015133987A1 (en) High voltage tolerant word-line driver
US20140365724A1 (en) System and method for converting disk partition format
US20140149616A1 (en) I2c bus structure and address management method
US9378027B2 (en) Field-programmable module for interface bridging and input/output expansion
CN104133659A (zh) 寄存器的空间结构
CN102354275A (zh) 一种文字输入框及其数据处理方法
CN105260266A (zh) 一种快照卷写方法及依赖快照系统
CA2830868C (en) A digital netlist partitioning system for faster circuit reverse-engineering
US9667254B2 (en) Electronic device assembly
CN103020010A (zh) 嵌入式系统存储架构
AU2015371556A1 (en) Method for accessing a number of slave devices with registers by a master device over a network
CN104508636B (zh) 数据管理设备、系统和方法
CN103544079A (zh) 基于可编程控制器实现闪存芯片数据恢复的系统及方法
CN108037964A (zh) 一种设置分辨率的方法、存储介质及智能设备
US10261899B2 (en) Method, device and system for data processing using dedicated mapping between logical and physical addresses
US8400870B2 (en) Memory devices and accessing methods thereof
US11030976B2 (en) Image combination device and display system comprising the same
CN103809972A (zh) 一种信息处理方法及电子设备
CN103365807A (zh) 密保总线系统及其实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201127

Address after: 313021 industrial function area of Donglin Town, Huzhou City, Zhejiang Province

Patentee after: ZHEJIANG YUANTE NEW MATERIAL Co.,Ltd.

Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666

Patentee before: Phicomm (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211124

Address after: 313000 room 1019, Xintiandi commercial office, Yishan street, Wuxing District, Huzhou, Zhejiang, China

Patentee after: Huzhou YingLie Intellectual Property Operation Co.,Ltd.

Address before: 313021 industrial functional zone, Donglin Town, Huzhou City, Zhejiang Province

Patentee before: ZHEJIANG YUANTE NEW MATERIAL CO.,LTD.