Yes you did, but I dont understand the point of what you're doing. why bother using -0.129? you're just converting it to 0.129, so all results will be A(i) * 0.129.
why not just use ufixed all the time and use 0.129?
---------- Post added at 10:32 ---------- Previous post was at 10:31 ----------
this code is pointless:
n1 <= to_sfixed(-0.129,n1);
n2 <= abs(n1);
n3 <= ufixed(n2);
you might aswell just have:
out_A(i) <= to_ufixed(A(i), u) * to_ufixed(0.129, u);