一种可编程逻辑系统和微处理器的制作方法
- 国知局
- 2024-08-01 00:12:09
本发明涉及集成电路领域,具体涉及一种可编程逻辑系统和微处理器。背景技术:::1、工业级系统对产品的稳定性要求非常的高,需要对产品各种状态进行实时性很高的监测和控制,比如单板功耗、温度以及芯片运行状态等等。一般系统会使用单片机或者其他类似的简单微码引擎进行监控上位机、下位机。因为单片机设计难度低,功能全面,且成本低,应用非常广泛。但是对于一些实时性要求非常高的任务,单片机无法满足系统要求。为了完成这样的任务,通常会引入可编程逻辑系统或可编程逻辑阵列来实现期望电路从而连接到上位机、下位机。2、数字逻辑运算在数字系统中有着广泛的应用,它是进行高速计算,特别是信号处理等方面应用时不可或缺的。尤其是在高性能微处理器、数字信号处理器、图形图像系统、科学计算以及某些特定数据处理设备中更是不可或缺的组成部分,有着举足轻重的地位。3、可编程逻辑器件是作为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定,特别是fpga芯片(field-programmable gate array,即现场可编程门阵列)为其中的代表,fpga芯片中包含有大量的逻辑单元(logic element,简称为le),用户可以通过对这些逻辑单元的自由组合以实现不同的逻辑电路功能,在实现数字逻辑时,事先将相应的结果(例如,输入与输出的对应关系等)烧录至存储单元内形成查找表(look-up-table,简称为lut),从而在相同的电路情况下实现了不同的逻辑功能,由于基于lut的fpga具有很高的集成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的数字逻辑电路功能,所以适用于高速、高密度的高端数字逻辑电路设计领域。不过,以fpga为代表的可编程逻辑器件存在一些明显不足,例如:高度定制性,存储空间有限、程序可扩展性及可移植性不佳等,特别地,如上所述,fpga所实现的数字逻辑是有赖于lut的建立,因此,要实现所需的数字逻辑,在实际应用中,fpga会存在冗余逻辑电路(fpga中某些逻辑单元中的某些部分经常不会被使用甚至可能从不被使用),导致成本较高,而且也带来了一定的功耗问题。4、另一方面,微码引擎可以将复杂的逻辑分成许多小的任务,而每个任务又都可以用某个(些)指令集完成,因此,复杂的工作可以由软件来实现。该方法的好处是,只要微码引擎速度够快,就可以完成复杂的工作。此外,由于是使用软件来实现逻辑,因此,可以通过修改软件来改变逻辑实现。但是,微码引擎处理需要软件中断来驱动完成,受限于微码引擎这种架构,即使微码引擎速度够快,在软件运行时仍可能存在实时性等问题。5、然而根据不同的系统需求,可能需要选定可编程逻辑阵列或中央处理单元不同的内置功能,有时会因为可编程逻辑阵列或中央处理单元本身的限制,导致系统设计的功能难于实现,做出妥协。6、因此为了实现特定的系统需求,需要使可编程逻辑电路还能实现部分代码运算功能。目前的可编程逻辑系统通常只包括可编程逻辑阵列,而不包括可实现代码功能的微码引擎。7、因此,需要一种可编程逻辑系统可以同时实现可编程逻辑的电路设计功能和微码代码功能。技术实现思路1、针对上述问题,本公开提供了一种可编程逻辑系统和微处理器。可编程逻辑系统将可编程逻辑和微码引擎结合在一起,从而可发挥基于可编程逻辑单元的平面逻辑控制技术和基于数据处理单元的时域逻辑控制技术的优点,提高了电路的灵活性,节省成本且确保实时性,降低能耗。2、根据本公开的第一方面,提供了一种可编程逻辑系统,所述可编程逻辑系统连接到上位机、下位机以及数据库,其特征在于,所述可编程逻辑系统包括:输入输出模块,被配置为可编程逻辑系统与数据库之间的信息通道,以获取用于可编程逻辑模块的可编程逻辑数据;可编程逻辑模块,包括多个可编程逻辑阵列,所述可编程逻辑模块被配置成基于来自输入输出模块的可编程逻辑数据,将所述多个可编程逻辑阵列编写为设计器件;微码引擎模块,被配置成执行微码指令集,以实现对第一寄存器模块和第二寄存器模块操作和控制;第一寄存器模块,被配置成当所述上位机对所述可编程逻辑系统进行操作时,存储和处理微码引擎模块的配置和状态信息;以及第二寄存器模块,被配置成嵌入在可编程逻辑模块中并连接到微码引擎模块,以存储和处理微码引擎模块和可编程逻辑模块的配置和状态信息。3、在一些实施例中,第二寄存器模块还被配置成同时受控于微码引擎模块以及可编程逻辑模块,以及响应于可编程逻辑模块和微码引擎模块同时改变第二寄存器模块的值,优先存储和处理微码引擎模块的配置和状态信息。4、在一些实施例中,可编程逻辑系统还包括:高级高性能总线模块,被配置成实现对上位机和下位机的通信,其中所述高级高性能总线模块包括:高级高性能总线下位机接口,被配置成接收可编程逻辑系统初始化所需的微码和系统参数并下载到所述微码引擎模块以及可编程逻辑模块,高级高性能总线上位机接口,被配置成生成上位机控制信号,并且基于所生成的上位机控制信号实现对上位机的总线控制功能;以及时钟控制模块,被配置成提供所述可编程逻辑系统的系统时钟控制以及中断服务程序触发模式。5、在一些实施例中,时钟控制模块包括:一个或多个计数单元,所述计数单元为固定位数的计数单元,并且配置有固定位数的初始寄存器和比较寄存器。6、在一些实施例中,一个或多个计数单元被组合为高倍计时单元,所述高倍计时单元的位数是固定位数的倍数。7、在一些实施例中,中断服务程序触发模式包括:响应于所述初始寄存器和比较寄存器的赋值,触发中断服务程序信号;响应于所述可编程逻辑模块的逻辑运算,触发中断服务程序信号;所述微码引擎模块确定所触发的中断服务程序信号的优先级;以及所述微码引擎模块基于所确定的中断服务程序信号的优先级,执行中断服务程序信号对应的中断服务程序。8、在一些实施例中,可编程逻辑系统还包括:先进先出模块,被配置成缓存来自上位机的数据或者经微码引擎模块处理后的数据,其中所述先进先出模块包括缓存单元,所述缓存单元被配置成暂存数据,以显示数据溢出和欠流的检测。9、在一些实施例中,可编程逻辑系统还包括:中断请求模块,被配置成生成用于上位机的中断请求信号并且管理不同中断源的优先级,以使较高优先级的中断请求优先响应。10、在一些实施例中,可编程逻辑系统还包括:与微码引擎连接的数据存储模块,被配置为静态随机存取存储模块sram、动态随机存取存储模块dram、或闪存flash。11、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。技术特征:1.一种可编程逻辑系统,所述可编程逻辑系统连接到上位机、下位机以及数据库,其特征在于,所述可编程逻辑系统包括:2.根据权利要求1所述的可编程逻辑系统,其特征在于,所述第二寄存器模块还被配置成同时受控于微码引擎模块以及可编程逻辑模块,以及响应于可编程逻辑模块和微码引擎模块同时改变第二寄存器模块的值,优先存储和处理微码引擎模块的配置和状态信息。3.根据权利要求2所述的可编程逻辑系统,其特征在于,所述可编程逻辑系统还包括:4.根据权利要求3所述的可编程逻辑系统,其特征在于,所述时钟控制模块包括:5.根据权利要求4所述的可编程逻辑系统,其特征在于,所述一个或多个计数单元被组合为高倍计时单元,所述高倍计时单元的位数是固定位数的倍数。6.根据权利要求4所述的可编程逻辑系统,其特征在于,所述中断服务程序触发模式包括:7.根据权利要求1-6中任一项所述的可编程逻辑系统,其特征在于,所述可编程逻辑系统还包括:8.根据权利要求7所述的可编程逻辑系统,其特征在于,所述可编程逻辑系统还包括:9.根据权利要求8所述的可编程逻辑系统,其特征在于,所述可编程逻辑系统还包括:10.一种微处理器,其特征在于,技术总结本公开的实施例涉及一种可编程逻辑系统和微处理器,可编程逻辑系统包括:输入输出模块,被配置为可编程逻辑系统与数据库之间的信息通道,以获取用于可编程逻辑模块的可编程逻辑数据;可编程逻辑模块,包括多个可编程逻辑阵列,所述可编程逻辑模块被配置成基于来自输入输出模块的可编程逻辑数据,将所述多个可编程逻辑阵列编写为设计器件;微码引擎模块,被配置成执行微码指令集,以实现对第一寄存器模块和第二寄存器模块操作和控制;第一寄存器模块,被配置成当所述上位机对所述可编程逻辑系统进行操作时,存储和处理可编程逻辑模块的配置和状态信息;以及第二寄存器模块,被配置成嵌入在可编程逻辑模块中并连接到微码引擎模块。技术研发人员:汪泳江,韩伟,王海洋受保护的技术使用者:旋智电子科技(上海)有限公司技术研发日:技术公布日:2024/7/11
本文地址:https://www.jishuxx.com/zhuanli/20240730/199998.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。