我有一个非常长的std_logic_vector,大小为752。 该向量中的每8位需要反转一个函数。 所以
a(0) <= b(7)
a(1) <= b(6)
a(2) <= b(5)
a(3) <= b(4)
a(4) <= b(3)
a(5) <= b(2)
a(6) <= b(1)
a(7) <= b(0)
然后将其反转为接下来的8位
a(8) <= b(15)
a(9) <= b(14)
a(10) <= b(13)
a(11) <= b(12)
a(12) <= b(11)
a(13) <= b(10)
a(14) <= b(9)
a(15) <= b(8)
这就是这样,每8位直到752这样。有更好的方法吗?我想在for循环中使用for循环。第一个循环用于检查元素是否可被8-1的倍数整除,第二个for循环用于每8位反转值。
答案 0 :(得分:1)
一种解决方案是将输入分成8位的块,并在每个块中反向执行:
{{1}}