CN110825667A - 一种低速io设备控制器的设计方法和结构 - Google Patents
一种低速io设备控制器的设计方法和结构 Download PDFInfo
- Publication number
- CN110825667A CN110825667A CN201911100654.0A CN201911100654A CN110825667A CN 110825667 A CN110825667 A CN 110825667A CN 201911100654 A CN201911100654 A CN 201911100654A CN 110825667 A CN110825667 A CN 110825667A
- Authority
- CN
- China
- Prior art keywords
- speed
- low
- pins
- controller
- module
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Programmable Controllers (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种低速IO设备控制器的设计方法和结构,将多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合为控制器模块,所述控制器模块只控制一组引脚信息,且同一时刻只有一组控制逻辑对所述引脚的操作有效果,所述控制模块的多个低速IO设备控制器分时复用所述引脚。本发明在逻辑层次实现了芯片引脚的复用,通过设置代码层次的逻辑控制,使得在不同工作模式下,内部使用不同的逻辑来控制对外的引脚,当需要其它功能的时候,通过寄存器配置和可编程逻辑模块的查找表,控制对外输出引脚的时序行为,能在满足多种低速IO设备控制器数量要求下,有效的降低了SoC的引脚数目,最大限度的降低逻辑资源,并提高了使用的灵活性。
Description
技术领域
本发明涉及片上系统低速IO设备控制器领域,更具体的说,涉及一种低速IO设备控制器的设计方法和结构。
背景技术
在嵌入式片上系统(SoC)设计中,为了满足多种应用场景,所需的低速IO设备控制器种类繁多,占据芯片引脚数目也很大,图1为低速IO设备控制器常见的设计结构,每个低速外围设备(即低速IO设备)对应一个相关的控制器,控制器与外围设备之间有多根信号线的交互。在实际应用中,为了满足多个功能需求,对同一个低速IO设备的控制器会例化实现多个,例如,外围设备1的控制器需要实现8个,外围设备2的控制器需要实现4个。但在某些特殊的应用情境下,需要10个外围设备1的控制器,而仅需要2个外围设备2的控制器,若按照上述的设计,则不能满足用户需求。现有技术的解决方法是,根据每个外围设备对各种控制器的最大需求量,来却确定各种低速IO设备控制器的数量,例如,工作场景一需要10个uart控制器和4个i2c控制器;工作场景二需要2个uart控制器和10个i2c控制器,为了满足这两个场景,则需要在SoC中实现10个uart控制器和10个i2c控制器,这样可以满足各种应用场景,但需要在SoC中集成尽可能多的控制器,极大的浪费逻辑资源,且SoC芯片的引脚数目较多。
发明内容
有鉴于此,本发明提出一种低速IO设备控制器的设计方法和结构,能够在满足多种低速IO设备控制器数量的要求下,最大限度的降低逻辑资源和SoC芯片引脚数目,解决了现有技术中极大的浪费逻辑资源,且SoC芯片的引脚数目较多的技术问题。
本发明提供了一种低速IO设备控制器的设计方法,包括:将多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合为控制器模块,所述控制器模块只控制一组引脚信息,且同一时刻只有一组控制逻辑对所述引脚的操作有效果,所述控制模块的多个低速IO设备控制器分时复用所述引脚。
可选的,通过系统内部总线配置寄存器,控制所述控制器模块的配置参数,进而控制低速IO设备的具体工作模式。
可选的,增加了可编程逻辑模块,实现在不同模式时,通过查找可编程逻辑模块,获知当前模式下,内部状态机的跳转方式以及接口信号发送与接收的时序行为方式,从而实现所述低速IO设备的具体工作模式。
可选的,所述控制器模块的多个低速IO设备控制器之间实现部分寄存器和内部缓存空间的共用。
可选的,当系统需要实现某一控制器的功能,则通过系统内部总线配置模式相关的寄存器,将所述控制器模块配置为具有该控制器特性的一组参数。
可选的,所述控制器模块的多个低速IO设备控制器整合在一起复用对外的接口信号,同一时刻只有一个控制器来操作某一接口信号。
可选的,使用不同的逻辑来控制所述引脚,当需要其它功能的时候,通过寄存器配置和可编程逻辑模块的查找表,控制对外输出引脚的时序行为,以达到所述控制模块的多个低速IO设备控制器分时复用所述引脚。
本发明还提供了一种低速IO设备控制器的设计结构,包括:控制器模块、寄存器、可编程逻辑模块、状态机和缓存区,所述控制器模块由多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合而成,通过系统内部总线配置所述寄存器,控制所述控制器模块的配置参数,进而控制低速IO设备的具体工作模式,通过向所述可编程逻辑模块中写入不同值进行查找,实现不同低速IO设备功能的所述状态机的跳转和信号输出的控制,所述缓存区用来存放缓存的数据。
与现有技术相比,本发明之技术方案具有以下优点:本发明的低速IO设备控制器的设计方法将多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合为控制器模块,所述控制器模块只控制一组引脚信息,且同一时刻只有一组控制逻辑对所述引脚的操作有效果,所述控制模块的多个低速IO设备控制器分时复用所述引脚。本发明在逻辑层次实现了芯片引脚的复用,通过设置代码层次的逻辑控制,使得在不同工作模式下,内部使用不同的逻辑来控制对外的引脚,当需要其它功能的时候,通过寄存器配置和可编程逻辑模块的查找表,控制对外输出引脚的时序行为,能在满足多种低速IO设备控制器数量要求下,有效的降低了SoC的引脚数目,最大限度的降低逻辑资源,并提高了使用的灵活性。
附图说明
图1为现有技术低速IO设备控制器的设计结构示意图;
图2为本发明低速IO设备控制器的设计结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细描述,但本发明并不仅仅限于这些实施例。本发明涵盖任何在本发明的精神和范围上做的替代、修改、等效方法以及方案。
为了使公众对本发明有彻底的了解,在以下本发明优选实施例中详细说明了具体的细节,而对本领域技术人员来说没有这些细节的描述也可以完全理解本发明。
在下列段落中参照附图以举例方式更具体地描述本发明。需说明的是,附图均采用较为简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明提供了一种低速IO设备控制器的设计方法,包括:将多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合为控制器模块,所述控制器模块只控制一组引脚信息,且同一时刻只有一组控制逻辑对所述引脚的操作有效果,所述控制模块的多个低速IO设备控制器分时复用所述引脚。
通过系统内部总线配置寄存器,控制所述控制器模块的配置参数,进而控制低速IO设备的具体工作模式。增加了可编程逻辑模块,实现在不同模式时,通过查找可编程逻辑模块,获知当前模式下,内部状态机的跳转方式以及接口信号发送与接收的时序行为方式,从而实现所述低速IO设备的具体工作模式。
所述控制器模块的多个低速IO设备控制器之间实现部分寄存器和内部缓存空间的共用。当系统需要实现某一控制器的功能,则通过系统内部总线配置模式相关的寄存器,将所述控制器模块配置为具有该控制器特性的一组参数。所述控制器模块的多个低速IO设备控制器整合在一起复用对外的接口信号,同一时刻只有一个控制器来操作某一接口信号。
使用不同的逻辑来控制所述引脚,当需要其它功能的时候,通过寄存器配置和可编程逻辑模块的查找表,控制对外输出引脚的时序行为,以达到所述控制模块的多个低速IO设备控制器分时复用所述引脚。
本发明还提供了一种低速IO设备控制器的设计结构,包括:控制器模块、寄存器、可编程逻辑模块、状态机和缓存区,所述控制器模块由多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合而成,通过系统内部总线配置所述寄存器,控制所述控制器模块的配置参数,进而控制低速IO设备的具体工作模式,通过向所述可编程逻辑模块中写入不同值进行查找,实现不同低速IO设备功能的所述状态机的跳转和信号输出的控制,所述缓存区用来存放缓存的数据。
图2示意了本发明低速IO设备控制器的设计结构。所述的低速IO设备控制器的设计结构包括控制器模块、寄存器、可编程逻辑模块、状态机和缓存区,所述控制器模块由多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合而成,通过系统内部总线配置所述寄存器,控制所述控制器模块的配置参数,进而控制低速IO设备的具体工作模式,通过向所述可编程逻辑模块中写入不同值进行查找,实现不同低速IO设备功能的所述状态机的跳转和信号输出的控制,所述缓存区用来存放缓存的数据,进而控制低速IO设备的工作模式。
按照上述设计结构,寄存器配置逻辑主要实现寄存器的配置,选择不同类型硬件功能时,各个寄存器所代表的含义不同,实现了寄存器的多功能复用,降低了硬件资源。低速外围IO设备接口逻辑,实现不同硬件控制器之间的接口信号线的复用功能,极大的降低了SoC的引脚数目。
每个控制器对外引脚数量是特定的,SoC需要的控制器数量越多,芯片对外的引脚越多。
具体的,在SoC设计中,可以将多个引脚数目相近,接口时序逻辑类似的控制器整合为一个控制器模块,该控制器模块对外只控制一组引脚信息,同一时刻,控制器模块内部只有一组控制逻辑对这组引脚的操作有效果,多个外设的控制器之间根据系统要求,分时复用这些对外引脚。例如,我们例化14个某一控制器作为控制器模块,工作场景一的时候,将其中10个控制器配置为uart控制器模式,4个控制器配置为i2c控制器模式;工作场景二的时候,系统可以将所述控制器模块中的2个控制器配置为uart控制器模式,10个控制器配置为i2c控制器模式,这样既能保证需要的功能被满足,又能降低芯片引脚的数量。
将引脚数目相似、接口逻辑差别不大,资源消耗小的硬件进行功能整合,通过系统内部总线配置寄存器,控制硬件的具体工作模式,例如,当系统需要实现控制器A的功能,则通过配置模式相关的寄存器,将该模块配置为具有控制器A特性的一组参数。同时,在模块设计中增加可编程逻辑模块,在实现不同模式的时候,通过查找可编程逻辑,获知当前模式下,内部状态机的跳转方式,以及接口信号发送与接收等时序行为方式,从而实现了控制器A的功能。在逻辑设计时,多个低速IO外设控制器之间可实现部分寄存器和内部缓存空间的共用,减少逻辑资源占有。同时,多个控制器整合在一起复用对外的接口信号,同一时刻,只有一个控制器来操作这些接口信号,这样即保证了功能的可行性,也在逻辑层就实现了接口引脚的复用,而降低了整体SoC的数目。
通过本发明公开的方法应用,能在满足多种低速IO设备控制器数量要求下,最大限度的降低逻辑资源,并提高使用的灵活性。在逻辑实现层次实现了引脚的复用,通过代码层次的的逻辑控制,使得在不同工作模式下,内部使用不同的逻辑来控制这些对外的引脚,当需要其它功能的时候,通过寄存器配置和可编程逻辑的查找表,控制对外输出引脚的时序行为,有效的降低了SoC的引脚数目。
虽然以上将实施例分开说明和阐述,但涉及部分共通之技术,在本领域普通技术人员看来,可以在实施例之间进行替换和整合,涉及其中一个实施例未明确记载的内容,则可参考有记载的另一个实施例。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (8)
1.一种低速IO设备控制器的设计方法,其特征在于,包括:
将多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合为控制器模块,所述控制器模块只控制一组引脚信息,且同一时刻只有一组控制逻辑对所述引脚的操作有效果,所述控制模块的多个低速IO设备控制器分时复用所述引脚。
2.根据权利要求1所述的低速IO设备控制器的设计方法,其特征在于:通过系统内部总线配置寄存器,控制所述控制器模块的配置参数,进而控制低速IO设备的具体工作模式。
3.根据权利要求2所述的低速IO设备控制器的设计方法,其特征在于:增加了可编程逻辑模块,实现在不同模式时,通过查找可编程逻辑模块,获知当前模式下,内部状态机的跳转方式以及接口信号发送与接收的时序行为方式,从而实现所述低速IO设备的具体工作模式。
4.根据权利要求1所述的低速IO设备控制器的设计方法,其特征在于:所述控制器模块的多个低速IO设备控制器之间实现部分寄存器和内部缓存空间的共用。
5.根据权利要求2所述的低速IO设备控制器的设计方法,其特征在于:当系统需要实现某一控制器的功能,则通过系统内部总线配置模式相关的寄存器,将所述控制器模块配置为具有该控制器特性的一组参数。
6.根据权利要求1所述的低速IO设备控制器的设计方法,其特征在于:所述控制器模块的多个低速IO设备控制器整合在一起复用对外的接口信号,同一时刻只有一个控制器来操作某一接口信号。
7.根据权利要求1所述低速IO设备控制器的设计方法,其特征在于:使用不同的逻辑来控制所述引脚,当需要其它功能的时候,通过寄存器配置和可编程逻辑模块的查找表,控制对外输出引脚的时序行为,以达到所述控制模块的多个低速IO设备控制器分时复用所述引脚。
8.一种低速IO设备控制器的设计结构,其特征在于,包括:控制器模块、寄存器、可编程逻辑模块、状态机和缓存区,所述控制器模块由多个引脚数目接近,接口时序逻辑类似的低速IO设备控制器整合而成,通过系统内部总线配置所述寄存器,控制所述控制器模块的配置参数,进而控制低速IO设备的具体工作模式,通过向所述可编程逻辑模块中写入不同值进行查找,实现不同低速IO设备功能的所述状态机的跳转和信号输出的控制,所述缓存区用来存放缓存的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911100654.0A CN110825667B (zh) | 2019-11-12 | 2019-11-12 | 一种低速io设备控制器的设计方法和结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911100654.0A CN110825667B (zh) | 2019-11-12 | 2019-11-12 | 一种低速io设备控制器的设计方法和结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825667A true CN110825667A (zh) | 2020-02-21 |
CN110825667B CN110825667B (zh) | 2022-03-11 |
Family
ID=69554295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911100654.0A Active CN110825667B (zh) | 2019-11-12 | 2019-11-12 | 一种低速io设备控制器的设计方法和结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825667B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238990A (zh) * | 2021-07-12 | 2021-08-10 | 博流智能科技(南京)有限公司 | 多用途外设控制器及其控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994006210A1 (en) * | 1992-08-28 | 1994-03-17 | Prabhakar Goel | Multichip ic design using tdm |
WO2001031516A2 (en) * | 1999-10-22 | 2001-05-03 | Mentor Graphics Corporation | An emulation system having a efficient emulation signal routing architecture |
CN101840915A (zh) * | 2010-05-07 | 2010-09-22 | 无锡中星微电子有限公司 | 一种引脚共享装置及方法 |
US20110102053A1 (en) * | 2008-07-31 | 2011-05-05 | Actions Semiconductor Co., Ltd. | Method and soc for implementing time division multiplex of pin |
CN104011697A (zh) * | 2011-09-27 | 2014-08-27 | 密克罗奇普技术公司 | 微控制器的虚拟通用输入/输出 |
CN206602662U (zh) * | 2017-02-09 | 2017-10-31 | 钰太芯微电子科技(上海)有限公司 | 一种基于分时复用接口的拾音设备 |
CN107992143A (zh) * | 2018-01-23 | 2018-05-04 | 徐工集团工程机械有限公司 | 复用采集端口电路、控制器、模拟量输入采集方法和系统 |
CN108681518A (zh) * | 2018-05-21 | 2018-10-19 | 中国科学院国家空间科学中心 | 一种低速io时分复用系统 |
-
2019
- 2019-11-12 CN CN201911100654.0A patent/CN110825667B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994006210A1 (en) * | 1992-08-28 | 1994-03-17 | Prabhakar Goel | Multichip ic design using tdm |
WO2001031516A2 (en) * | 1999-10-22 | 2001-05-03 | Mentor Graphics Corporation | An emulation system having a efficient emulation signal routing architecture |
US20110102053A1 (en) * | 2008-07-31 | 2011-05-05 | Actions Semiconductor Co., Ltd. | Method and soc for implementing time division multiplex of pin |
CN101840915A (zh) * | 2010-05-07 | 2010-09-22 | 无锡中星微电子有限公司 | 一种引脚共享装置及方法 |
CN104011697A (zh) * | 2011-09-27 | 2014-08-27 | 密克罗奇普技术公司 | 微控制器的虚拟通用输入/输出 |
CN206602662U (zh) * | 2017-02-09 | 2017-10-31 | 钰太芯微电子科技(上海)有限公司 | 一种基于分时复用接口的拾音设备 |
CN107992143A (zh) * | 2018-01-23 | 2018-05-04 | 徐工集团工程机械有限公司 | 复用采集端口电路、控制器、模拟量输入采集方法和系统 |
CN108681518A (zh) * | 2018-05-21 | 2018-10-19 | 中国科学院国家空间科学中心 | 一种低速io时分复用系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238990A (zh) * | 2021-07-12 | 2021-08-10 | 博流智能科技(南京)有限公司 | 多用途外设控制器及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110825667B (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1573919B1 (en) | Reconfiguration of the programmable logic of an integrated circuit | |
CN104050068B (zh) | 在mcu芯片中调试fpga的方法和装置 | |
CN110309088B (zh) | Zynq fpga芯片及其数据处理方法、存储介质 | |
JP2000311156A (ja) | 再構成可能並列計算機 | |
EP2580657B1 (en) | Information processing device and method | |
CN107704285B (zh) | 现场可编程门阵列多版本配置芯片、系统和方法 | |
CN104050146B (zh) | 一种微控制单元mcu芯片 | |
US20060006904A1 (en) | Programable logic device, configuration apparatus, and configuration method | |
CN105808290A (zh) | 用于多fpga整机系统的远程动态更新系统和方法 | |
US9736529B2 (en) | USB sharing method for combo TV set, combo TV set and computer readable storage medium | |
JP2016045954A (ja) | 不揮発制御によるrfモジュール初期化システム及び方法 | |
CN108959139A (zh) | 一种cpld管脚复用方法与装置 | |
CN110825667B (zh) | 一种低速io设备控制器的设计方法和结构 | |
CN111190855A (zh) | 一种fpga多重远程配置系统及方法 | |
EP2500827A2 (en) | Memory controller address and data pin multiplexing | |
US10042659B1 (en) | Caching virtual contexts for sharing of physical instances of a hardware resource | |
CN107168744B (zh) | 用于数字信号处理器芯片文件加载的系统及方法 | |
CN109729731B (zh) | 一种加速处理方法及设备 | |
US20140325183A1 (en) | Integrated circuit device, asymmetric multi-core processing module, electronic device and method of managing execution of computer program code therefor | |
CN109684255A (zh) | 一种fpga管脚复用电路及控制方法 | |
CN103003769A (zh) | 向电子设备提供时钟信号的时钟电路、带有时钟电路的电子设备以及向电子设备提供时钟信号的方法 | |
CN107544819B (zh) | 一种用于可编程器件的业务实现方法、装置和通信终端 | |
CN111767999A (zh) | 数据处理方法、装置及相关产品 | |
CN116069451B (zh) | 一种虚拟化方法、装置、设备、介质、加速器及系统 | |
JP4453271B2 (ja) | コンピュータシステム及びメモリの接続方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450 Applicant after: Feiteng Information Technology Co.,Ltd. Address before: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450 Applicant before: TIANJIN FEITENG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |