A programmable logic device includes a non-volatile permission memory block
to enable a customer to utilize a proprietary core. In one embodiment, the
core supplier designs its core to check for a specified permission bit or
bit pattern in the permission memory block before the core will operate.
If the permission bit or bit pattern is set properly, the core functions
correctly when implemented in the PLD. If not, the core will not function.
To prevent the customer from modifying the core such that it no longer
depends upon the permission bits to function, the configuration bitstream
used to program the PLD can be encrypted before and during transmission to
the PLD. This encryption ensures security of the customer's logic design
as well as the supplier's core design. In this manner, the customer
remains dependent upon properly set permission memory bits, i.e. proper
authorization, to obtain core functionality.
Un dispositif de logique programmable inclut un bloc non-volatile de mémoire de permission pour permettre à un client d'utiliser un noyau de propriété industrielle. Dans une incorporation, les conceptions de fournisseur de noyau son noyau à vérifier un peu indiqué de permission ou une configuration binaire dans le bloc de mémoire de permission avant le noyau fonctionneront. Si la permission mordait ou la configuration binaire est placée correctement, les fonctions de noyau correctement une fois mis en application dans le PLD. Si pas, le noyau ne fonctionnera pas. Pour empêcher le client de modifier le noyau tels qu'ils ne dépendent plus du peu de permission pour fonctionner, le bitstream de configuration employé pour programmer le PLD peuvent être chiffrés avant et pendant la transmission au PLD. Ce chiffrage assure la sécurité de la conception de la logique du client comme la conception du noyau du fournisseur. De cette manière, la personne à charge des restes de client sur le peu correctement réglé de mémoire de permission, c.-à-d. autorisation appropriée, d'obtenir la fonctionnalité de noyau.