我正在运行用VHDL编写的HDL代码,我有一个最大长度为512位的输入向量。我的一些输入小于最大尺寸。所以我想找到是否有办法找到每个输入的实际长度,以便在输入向量的最高有效位处切掉不需要的零。有没有办法做这种事情?
答案 0 :(得分:0)
我猜你正在为你的数据寻找一种明确的填充方法。我建议您使用ISO / IEC 9797-1填充方法2,如下所示:
对于每个输入数据(即使它已经有512位),您可以添加一个前导'1'位。然后添加前导'0'位(可能没有)来填充矢量。
要实现此方案,您必须将输入向量放大到513位(因为您必须始终添加至少一位)。
要删除填充,您可以简单地浏览从MSB开始的向量,并找到第一个'1'位,这标记了您的apdding模式的结束。
示例(8 + 1位):
输入:10101
填充: 0001 10101
输入:00000000
填充: 1 00000000