一种运行配置的电路加载方法与流程

文档序号:36260705发布日期:2023-12-05 18:23阅读:41来源:国知局
一种运行配置的电路加载方法与流程

本发明涉及硬件设计,具体涉及一种运行配置的电路加载方法。


背景技术:

1、实现某种特定功能的fpga或asic芯片(统称为asic)加电初始化时,一般需要给定其运行参数或配置。通常情况下,上述过程由处理器上运行的软件,从非易失存储器中读取配置,完成配置参数加载,实现简单、灵活。但是在某些特定场景下,对asic达到工作状态的时间有着严格要求,而且希望即使处理器故障时,asic也能够正常工作,因此现有的处理器软件加载方法存在着asic的配置寄存器发生改动时,需要更改执行配置加载的电路实现,asic配置较为复杂。


技术实现思路

1、有鉴于此,本发明提供了一种运行配置的电路加载方法,以解决现有技术中asic的配置寄存器发生改动时,需要更改执行配置加载的电路实现,asic配置较为复杂的技术问题。

2、本发明所提供的所述一种运行配置的电路加载方法,所述方法包括:

3、定义配置文件,所述配置文件的格式基于asic芯片的配置电路确定,所述配置文件的内容基于芯片的功能电路确定;

4、所述配置电路从flash中读取所述配置文件,并根据所述配置文件中获取操作控制信息,所述操作控制信息包括一个或多个;

5、所述配置电路对所述操作控制信息进行完整性校验,校验通过后根据所述操作控制信息中的加载模式执行配置加载操作,否则所述配置电路指示加载错误。

6、进一步的,操作控制信息包括以下字段:asic起始地址aaddr;flash起始地址faddr;操作类型op_type,所述操作类型包括操作码op_code、固定asic起始地址op_aa_fixed、固定flash起始地址op_fa_fixed、参数项数op_items、选择位数op_sel_bits、移动位数op_mov_bits;操作长度op_len;循环次数op_times;内容校验ct_chk;操作校验op_chk。

7、进一步的,所述配置电路执行配置加载操作,包括:

8、步骤一、设置读取基地址fa=faddr,写入基地址aa=aaddr;

9、步骤二、如果op_items=1,从flash中的(addr&msk)|(fa&~msk)地址读取1项配置参数;如果op_items>1,从flash中的(addr&msk)|(fa&~msk)地址开始依次读取op_items+1项配置参数,并使用最后一项对前op_items项配置参数进行校验,校验通过后继续执行配置加载操作,否则所述配置电路指示加载错误;

10、步骤三、将步骤二中读取的op_items项配置参数写入aa开始的asic地址空间,将读取基地址fa和写入基地址aa的值增加power(2,op_sel_bits)*4;

11、步骤四、重复步骤二和步骤三,直到重复次数j等于op_len,共读取op_len个配置参数;当op_items等于1时,使用ct_chk对op_len个配置参数进行校验,校验通过后继续执行配置加载操作,否则配置电路指示加载错误;

12、步骤五、如果op_fa_fixed为1,设置读取基地址fa=faddr;如果op_aa_fixed为1,设置写入基地址aa=aaddr;重复步骤二、步骤三、步骤四,直到重复次数k等于op_times,完成配置加载操作。

13、进一步的,步骤三中,flash地址fa+x的配置参数对应写入asic地址(aa+f(x));f(x)表示将x的bit[op_sel_bits+1:2]向左移动op_mov_bits。op_items+1<=power(2,op_sel_bits)。

14、进一步的,所述配置参数、flash地址空间和asic地址空间均以4字节为独立单元。

15、进一步的,当op_code表示清除模式时,所述配置电路使用faddr数值代替flash读取的数据执行配置加载操作。

16、进一步的,所述配置文件包括多个配置文件,单个配置文件的占用空间大小大于等于单个所述配置文件的文件大小,且所述占用空间大小等于2的n次幂,n取最小整数;单个所述配置文件包括配置表头和多个配置区,多个所述配置区按照顺序存储或者参数分组顺序存储;所述配置表头包括配置表标识符、asic硬件电路版本、配置表版本、配置表生产时间、空间掩码、操作数目和表头校验值。

17、进一步的,所述配置电路首先对所述配置表头进行校验,校验通过后按照所述操作数目读取所述操作控制信息。

18、与现有技术相比,本发明采用的上述至少一个技术方案能够达到的有益效果至少包括:本发明采用一种相对灵活的电路加载方法,可以实现在asic的电路中,完成加电初始化时的配置参数加载,支持清零、顺序加载、循环顺序加载、循环交叉加载等加载模式,即使asic的配置寄存器发生改动,也只需要修改对应配置文件,而不用改动执行配置加载的电路实现。



技术特征:

1.一种运行配置的电路加载方法,其特征在于,所述方法包括:

2.根据权利要求1所述的一种运行配置的电路加载方法,其特征在于,操作控制信息包括以下字段:asic起始地址aaddr;flash起始地址faddr;操作类型op_type,所述操作类型包括操作码op_code、固定asic起始地址op_aa_fixed、固定flash起始地址op_fa_fixed、参数项数op_items、选择位数op_sel_bits、移动位数op_mov_bits;操作长度op_len;循环次数op_times;内容校验ct_chk;操作校验op_chk。

3.根据权利要求1所述的一种运行配置的电路加载方法,其特征在于,所述配置电路执行配置加载操作,包括:

4.根据权利要求3所述的一种运行配置的电路加载方法,其特征在于,步骤三中,flash地址fa+x的配置参数对应写入asic地址(aa+f(x));f(x)表示将x的bit[op_sel_bits+1:2]向左移动op_mov_bits。op_items+1<=power(2,op_sel_bits)。

5.根据权利要求4所述的一种运行配置的电路加载方法,其特征在于,所述配置参数、flash地址空间和asic地址空间均以4字节为独立单元。

6.根据权利要求5所述的一种运行配置的电路加载方法,其特征在于,当op_code表示清除模式时,所述配置电路使用faddr数值代替flash读取的数据执行配置加载操作。

7.根据权利要求1所述的一种运行配置的电路加载方法,其特征在于,所述配置文件包括多个配置文件,单个配置文件的占用空间大小大于等于单个所述配置文件的文件大小,且所述占用空间大小等于2的n次幂,n取最小整数;单个所述配置文件包括配置表头和多个配置区,多个所述配置区按照顺序存储或者参数分组顺序存储;所述配置表头包括配置表标识符、asic硬件电路版本、配置表版本、配置表生产时间、空间掩码、操作数目和表头校验值。

8.根据权利要求7所述的一种运行配置的电路加载方法,其特征在于,所述配置电路首先对所述配置表头进行校验,校验通过后按照所述操作数目读取所述操作控制信息。


技术总结
本发明涉及硬件设计技术领域,提供一种运行配置的电路加载方法,所述方法包括:定义配置文件,所述配置文件的格式基于ASIC芯片的配置电路确定,所述配置文件的内容基于芯片的功能电路确定;所述配置电路从FLASH中读取所述配置文件,并根据所述配置文件中获取操作控制信息,所述操作控制信息包括一个或多个;所述配置电路对所述操作控制信息进行完整性校验,校验通过后根据所述操作控制信息中的加载模式执行配置加载操作,否则所述配置电路指示加载错误。本发明能够在ASIC的电路中,完成加电初始化时的配置参数加载,实现了一种灵活的电路加载方式。

技术研发人员:张志平,李正军,刘震,孟悦,薛文朝,徐文进
受保护的技术使用者:中国航空工业集团公司西安航空计算技术研究所
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1