|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
input [5:0] index_32;
mem31 到 mem0 为[63:0]的寄存器
如下代码实现的功能是 通过输入的index_32,经过32级的64选一mux得出需要的index_0.
可是这种方法太慢了,不知道有什么好的结构方法可以实现这样的功能?
assign index_31 = {mem31[index_32],index_32[5:1]};
assign index_30 = {mem30[index_31],index_31[5:1]};
assign index_29 = {mem29[index_30],index_30[5:1]};
assign index_28 = {mem28[index_29],index_29[5:1]};
assign index_27 = {mem27[index_28],index_28[5:1]};
assign index_26 = {mem26[index_27],index_27[5:1]};
assign index_25 = {mem25[index_26],index_26[5:1]};
assign index_24 = {mem24[index_25],index_25[5:1]};
assign index_23 = {mem23[index_24],index_24[5:1]};
assign index_22 = {mem22[index_23],index_23[5:1]};
assign index_21 = {mem21[index_22],index_22[5:1]};
assign index_20 = {mem20[index_21],index_21[5:1]};
assign index_19 = {mem19[index_20],index_20[5:1]};
assign index_18 = {mem18[index_19],index_19[5:1]};
assign index_17 = {mem17[index_18],index_18[5:1]};
assign index_16 = {mem16[index_17],index_17[5:1]};
assign index_15 = {mem15[index_16],index_16[5:1]};
assign index_14 = {mem14[index_15],index_15[5:1]};
assign index_13 = {mem13[index_14],index_14[5:1]};
assign index_12 = {mem12[index_13],index_13[5:1]};
assign index_11 = {mem11[index_12],index_12[5:1]};
assign index_10 = {mem10[index_11],index_11[5:1]};
assign index_9 = {mem9 [index_10],index_10[5:1]};
assign index_8 = {mem8 [index_9 ],index_9 [5:1]};
assign index_7 = {mem7 [index_8 ],index_8 [5:1]};
assign index_6 = {mem6 [index_7 ],index_7 [5:1]};
assign index_5 = {mem5 [index_6 ],index_6 [5:1]};
assign index_4 = {mem4 [index_5 ],index_5 [5:1]};
assign index_3 = {mem3 [index_4 ],index_4 [5:1]};
assign index_2 = {mem2 [index_3 ],index_3 [5:1]};
assign index_1 = {mem1 [index_2 ],index_2 [5:1]};
assign index_0 = {mem0 [index_1 ],index_1 [5:1]}; |
|