位置输出装置和位置输出方法制造方法及图纸

技术编号:36932203 阅读:52 留言:0更新日期:2023-03-22 18:54
本公开涉及集成电路技术领域,提供一种位置输出装置和位置输出方法,旨在降低位置输出时所需的逻辑级数,提升电路运行速度。其中,位置输出装置包括独热信号发生模块和位置计算模块;独热信号发生模块用于将n位的目标二进制数转换为独热向量,独热向量中1的位置与目标二进制数中拖尾1的位置对应;位置计算模块用于将独热向量的每个数据位的位置信息表示为m位的第一二进制数,将独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对每个数据位的第一二进制数和第二二进制数执行按位与运算,得到每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出拖尾1在目标二进制数中的位置。输出拖尾1在目标二进制数中的位置。输出拖尾1在目标二进制数中的位置。

【技术实现步骤摘要】
位置输出装置和位置输出方法


[0001]本公开涉及集成电路
,尤其涉及一种输出拖尾1所在位置的装置、输出前导1所在位置的装置、输出拖尾1所在位置的方法及输出前导1所在位置的方法。

技术介绍

[0002]在数字集成电路中,经常需要检测一个二进制数中拖尾1的所在位置或前导1的所在位置。例如当需要对挂起的请求进行响应顺序判断时,就会涉及二进制数中的拖尾1或前导1的所在位置检测。如图1所述,拖尾1是指二进制数中的最后一个1,而前导1是指二进制数中的第一个1。
[0003]相关技术中,通常会使用级联的二选一选择器mux检测并输出二进制数中的拖尾1或前导1的所在位置。其中,彼此级联的二选一选择器mux的数量等于二进制数的位数。可见,相关技术在检测拖尾1或前导1的所在位置时,需要的逻辑级数与二进制位数成正比。当请求数量较多时,相应的二进制位数较大,会使得所需的逻辑级数也较大,从而对电路的运行速度造成较大的负面影响。

技术实现思路

[0004]本公开的目的是提供一种输出拖尾1所在位置的装置、输出前导1所在位置的装置、输出拖尾1所在位置的方法及输出前导1所在位置的方法,旨在降低位置输出时所需的逻辑级数,提升电路运行速度。
[0005]根据本公开的一个方面,提供一种输出拖尾1所在位置的装置,该装置包括:独热信号发生模块和位置计算模块;独热信号发生模块用于将n位的目标二进制数转换为独热向量,独热向量中1的位置与目标二进制数中拖尾1的位置对应,n是大于1的整数;位置计算模块用于将独热向量的每个数据位的位置信息表示为m位的第一二进制数,将独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出拖尾1在目标二进制数中的位置。
[0006]本公开一种可行的实现方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为目标二进制数,减1电路对目标二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括目标二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位进行取反后,与目标二进制数的每一位执行与运算,得到独热向量。
[0007]本公开一种可行的实现方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为目标二进制数,减1电路对目标二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括目标二进制数和减1后的二进制数,独热
信号发生电路对减1后的二进制数的每一位与目标二进制数的每一位执行按位异或运算,并对异或运算结果与目标二进制数的当前位执行与运算,得到独热向量。
[0008]本公开一种可行的实现方式中,位置计算模块包括n个按位与电路和1个按位或电路;每个按位与电路的输入信号包括独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;按位或电路的输入信号包括n个m位的运算结果,按位或电路对n个m位的运算结果执行按位或运算,得到并输出拖尾1在目标二进制数中的位置。
[0009]根据本公开的另一方面,还提供一种输出前导1所在位置的装置,该装置包括:按位倒序模块、独热信号发生模块及位置计算模块;按位倒序模块用于对n位的目标二进制数执行按位倒序操作,得到按位倒序后的二进制数;独热信号发生模块用于将按位倒序后的二进制数转换为独热向量,独热向量中1的位置与按位倒序后的二进制数中拖尾1的位置对应,n是大于1的整数;按位倒序模块还用于对独热向量执行按位倒序操作,得到目标独热向量;位置计算模块用于将目标独热向量的每个数据位的位置信息表示为m位的第一二进制数,将目标独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对目标独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到目标独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出前导1在目标二进制数中的位置。
[0010]本公开一种可行的实现方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为按位倒序后的二进制数,减1电路对按位倒序后的二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括按位倒序后的二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位进行取反后,与按位倒序后的二进制数的每一位执行与运算。
[0011]本公开一种可行的实现方式中,独热信号发生模块包括减1电路和独热信号发生电路;减1电路的输入信号为按位倒序后的二进制数,减1电路对按位倒序后的二进制数执行减1运算,得到减1后的二进制数;独热信号发生电路的输入信号包括按位倒序后的二进制数和减1后的二进制数,独热信号发生电路对减1后的二进制数的每一位与按位倒序后的二进制数的每一位执行按位异或运算,并对异或运算结果与按位倒序后的二进制数的当前位执行与运算,得到独热向量。
[0012]本公开一种可行的实现方式中,位置计算模块包括n个按位与电路和1个按位或电路;每个按位与电路的输入信号包括目标独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;按位或电路的输入信号包括n个m位的运算结果,按位或电路对n个m位的运算结果执行按位或运算,得到并输出前导1在目标二进制数中的位置。
[0013]根据本公开的另一方面,还提供一种输出拖尾1所在位置的方法,该方法包括:将n位的目标二进制数转换为独热向量,独热向量中1的位置与目标二进制数中拖
尾1的位置对应,n是大于1的整数;将独热向量的每个数据位的位置信息表示为m位的第一二进制数,将独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得独热向量的每个数据位的第三二进制数;对n个第三二进制数执行按位或运算,输出拖尾1在目标二进制数中的位置。
[0014]本公开一种可行的实现方式中,将n位的目标二进制数转换为独热向量,包括:对目标二进制数执行减1运算,得到减1后的二进制数;对减1后的二进制数执行按位取反操作,得到按位取反后的二进制数;对目标二进制数和按位取反后的二进制数执行按位与运算,得到独热向量。
[0015]本公开一种可行的实现方式中,将n位的目标二进制数转换为独热向量,包括:对目标二进制数执行减1运算,得到减1后的二进制数;对目标二进制数和减1后的二进制数执行按位异或运算,得到异或运算后的二进制数;对目标二进制数和异或运算后的二进制数执行按位与运算,得到独热向量。
[0016]本公开一种可行的实现方式中,m是大于等于x的整数,x是以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种输出拖尾1所在位置的装置,所述装置包括:独热信号发生模块和位置计算模块;所述独热信号发生模块用于将n位的目标二进制数转换为独热向量,所述独热向量中1的位置与所述目标二进制数中拖尾1的位置对应,所述n是大于1的整数;所述位置计算模块用于将所述独热向量的每个数据位的位置信息表示为m位的第一二进制数,将所述独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对所述独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到所述独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出所述拖尾1在所述目标二进制数中的位置。2.根据权利要求1所述的装置,所述独热信号发生模块包括减1电路和独热信号发生电路;所述减1电路的输入信号为所述目标二进制数,所述减1电路对所述目标二进制数执行减1运算,得到减1后的二进制数;所述独热信号发生电路的输入信号包括所述目标二进制数和所述减1后的二进制数,所述独热信号发生电路对所述减1后的二进制数的每一位进行取反后,与所述目标二进制数的每一位执行与运算,得到所述独热向量。3.根据权利要求1所述的装置,所述独热信号发生模块包括减1电路和独热信号发生电路;所述减1电路的输入信号为所述目标二进制数,所述减1电路对所述目标二进制数执行减1运算,得到减1后的二进制数;所述独热信号发生电路的输入信号包括所述目标二进制数和所述减1后的二进制数,所述独热信号发生电路对所述减1后的二进制数的每一位与所述目标二进制数的每一位执行按位异或运算,并对异或运算结果与所述目标二进制数的当前位执行与运算,得到所述独热向量。4.根据权利要求1所述的装置,所述位置计算模块包括n个按位与电路和1个按位或电路;每个按位与电路的输入信号包括所述独热向量的一个数据位的数值和该数据位的位置信息,该数据位的位置信息是一个m位的二进制数,每个按位与电路将相应数据位的数值与m位的二进制数的每一位分别执行与运算,得到m位的运算结果;所述按位或电路的输入信号包括n个所述m位的运算结果,所述按位或电路对n个m位的运算结果执行按位或运算,得到并输出所述拖尾1在所述目标二进制数中的位置。5.一种输出前导1所在位置的装置,所述装置包括:按位倒序模块、独热信号发生模块及位置计算模块;所述按位倒序模块用于对n位的目标二进制数执行按位倒序操作,得到按位倒序后的二进制数;所述独热信号发生模块用于将所述按位倒序后的二进制数转换为独热向量,所述独热向量中1的位置与所述按位倒序后的二进制数中拖尾1的位置对应,所述n是大于1的整数;所述按位倒序模块还用于对所述独热向量执行按位倒序操作,得到目标独热向量;所述位置计算模块用于将所述目标独热向量的每个数据位的位置信息表示为m位的第一二进制数,将所述目标独热向量的每个数据位的数值复制成m个,m个数值形成m位的第二二进制数,对所述目标独热向量的每个数据位的第一二进制数和第二二进制数执行按位与运算,得到所述目标独热向量的每个数据位的第三二进制数,对n个第三二进制数执行按位或运算,输出所述前导1在所述目标二进制数中的位置。6.根据权利要求5所述的装置,所述独热信号发生模块包括减1电路和独热信号发生电
路;所述减1电路的输入信号为所述按位倒序后的二进制数,所述减1电路对所述按位倒序后的二进制数执行减1运算,得到减1后的二进制数;所述独热信号发生电路的输入信号包括所述按位倒序后的二进制数和所述减1后的二进制数,所述独热信号发生电路对所述减1后的二进制数的每一位进行取反后,与所述按位倒序后的二进制数的每一位执行与运算。7.根据权利要求5所述的装置,所述独热信号发生模块包括减1电路和独热信号发生电路;所述减1电路的输入信号为所述按位倒序后的二进制数,所述减1电路对所述按位倒序后的二进制数执行减1运算,得到减1后的二进制数;所述独热信号发生电路的输入信号包括所述按位倒序后的二进制数和所述减1后的二进制数,所述独热信号发生电路对所述减1后的二进制数的每一位与所述按位倒...

【专利技术属性】
技术研发人员:杨尚罡
申请(专利权)人:北京象帝先计算技术有限公司
类型:发明
国别省市:

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

1