A method and system for automatically proactively debugging fitting
problems in programmable devices. Automatic fitters are computer programs
that place and route circuit resources within a programmable device, e.g.,
a complex programmable logic device (CPLD) to determine the resources used
and timing for a given hardware design. Upon a fitting failure for an IC
or hardware design, an embodiment first may identify any specific
architectural information, if any, causing the failure and may advise the
user including solution recommendations. Second, an embodiment obtains a
larger device having the same pin package, if available, or a virtual
device, and may perform a second fitting on the hardware design but using
this larger device. If this fits properly, then the resulting pin
assignment is fixed and a third fitting may be performed on the smaller
device with the fixed pin assignment. If this fails, further architectural
violations are identified and solution recommendations are given to the
user. If there are no larger devices that can be used with the hardware
design and/or the third fitting does not obtain a proper result, then an
embodiment determines if specific named pins are failing to fit. If these
pins are identified, and the user has not locked them down, then they may
be allowed to float and fitting is performed once more. If no solution can
be reached after the above attempts, then an embodiment informs the user
that technical support is required and a history of the fitting attempts
may be recorded. A programming file may be generated on a successful fit.
Um método e um sistema para problemas apropriados automaticamente proactively eliminar erros em dispositivos programáveis. Os fitters automáticos são os programas de computador que colocam e distribuem recursos do circuito dentro de um dispositivo programável, por exemplo, um dispositivo de lógica programável complexo (CPLD) para determinar os recursos usados e o sincronismo para um projeto dado da ferragem. Em cima de uma falha apropriada para um IC ou um projeto da ferragem, uma incorporação primeiramente pode identificar toda a informação architectural específica, se existerem, causando a falha e pode recomendar o usuário including recomendações da solução. Em segundo, uma incorporação obtem um dispositivo maior que tem o mesmo pino pacote, se disponível, ou um dispositivo virtual, e pode executar um segundo encaixe no projeto da ferragem mas usar este dispositivo maior. Se isto couber corretamente, a seguir o pino atribuição resultante é fixo e um terceiro encaixe pode ser executado no dispositivo menor com o pino atribuição fixo. Se isto falhar, umas violações architectural mais adicionais estão identificadas e as recomendações da solução são dadas ao usuário. Se não houver nenhum dispositivo maior que pode ser usado com o projeto da ferragem e/ou o terceiro encaixe não obtiver um resultado apropriado, a seguir uma incorporação determina se os pinos nomeados específicos não estiverem cabendo. Se estes pinos estiverem identificados, e o usuário não os travar para baixo, a seguir podem ser permitidos flutuar e caber é executado uma vez mais. Se nenhuma solução não puder ser alcançada depois que as tentativas acima, a seguir uma incorporação informa o usuário que a sustentação técnica está requerida e um history das tentativas apropriadas pode ser gravado. Uma lima de programação pode ser gerada em um ajuste bem sucedido.