Hola Rafael,
Hay varios problemas con este bloque.
1) En el código estás instanaciando un prescaler que no está definido en el código (En el tutorial funciona porque el prescaler está en otro fichero, pero el icestudio sólo ve el código de cada bloque. Las uniones entre diferentes bloques las tienes que hacer tú mediante cables)
2) Cada bloque de verilog en icestudio tiene que ser un bloque simple, es decir, un bloque que no instancie otros bloques. Las instanciaciones en icestudio las haces importando bloques (y no mediante código)
3) En la versión 0.2.0 de icestudio no se pueden especificar todavía parámetros, por lo que no se puede tener un prescaler genérico e instanciarlo con diferente número de bits (vendrá en futuras versiones). Hay que hacer cada uno de los prescaler por separado (aunque el código es igual, solo se diferencia en el valor del parámetro del número de bits)
Así que la manera de hacerlo sería siguiendo el circuito del tutorial, pero en icestudio (adjunto la imagen original):
Te creas un bloque que sea el prescaler base de 21 bits.
Te creas un prescaler de 1 bit, mediante un bloque verilog
Te creas un prescales de 2 bits, medainte un bloque verilog
Los importas en tu proyecto (esto es "instanciar" los módulos)
Los unes mediante cables
Finalmente, si quieres, conviertes el diseño final en un nuevo bloque llamado multipleprescaler (que contiene todos los prescalers que quieras en el interior)
Saludos, Obijuan