A field programmable gate array (FPGA) is provided that can selectively
accept or reject selected software (macros). Specifically, configuration
data for the FPGA is passed through a configuration port to a decoder. The
decoder processes the configuration data to detect locked macros. If a
locked macro is detected, the decoder attempts to unlock the locked macro
using one or more keys stored in a key table of the FGPA. If an
appropriate key is in the key table, the decoder unlocks the locked macro
to configure the FPGA. The keys can be pre-programmed into the FGPA by the
macro vendor. If configuration data containing a locked macro is used with
an FPGA without the appropriate key, configuration of the FPGA fails.
Une rangée de porte programmable de champ (FPGA) est à condition que puisse sélectivement accepter ou rejeter le logiciel choisi (macros). Spécifiquement, des données de configuration pour le FPGA sont passées par un port de configuration à un décodeur. Le décodeur traite les données de configuration pour détecter des macros verrouillés. Si un macro verrouillé est détecté, le décodeur essaye d'ouvrir le macro verrouillé en utilisant une ou plusieurs clefs stockées dans une table principale du FGPA. Si une clef appropriée est dans la table principale, le décodeur ouvre le macro verrouillé pour configurer le FPGA. Les clefs peuvent être préprogrammées dans le FGPA par le macro fournisseur. Si des données de configuration contenant un macro verrouillé sont employées avec un FPGA sans clef appropriée, la configuration du FPGA échoue.