На VHDL в раз 5 больше писанины, возможности абсолютно одинаковые - любому понятию можно найти эквивалет. Для моделирования же гораздо удобнее SystemVerilog и требующиеся сейчас везде библиотеки UVM к нему. Поэтому лучше писать RTL также на SystemVerilog, он позволяет писать RTL еще немного более компактно - особенно многомерные структуры.
Метапрограмирование есть там и там - generate и параметры модуля.
Лучше уметь писать на обоих языках - на их долю приходит почти 100% кода
Этот способ тоже не всегда работает, если есть кэш данных. У процессора есть обычно ассемблеровские команды по записи в IO в обход кэша, для них делают макросы. Компилятор работу кэша не контролирует и volatile не помогает
Ограничение это Window 7, в более старших версиях не работает. Даже не все версии Vivado работают в текущей сборке Windows 10. Как и сказали уже работать на любом железе будет, но медленно. Вообще для работы нужен i7 и 8-16 Гбайт памяти чтобы не терять уйму времени на компиляцию и моделирование чего-то сложного и разумеется SSD винт