Las opciones para el factor de forma son diversas y cada una presenta sus ventajas y desventajas en lo que respecta a: modularidad, flexibilidad, posibilidad de expansión, posibilidad de integración con otros productos comerciales, etc. A continuación se listan las principales opciones analizadas.
Existen numerosas posibilidades, entre ellas:
Es un estándar para sistemas embebidos que define el factor de forma y los buses y conectores a utilizar.
Para la selección del factor de forma se tuvieron en cuenta las opiniones de los desarrolladores de las listas CIAA-Hardware y CIAA-Firmware. Se dieron discusiones muy enriquecedoras ya que las opciones que se consideraron son variadas y muy diferentes entre sí.
Los factores que se consideraron como más relevantes son:
Los siguientes factores NO se consideraron como decisivos:
Al considerarse el factor escalabilidad como muy importante para una aplicación de Alta Capacidad de Cómputo, quedan descartadas las opciones de Placa Única y SoM + Carrier. Para poder interconectar varios procesadores en paralelo, es necesario un estándar como el de la familia PC-104, donde es posible tener un Host y varios Devices. Adicionalmente, esta opción aporta estandarización y la posibilidad de interconexión con productos comerciales.
Se analizaron los estándares de la familia PC-104 debido a que el equipo de la CIAA-Safety ya estaba analizando este factor de forma. Dentro de este grupo de estándares se seleccionó a PCIe-104 por ser el más moderno y el más adecuado para el hardware seleccionado por sus interfaces de alta velocidad.
Se podría haber seleccionado el estándar PCI-104 Express (versión anterior del PCIe-104), para poder conectar la CIAA-ACC con la CIAA-Safety, pero al tener esta última una disposición propietaria de señales en el conector PCI (USB, ETH,SPI, etc.), fue desestimada la idea ya que se quiere hacer un producto que cumpla estrictamente con la especificación. De todos modos, podrán conectarse ambas placas utilizando una fuente de alimentación PC104 que tenga ambos conectores (PCI y PCIe), por ejemplo Fuente PCI-104 Express. En este caso, la comunicación se tendrá que realizar con un cable externo utilizando alguna de las interfaces (SPI, Ethernet, USB, etc).
Otra opción que se consideró fue la de usar el estándar PCIe-104 pero incorporando el concepto de SoM, es decir, diseñando dos placas: un SoM con el procesador Zynq y las memorias, y una carrier con formato PC-104 con los periféricos. Por supuesto que esta opción es más versátil todavía, pero conlleva un esfuerzo adicional que es diseñar dos PCBs multicapa en vez de uno (la carrier no puede diseñarse en dos capas por las exigencias de los periféricos). Aunque el tiempo de desarrollo no es uno de los factores decisivos para el proyecto, en este caso sí lo fue y por eso se descartó la opción PCIe-104 con SoM.
La selección de este factor de forma permite utilizar la placa de diferentes maneras. Si se diseña la CIAA para que pueda funcionar en forma independiente, con una entrada de alimentación propia, las posibilidades se amplían. Además, optando por diseñar un Device PCIe-104 en vez de un Host existe la posibilidad de interconectar varias CIAAs entre sí por PCIe. Para esto último será necesario un Host PCIe-104 que en un principio tendremos que comprar, pero que más adelante podrá ser diseñado por la comunidad CIAA. Es importante remarcar que el diseño será un Device porque los puertos PCIe, USB y SATA irán shifteados, NO será un Host.
Entonces las opciones de uso de la CIAA-ACC serán: