CN103577154A - 基于arinc659协议的指令的译码方法 - Google Patents

基于arinc659协议的指令的译码方法 Download PDF

Info

Publication number
CN103577154A
CN103577154A CN201210261486.5A CN201210261486A CN103577154A CN 103577154 A CN103577154 A CN 103577154A CN 201210261486 A CN201210261486 A CN 201210261486A CN 103577154 A CN103577154 A CN 103577154A
Authority
CN
China
Prior art keywords
instruction
decoding
places
needed
address pointer
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
CN201210261486.5A
Other languages
English (en)
Other versions
CN103577154B (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.)
Xian Xiangteng Microelectronics Technology Co Ltd
Original Assignee
AVIC No 631 Research Institute
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 AVIC No 631 Research Institute filed Critical AVIC No 631 Research Institute
Priority to CN201210261486.5A priority Critical patent/CN103577154B/zh
Publication of CN103577154A publication Critical patent/CN103577154A/zh
Application granted granted Critical
Publication of CN103577154B publication Critical patent/CN103577154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)

Abstract

本发明涉及一种基于ARINC659协议的指令的译码方法,该方法包括:1)从通用静态存储器SRAM中对应的起始位置和固定地址空间,依次读取系统参数所对应的机器码,并对需要进行校对的系统参数进行校验;若校验成功,则继续读取下一个系统参数;若校验失败,则将地址指针值赋0;当系统参数全部校验结束后进行步骤2);2)判断通用同步FIFO的状态,若通用同步FIFO为满时,则地址指针保持不变;若通用同步FIFO不满时,则进行步骤3);3)根据指令类型对所有指令的机器码进行译码。本发明提供了一种有效解决ARINC659总线上BIU对帧描述语言指令的解析问题、可进行推广完成类似总线自定义指令集的机器码定义、指令译码、译码状态指示等工作的基于ARINC659协议的指令的译码方法。

Description

基于ARINC659协议的指令的译码方法
技术领域
本发明属于计算机控制技术领域,涉及一种译码方法,尤其涉及一种基于ARINC659协议的指令的译码方法。
背景技术
ARINC659底板数据总线是满足高可靠性需求的串行容错总线标准。ARINC659协议规定帧描述语言,定义了总线上在线可更换模块之间通信数据的时序。作为BIU的开发商,需要定义帧描述语言的机器码格式,并对机器码进行解析,完成与总线上其他BIU之间的通信。目前没有同类技术。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种有效解决ARINC659总线上BIU对帧描述语言指令的解析问题、可进行推广完成类似总线自定义指令集的机器码定义、指令译码、译码状态指示等工作的基于ARINC659协议的指令的译码方法。
本发明的技术解决方案是:本发明提供了一种基于ARINC659协议的指令的译码方法,其特殊之处在于:所述方法包括以下步骤:
1)从通用静态存储器SRAM中对应的起始位置和固定地址空间,依次读取系统参数所对应的机器码,并对需要进行校对的系统参数进行校验;若校验成功,则继续读取下一个系统参数;若校验失败,则将地址指针值赋0;当系统参数全部校验结束后进行步骤2);
2)判断通用同步FIFO的状态,若通用同步FIFO为满时,则地址指针保持不变;若通用同步FIFO不满时,则进行步骤3);
3)根据指令类型对所有指令的机器码进行译码。
上述步骤3)的具体实现方式是:
3.1)按指令长度所需要的32位数的个数判断指令类型,对于指令长度所需要的32位数的个数大于1的非跳转指令,对第一个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加1;对于指令长度所需要的32位数的个数大于1的跳转类指令,保存当前指令的地址,根据指令的机器码的格式译码出目的地址,将目的地址值赋给地址指针;若指令长度所需要的32位数的个数等于1时,则进行步骤1);
3.2)按指令长度所需要的32位数的个数判断指令类型,若指令长度所需要的32位数的个数大于2,则对指令的第二个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加1;若指令长度所需要的32位数的个数等于2时,则进行步骤1);
3.3)按指令长度所需要的32位数的个数判断指令类型,若指令长度所需要的32位数的个数大于3,则对指令的第三个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加1;若需要的32位数的个数等于3时,则进行步骤1);
3.4)对指令的第四个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加1。
本发明的优点是:
本发明提供了一种基于ARINC659协议的指令的译码方法,该方法实现了ARINC659协议规定的帧描述语言指令译码功能;根据该电路设计,可进行推广完成类似总线自定义指令集的机器码定义、指令译码、译码状态指示工作。
附图说明
图1是本发明所提供的解析方法中所采用的状态机流程示意图。
具体实施方式
本发明提供了一种基于ARINC659协议的指令的译码方法,该方法包括以下步骤:
1)对ARINC659协议规定的不同系统参数定义机器码,每条系统参数占用若干个32位。以参数GAP为例,机器码格式为:
Figure BDA00001937923100021
Figure BDA00001937923100031
2)采用数据位宽为32位的通用静态存储器SRAM存放所有指令的机器码;
3)对ARINC659协议规定的指令定义一一对应的指令编码,定义每条指令的机器码格式,每条指令占用若干个32位(最大需要4个32位)。
以FREE命令为例,指令编码为4’b0000,机器码格式为:
Figure BDA00001937923100032
4)将SRAM地址空间分为16部分,最大可以存放16个机架的命令表,不同机架的命令表对应不同的起始地址;为命令表内部不同的参数分配固定的地址空间;
5)定义适当位宽的寄存器用来存放译码后的系统参数;定义数据位宽为256位的通用同步FIFO存放译码后的指令(采用位拼接),FIFO的空满指示信号用来启动或停止译码;定义适当位宽的寄存器作为待译码指令的地址指针;
6)指令译码功能采用状态机实现,状态机有7个状态,各状态的操作及跳转条件如下所示:
状态1(参数译码状态):根据当前的机架号从SRAM中对应的起始位置和固定地址空间,依次读取系统参数的机器码,并对需要进行校对的参数进行校验,检验成功则继续读取下一个系统参数,校验失败跳转到状态6,系统参数译码结束后跳转到状态2;
按照机器码的定义格式对相应寄存器信号赋值,以硬件描述语言verilog为例,参数译码的实现为:
reg[3:0]gap;
gap<=sram_data[3:0];
状态2(指令译码状态1):判断FIFO的状态,FIFO为满时跳转到状态8;FIFO不满时开始译码,判断指令类型,按需要的32位数的个数区分,若需要32位数个数大于1,跳转到状态3;个数等于1时,维持在状态1;
对于个数大于1的非跳转指令,对第一个32位数进行译码,将译码的结果存放到FIFO中,地址指针加1;
对于跳转类指令,保存当前指令的地址,根据指令机器码的格式译码出目的地址,将目的地址值赋给地址指针;
以硬件描述语言verilog为例,FREE命令译码实现为:
if(sram_data==4’b0000)
fifo_data[23:0]<=sram_data[31:8];
ins_addr<=sram_addr+1;
状态3(指令译码状态2):判断指令类型,按需要的32位数的个数区分,若需要32位数个数大于2,跳转到状态4;否则跳转到状态1;
对指令的第二个32位数进行译码,将译码的结果存放到FIFO中,地址指针加1;
状态4(指令译码状态3):判断指令类型,按需要的32位数的个数区分,若需要32位数个数大于3,跳转到状态5;否则跳转到状态1;
对指令的第三个32位数进行译码,将译码的结果存放到FIFO中,地址指针加1;
状态5(指令译码状态4):对指令的第四个32位数进行译码,将译码的结果存放到FIFO中,地址指针加1;无条件跳转到状态1;
状态6(译码失败状态):地址指针值赋0,无条件维持在状态6;
状态7(译码FIFO满状态):判断FIFO的状态,FIFO不满时跳转到状态2,否则维持在状态7;地址指针保持不变;
定义2位译码状态指示信号,状态1下给该指示信号赋值为2’b00,表示正在参数译码;状态2~状态5下给该指示信号赋值为2’b11,表示正在指令译码;状态6下给该信号赋值为2’b01,表示译码失败。
基于ARINC659协议的微控制器电路集成在HK659型ARINC659总线协议处理芯片中,目前该芯片已投片成功并经过了大量的应用验证。

Claims (2)

1.一种基于ARINC659协议的指令的译码方法,其特征在于:所述方法包括以下步骤:
1)从通用静态存储器SRAM中对应的起始位置和固定地址空间,依次读取系统参数所对应的机器码,并对需要进行校对的系统参数进行校验;若校验成功,则继续读取下一个系统参数;若校验失败,则将地址指针值赋0;当系统参数全部校验结束后进行步骤2);
2)判断通用同步FIFO的状态,若通用同步FIFO为满时,则地址指针保持不变;若通用同步FIFO不满时,则进行步骤3);
3)根据指令类型对所有指令的机器码进行译码。
2.根据权利要求1所述的基于ARINC659协议的指令的译码方法,其特征在于:所述步骤3)的具体实现方式是:
3.1)按指令长度所需要的32位数的个数判断指令类型,对于指令长度所需要的32位数的个数大于1的非跳转指令,对第一个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加1;对于指令长度所需要的32位数的个数大于1的跳转类指令,保存当前指令的地址,根据指令的机器码的格式译码出目的地址,将目的地址值赋给地址指针;若指令长度所需要的32位数的个数等于1时,则进行步骤1);
3.2)按指令长度所需要的32位数的个数判断指令类型,若指令长度所需要的32位数的个数大于2,则对指令的第二个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加1;若指令长度所需要的32位数的个数等于2时,则进行步骤1);
3.3)按指令长度所需要的32位数的个数判断指令类型,若指令长度所需要的32位数的个数大于3,则对指令的第三个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加1;若需要的32位数的个数等于3时,则进行步骤1);
3.4)对指令的第四个32位数进行译码,将译码的结果存放到通用同步FIFO中,地址指针加1。
CN201210261486.5A 2012-07-26 2012-07-26 基于arinc659协议的指令的译码方法 Active CN103577154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210261486.5A CN103577154B (zh) 2012-07-26 2012-07-26 基于arinc659协议的指令的译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210261486.5A CN103577154B (zh) 2012-07-26 2012-07-26 基于arinc659协议的指令的译码方法

Publications (2)

Publication Number Publication Date
CN103577154A true CN103577154A (zh) 2014-02-12
CN103577154B CN103577154B (zh) 2015-09-30

Family

ID=50049012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210261486.5A Active CN103577154B (zh) 2012-07-26 2012-07-26 基于arinc659协议的指令的译码方法

Country Status (1)

Country Link
CN (1) CN103577154B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656961A (zh) * 2016-09-29 2017-05-10 海航航空技术有限公司 基于arinc767规范的飞行数据译码分析方法
CN109104386A (zh) * 2018-09-04 2018-12-28 中国铁道科学研究院集团有限公司通信信号研究所 一种大数据量通信的分时传送方法
CN112181799A (zh) * 2019-07-05 2021-01-05 北京新能源汽车股份有限公司 一种软件配置参数的测试方法、装置及汽车

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1230722A (zh) * 1989-05-17 1999-10-06 国际商业机器公司 使cpu与和外面的数据处理装置交互作用的硬件隔离的方法和装置
CN101931580A (zh) * 2009-12-22 2010-12-29 中国航空工业集团公司第六三一研究所 Arinc 659背板数据总线接口芯片片上系统
CN101957743A (zh) * 2010-10-12 2011-01-26 中国电子科技集团公司第三十八研究所 并行数字信号处理器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1230722A (zh) * 1989-05-17 1999-10-06 国际商业机器公司 使cpu与和外面的数据处理装置交互作用的硬件隔离的方法和装置
CN101931580A (zh) * 2009-12-22 2010-12-29 中国航空工业集团公司第六三一研究所 Arinc 659背板数据总线接口芯片片上系统
CN101957743A (zh) * 2010-10-12 2011-01-26 中国电子科技集团公司第三十八研究所 并行数字信号处理器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张喜民等: "ARINC 659 容错数据总线测试验证系统研制", 《西安电子科技大学学报(自然科学版)》, vol. 38, no. 6, 24 May 2011 (2011-05-24) *
王旭辉: "飞机飞行安全实时监控关键技术研究", 《中国博士学位论文全文数据库(工程科技II辑)》, 15 April 2011 (2011-04-15) *
魏婷等: "ARINC 659总线验证平台节点设计与实现", 《航空计算技术》, vol. 41, no. 4, 15 July 2011 (2011-07-15) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656961A (zh) * 2016-09-29 2017-05-10 海航航空技术有限公司 基于arinc767规范的飞行数据译码分析方法
CN106656961B (zh) * 2016-09-29 2019-08-13 海航航空技术股份有限公司 基于arinc767规范的飞行数据译码分析方法
CN109104386A (zh) * 2018-09-04 2018-12-28 中国铁道科学研究院集团有限公司通信信号研究所 一种大数据量通信的分时传送方法
CN109104386B (zh) * 2018-09-04 2021-02-19 中国铁道科学研究院集团有限公司通信信号研究所 一种大数据量通信的分时传送方法
CN112181799A (zh) * 2019-07-05 2021-01-05 北京新能源汽车股份有限公司 一种软件配置参数的测试方法、装置及汽车

Also Published As

Publication number Publication date
CN103577154B (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
TW563029B (en) Flexible interrupt controller that includes an interrupt force register
RU2645288C2 (ru) Усовершенствование интерфейса pci express
US7877647B2 (en) Correcting a target address in parallel with determining whether the target address was received in error
CN101416163B (zh) 通过选择重新执行来检测瞬态错误
US8037390B2 (en) Memory system and command handling method
CN111417935B (zh) 用于分布式缓冲器存储器系统的地址/命令芯片同步的自动数据芯片地址定序器
CN102568603A (zh) 数据传输装置、存储器控制装置和存储器系统
CN101310255B (zh) 用于检测处理系统中的存储器装置的配置的方法和设备
US6212625B1 (en) General purpose dynamically programmable state engine for executing finite state machines
US20070174705A1 (en) Post (power on self test) debug system and method
CN103853650A (zh) 一种模糊测试的测试用例生成方法及装置
CN113900852A (zh) 表征和裕度化用于互连的多电压信号编码
CN101377749B (zh) 存储器数据校验方法、装置、可编程逻辑器件及系统
EP2891891B1 (en) A method, apparatus and system for performing voltage margining
CN113986624A (zh) 通过错误注入和测量进行互连的系统内验证
CN110286853A (zh) 一种数据写入方法和装置、计算机可读存储介质
CN113779912B (zh) 一种芯片验证系统、方法、装置、电子设备及存储介质
CN103577154A (zh) 基于arinc659协议的指令的译码方法
CN103577155B (zh) 基于arinc659协议的指令译码电路的实现方法
US20050160203A1 (en) Method to maintain order between multiple queues with different ordering requirements in a high frequency system
US10642684B1 (en) Memory command interleaving
CN114817114A (zh) 一种mipi接口、及其控制方法、装置及介质
CN101727312A (zh) 一种支持自动纠错功能的返回地址栈实现方法
US20160179611A1 (en) Low overhead error checking and correction apparatus and method
CN100432926C (zh) 数据处理系统中处理交易的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221214

Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075

Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: 710068 No. 156 Taibai North Road, Shaanxi, Xi'an

Patentee before: 631ST Research Institute OF AVIC

TR01 Transfer of patent right