Lamento tener que ser contradictorio aquí, pero debo decir sí : puede usar otras herramientas, o al menos trabajar alrededor de las partes hinchadas. La simulación y la síntesis lógica son de hecho objetivos separados. Sin embargo, usted está mucho más limitado cuando se trata de la generación de flujo de bits. Ha habido algunas herramientas, como Jbits, pero en su mayor parte está restringido a herramientas soportadas por el proveedor. Las herramientas de Xilinx para esto son XST (Xilinx Synthesis Technology), par (lugar y ruta) y luego bitgen (para hacer el archivo de bits). Son lo que ISE usa como backend, por lo que los obtiene en WebPack.
Para una cadena de herramientas viable, a menudo es mucho más rápido ingresar sus diseños en Emacs, simularlos con Verilator, Icarus Verilog o GHDL, inspeccionar los resultados de simulación con gtkwave .. y, finalmente, sintetizar la lógica con XST, etc. XST puede ejecutarse sin usar ISE, pero es un procedimiento algo más complicado que querrás usar para. Consulte las guías de usuario ISE ; Manual de XST capítulo Modo de línea de comando, y los capítulos de herramientas de línea de comando en PAR y BitGen. Si desea simulación posterior a la síntesis, eso también es específico de la tecnología (y, por lo tanto, del proveedor).
Como regla general, puede escribir toda su lógica sin instancias específicas del proveedor (los fragmentos de código ISE muestran ejemplos que infieren el uso correctamente), pero los DCM no pueden describirse de esa manera. Por lo tanto, tendrás que hacer tus bancos de simulación sin ellos, lo que no debería ser difícil, ya que simplemente puedes agregar los relojes necesarios allí.