Ваш localparam
объявлен внутри begin:gen_loop..end
области.Более того, ваш цикл создания for
создал несколько версий блока с именами
gen_loop[0]
gen_loop[1]
...
. Таким образом, у вас также есть несколько версий THIS_FOO. Чтобы получить к ним доступ, используйте нотацию перекрестных ссылок.
wire [1:0] rr = gen_loop[0].THIS_FOO[1:0];
wire [1:0] rt = gen_loop[1].THIS_FOO[3:2];
...
и да, вы должны знать, к какой итерации цикла обращаться.
Итак, в вашем случае он жаловался, потому что вы не объявили THIS_FOO в той области, которую хотелидоступ к нему.