[发明专利]一种FPGA输出引脚复用电路、方法及设备有效
申请号: | 201510105117.0 | 申请日: | 2015-03-10 |
公开(公告)号: | CN104750481B | 公开(公告)日: | 2018-04-17 |
发明(设计)人: | 詹凯;覃正笛;陈昕;彭珏;汪天富;陈思平 | 申请(专利权)人: | 深圳大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 深圳市科进知识产权代理事务所(普通合伙)44316 | 代理人: | 宋鹰武,沈祖锋 |
地址: | 518000 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fpga 输出 引脚 用电 方法 设备 | ||
技术领域
本发明属于电路设计技术领域,尤其涉及一种FPGA输出引脚复用电路、方法及设备。
背景技术
在现场可编程门阵列(Field-Programmable Gate Array,FPGA)的逻辑设计中,为了将不同的逻辑功能实现,设计者会将每种分立的逻辑功能设计成一个always块,在块中完成对这些分立的逻辑功能的实现,每个always块只能对块中所涉及的外部引脚进行赋值操作,一旦某些FPGA引脚在一个块中被赋值操作后,其他always块将不能对此引脚进行赋值操作,这样就带来一个问题,对于某些外部引脚可能需要在两个always块中进行赋值,比如对存储器的读写操作,即需要在读和写这两个always逻辑块中进行分别的地址赋值,但是在FPGA的硬件语言语法中,如果在这两个块中都出现了对该地址引脚的赋值,则编译过程中会报错。
目前对于两个always块控制同一个引脚,现有方法是利用组合逻辑,在两个always块中分别控制第一级的寄存器,然后再设计一个用于判断always块,而判断always块有以下两个设计方案:
第一种,以两个第一级的寄存器变化作为敏感事件,根据对应的状态机提示,将对应的第一级寄存器数据赋值给引脚,以下是具体硬件描述语言Verilog HDL的逻辑代码:
上面公布的代码中,对于同一个ckout输出脚,第一个always块使用cnt1作为第一级寄存器,第二个always块使用cnt2作为第一级寄存器,然后第三个always块根据cnt1与cnt2的变化,对应其数值对ckout进行相应的赋值,这样设计的不足之处在于,第三个always模块是电平触发而不是脉冲触发,第一级的寄存器如果几位数值不是同时变化,将会产生竞争-冒险现象,在寄存器数值变动的过程中产生暂时的误码,从而影响第三个always块的输出,因此,这种设计不适合高质量高速电路的要求;
第二种,与第一种类似,但是它的第三个always块是利用时钟边沿作为敏感事件进行触发,举例代码如下:
这样设计的好处在于,它不会产生类似于第一种设计的竞争-冒险现象,因为它以时钟边沿作为触发敏感事件,第一级的寄存器在边沿时刻是被锁定的,不可能再出现跳变抖动,所以其稳定性高,但是其缺点在于,由于三个always块同时以时钟作为敏感事件,ckout较之第一级寄存器变化,会滞后一个周期,因此,在复杂的应用场合,如果没有把握好这个滞后的时间,将会带来一些不可知的故障因素。
综上所述,现有FPGA输出引脚不能同时被两个always块复用,不适合高质量高速电路的要求,在复杂的应用场合,如果没有把握好这个滞后的时间,将会带来一些不可知的故障因素。
发明内容
本发明实施例提供了一种FPGA输出引脚复用电路、方法及设备,旨在解决现有FPGA输出引脚不能同时被两个always块复用的问题。
第一方面,提供一种FPGA输出引脚复用电路,包括:FPGA、块输出单元和输出控制单元,所述块输出单元包括第一块输出模块和第二块输出模块,所述第一块输出模块和第二块输出模块连接于同一所述FPGA的输出引脚,所述输出控制单元分别与所述第一块输出模块和第二块输出模块电连接,用于控制所述第一块输出模块和第二块输出模块的输出以使引脚输出复用。
进一步地,所述第一块输出模块和第二块输出模块均为三态门,其中,所述第一块输出模块或第二块输出模块的输入由不同always块控制。
进一步地,所述块输出单元为反相器,用于隔开所述第一块输出模块和第二块输出模块的使能脚,其中,第一always块通过所述第一块输出模块进行赋值,所述反相器直接关闭第二always块控制的第二块输出模块的使能脚,在所述第一块输出模块不需要赋值时,关闭所述第一块输出模块的使能脚,打开第二块输出模块的使能脚进行第二always块的赋值。
第二方面,提供一种FPGA输出引脚复用方法,包括:
第一always块通过第一块输出模块进行赋值时,输出控制单元直接关闭第二always块控制的第二块输出模块的使能脚;
所述第一块输出模块不需要赋值时,关闭所述第一块输出模块的使能脚,打开第二块输出模块的使能脚进行第二always块的赋值。
第三方面,提供一种包括上述FPGA输出引脚复用电路的FPGA输出引脚复用设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳大学,未经深圳大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510105117.0/2.html,转载请声明来源钻瓜专利网。