指令译码器批处理设计方法及装置制造方法及图纸

技术编号:24497154 阅读:50 留言:0更新日期:2020-06-13 03:29
本发明专利技术提供一种指令译码器批处理设计方法及装置。所述方法包括:对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表;生成指令输出表;将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出;利用Verilog中的Casez语法,产生指令译码器输出。本发明专利技术能够有效降低指令译码器的设计复杂度,减小出错概率。

Batch processing design method and device of instruction decoder

【技术实现步骤摘要】
指令译码器批处理设计方法及装置
本专利技术涉及处理器架构
,尤其涉及一种指令译码器批处理设计方法及装置。
技术介绍
随着ARM架构的不断演进,ARMv8-A处理器从最初支持A32(ARM32位架构的指令集)和Thumb(ARM32位架构的压缩指令集,支持16-bit和32-bit混合编程)指令集,到目前需要同时支持A64(ARM64位架构的指令集)、A32和Thumb指令集,指令数目增多,这使得指令译码器的设计变得复杂和繁重,现有技术中需要对指令逐个进行分析、拆解,过程复杂且容易出错。
技术实现思路
本专利技术提供的指令译码器批处理设计方法及装置,能够有效降低指令译码器的设计复杂度,减小出错概率。第一方面,本专利技术提供一种指令译码器批处理设计方法,包括:对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表;生成指令输出表;将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出;利用Verilog中的Casez语法,产生指令译码器输出。可选地,所述指令译码器抽象为一个二维矩阵,第一列为不同的指令Instr1,Instr2,…,InstrM,第一行为指令的输出Output1,Output2,…,OutputN,共有M条指令,每条指令有N个输出。可选地,对于每条指令来说,无效的输出置为无效的编码。可选地,对于特定的处理器架构,根据每条指令的功能可提前知道每条指令有效输出的数值。第二方面,本专利技术提供一种指令译码器批处理设计装置,包括:第一生成单元,用于对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表;第二生成单元,用于生成指令输出表;链接单元,用于将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出;产生单元,用于利用Verilog中的Casez语法,产生指令译码器输出。可选地,所述指令译码器抽象为一个二维矩阵,第一列为不同的指令Instr1,Instr2,…,InstrM,第一行为指令的输出Output1,Output2,…,OutputN,共有M条指令,每条指令有N个输出。可选地,对于每条指令来说,无效的输出置为无效的编码。可选地,对于特定的处理器架构,根据每条指令的功能可提前知道每条指令有效输出的数值。本专利技术实施例提供的指令译码器批处理设计方法及装置,对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表,生成指令输出表,将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出,利用Verilog中的Casez语法,产生指令译码器输出,从而能够有效降低指令译码器的设计复杂度,减小出错概率。附图说明图1为本专利技术实施例提供的指令译码器批处理设计方法的流程图;图2为本专利技术实施例提供的指令与指令码对应的列表;图3为本专利技术实施例提供的指令译码器抽象得到的二维矩阵示意图;图4为本专利技术实施例提供的指令码与输出的对应表;图5为本专利技术实施例提供的利用Casez产生输出的代码;图6为本专利技术实施例提供的指令译码器批处理设计装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种指令译码器批处理设计方法,如图1所示,所述方法包括:S11、对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表。如图2所示,为指令与指令码对应的列表,指令为Instr1,Instr2,…,InstrM,指令码为Op1,Op2,…,OpM。S12、生成指令输出表。指令译码器将指令拆解成执行信息,指导处理器内执行单元的运转。对于有限的指令数量和特定的处理器架构来说,指令译码器的输出是有限的,且是可以提前知道的。可以将指令译码器抽象为一个二维矩阵,第一列为不同的指令Instr1,Instr2,…,InstrM,第一行为指令的输出Output1,Output2,…,OutputN,如图3所示。在图3中,共有M条指令,每条有N个输出。当然,对于每条指令来说,由于其功能限制,不是每个输出都是有效的,如图中的“x”所示。在设计中,这些无效的输出可以置为无效的编码,比如“0”值。对于特定的处理器架构,根据每条指令的功能,可以提前知道每条指令有效输出的数值,如图中的“y”所示。因为每条指令的指令码是指令唯一的标识,如果能够知道每条指令的指令码,那么基于上述二维模型,就能够得到指令译码器的设计。S13、将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出。如图4所示,为指令码与输出的对应表。S14、利用Verilog中的Casez语法,产生指令译码器输出。如图5所示。综合工具会对Casez语句进行自动优化。其中OP是指令译码器接收到的指令码。本专利技术实施例提供的指令译码器批处理设计方法,对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表,生成指令输出表,将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出,利用Verilog中的Casez语法,产生指令译码器输出,从而能够有效降低指令译码器的设计复杂度,减小出错概率。该方法易于实现,设计出的电路较容易时序收敛。该方法不限于指令译码器的设计,还可以作为与指令译码器有相似特征单元的设计方法。本专利技术实施例还提供一种指令译码器批处理设计装置,如图6所示,所述装置包括:第一生成单元11,用于对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表;第二生成单元12,用于生成指令输出表;链接单元13,用于将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出;产生单元14,用于利用Verilog中的Casez语法,产生指令译码器输出。本专利技术实施例提供的指令译码器批处理设计装置,对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表,生成指令输出表,将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出,利用Verilog中的Casez语法,产生指令译码器输出,从而能够有效降低指令译码器的设计复杂度,减小出错概率。该方法易于实现,设计出的电路较容易时序收敛。该方法不限于指令译码器的设计,还可以作为与指令译码器有相似特征单元的设计方法。可选地,所述指令译码器抽象为一个二维矩阵,第一列为不同的指令Instr1,Ins本文档来自技高网...

【技术保护点】
1.一种指令译码器批处理设计方法,其特征在于,包括:/n对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表;/n生成指令输出表;/n将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出;/n利用Verilog中的Casez语法,产生指令译码器输出。/n

【技术特征摘要】
1.一种指令译码器批处理设计方法,其特征在于,包括:
对每条指令生成特定的指令码,并将它们一一对应,生成指令与指令码对应的列表;
生成指令输出表;
将所述指令与指令码对应的列表与所述指令输出表进行链接,使得指令码能够对应输出;
利用Verilog中的Casez语法,产生指令译码器输出。


2.根据权利要求1所述的方法,其特征在于,所述指令译码器抽象为一个二维矩阵,第一列为不同的指令Instr1,Instr2,…,InstrM,第一行为指令的输出Output1,Output2,…,OutputN,共有M条指令,每条指令有N个输出。


3.根据权利要求2所述的方法,其特征在于,对于每条指令来说,无效的输出置为无效的编码。


4.根据权利要求2所述的方法,其特征在于,对于特定的处理器架构,根据每条指令的功能可提前知道每条指令有效输出的数值。


5.一种指令译码器批...

【专利技术属性】
技术研发人员:孙浩余红斌
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1