Author(s):
Ferreira, Nelson ; Teixeira, Filipe ; Lau, Nuno ; Oliveira, Arnaldo ; Moreira, Orlando
Date: 2005
Origin: Electrónica e Telecomunicações
Subject(s): System Specification; Hardware Design Flow; Modeling; Synthesis; VHDL; SystemC; FPGA Prototyping; UART Design
Description
This paper describes the use of highilevel languages in hardware modeling and implementation. The purpose of the article is to describe a methodology that can be used in the design of anew system. First we will describe the main phases of hardware design flow, namely: modeling, validation, synthesis, implementation, prototyping and testing. We will also give a brief overview of somehigh-level languages. Afterwards, we will propose a methodology, where a new system is designedusing successively a subset of C++. SystemC and VHDL using some guidelines to provide a smooth transition between languages and levels of abstraction. We will present a case study where an UART has been designed using this methodology. We will report the advantages and disadvantages of eachlanguage. This methodology provided a clear refinement flow from a functional sequential modelto a RTL synthesizable model, although it created some consistency problems. The UART was implemented together with a MIPS32 processor within a FPGA for prototyping and testing purposes.
Este artigo descreve a utilização de linguagens de alto nível na modelação e implementação de hardware. O objectivo deste artigo é apresentar uma metodologia que pode ser usada no projecto de novos modelos de sistemas. Primeiro iremos descrever as principais Fases no fluxo de projecto de hardware, nomeadamente: modelação, validação, síntese, implementação, prototipagem e teste. Também iremos apresentar uma breve descrição de algumas linguagem de alto nivel. Posteriormente, iremos propor uma metodologia usando algumas regras que permitem obter uma transição suave entre diferentes linguagens e niveis de abstracção, quando um sistema é modelado usando sequencialmente um subconjunto das linguagens C++, SystemC e VHDL nas diferentes fases do projecto. Será apresentado um case study do projecto de uma UART utilizando a metodologia proposta. Iremos expor as vantagens e desvantagens de cada linguagem. Esta metodologia permitiu obter uma passagem suave do modelo funcional até ao modelo RTL sintetizável, no entanto criou alguns problemas de inconsistência. A UART foi implementada para teste e propotipagem conjuntamente com um processador MIPS32.