A computer aided hardware design system for enabling design of an actual
hardware implementation for a digital circuit using a high-level
algorithmic programming language. The system converts an algorithmic
representation for a hardware design initially created in the high-level
programming language, such as ANSI C, to a hardware design implementation,
such as an FPGA or other programmable logic or an ASIC. The C-type program
representative of the hardware design is compiled into a register transfer
level (RTL) hardware description language (HDL) that can be synthesized
into a gate-level hardware representation. The system additionally enables
simulation of the HDL design to verify design functionality. Finally,
various physical design tools can be utilized to produce an actual
hardware implementation. The system also permits the use of other
non-C-type high-level programming languages by first translating to a
C-type program. In contrast to previous hardware design tools, the system
compiles all C-type programming language features, including pointers and
structures, into synthesizable HDL.
Un système de conception assisté par ordinateur de matériel pour permettre la conception d'une exécution de matériel réelle pour un circuit numérique en utilisant un langage de programmation algorithmique à niveau élevé. Le système convertit une représentation algorithmique pour une conception de matériel au commencement créée dans le langage de programmation à niveau élevé, tel que la norme ANSI C, en exécution de conception de matériel, telle qu'un FPGA ou toute autre logique programmable ou un ASIC. Le C-type représentant de programme de la conception de matériel est compilé dans un langage de description de matériel du niveau de transfert de registre (RTL) (HDL) qui peut être synthétisé dans une représentation de matériel de porte-niveau. Le système permet en plus à la simulation de la conception de HDL de vérifier la fonctionnalité de conception. En conclusion, de divers outils de conception physiques peuvent être utilisés pour produire une exécution de matériel réelle. Le système permet également l'utilisation de l'autre non-C-type langages de programmation à niveau élevé en traduisant d'abord à un C-type programme. Contrairement aux outils de conception précédents de matériel, le système compile tout le C-type dispositifs de langage de programmation, y compris des indicateurs et des structures, dans HDL synthesizable.