Esto parece un puerto de entrada bidimensional y no una RAM. Supongo que esto es systemverilog, ya que verilog no admite puertos 2d. Esto se comporta como 17 puertos de 8 bits, datos [0], datos [1], datos [2], etc. hasta datos [16]. Los bits individuales serían datos [0] [0], datos [0] [1], etc. Básicamente, esta es una forma organizada de proporcionar 17 puertos de datos, cada uno con 8 bits. En el verilog regular, tendría que proporcionar 17 entradas separadas o tendría que proporcionar una entrada de 136 bits de ancho.
En muchos casos, los sintetizadores decentes pueden inferir bloque RAM de arreglos 2d: altsyncram no es la única forma de obtener un RAM. Si desea escribir un código independiente del proveedor de FPGA, entonces no puede usar altsyncram y, en su lugar, debe escribir verilog que hará que el sintetizador deduzca RAM. Sé que Xilinx tiene un manual de usuario para el sintetizador que explica cómo hacerlo (guía del usuario de XST); Supongo que Altera tendría algo similar.