没看懂程序,但
1、assign data75[30:23]=E; 此处有错误,应该是笔误
2、index报错。Error (10734): Verilog HDL error at changeto754.v(62): index is not a constant
这两句有问题
if(`M+`N>22) F<=(data|{{(`M+`N-index){1'b0}},{index{1'b1}}})<<(23-index);
else F<=({{(23-`M-`N){1'b0}},data}|{{(23-index){1'b0}},{index{1'b1}}})<<(23-index);
此处,拼接运算符里面加逗号就编译通过了!
但楼主的意思应该是{4{a}} = {a,a,a,a}这种意思。刚查了下书,这里,这个4,必须是常数表达式!!