Please use this identifier to cite or link to this item:
http://hdl.handle.net/10773/31347
Title: | rtfss: a hardware description language for digital audio processing |
Other Titles: | rtfss: uma linguagem de descrição de hardware para processamento digital de áudio |
Author: | Pinho, André da Silva |
Advisor: | Silva, Tomás António Mendes Oliveira e |
Defense Date: | 19-Feb-2021 |
Abstract: | The pursuit of audio synthesis in digital circuitry and computing systems
dates back to the time where programming languages such as Lisp, COBOL
and Fortran were still being conceptualized. This era (the 1950s) marks the
appearance of the MUSIC I programming language. Since then, and as the
processing capabilities of computers kept rising, there was an influx of new
languages capable of synthesizing audio. Languages such as SuperCollider,
Pd (pure data), Max/MSP, ChucK and Faust are among the most popular
ones, nowadays. These languages, although having different approaches
and designs, have one aspect in common: they are all computer languages.
Albeit these solutions grant great flexibility, they present an issue: timing
constraints, particularly audio latency.
In this document, a new Audio Processing Language, called rtfss, is introduced.
This language was designed to be compiled mainly to hardware
targets, exploiting their inherent parallelism. To complement the formal
description of the language, a compiler that implements a subset of the
language's capabilities will also be presented. This compiler is capable of
analysing a design description written in rtfss and compile it to the lower
level hardware description language VHDL. One of the main highlights of
rtfss (and its compiler) is that the hardware architecture it synthesizes is
pipelined. This type of digital architecture is used in logic designs to maximize
the working frequency and the efficiency of the design.
Throughout this document, both the language's formal specification and
the compiler's implementation will be thoroughly analysed and explained.
Some use-case examples of this language, accompanied by their compilation
procedure, will also be illustrated and examined.
In this document, it is also described a simpler architecture of another Hardware
Audio Processing Language, which served as a stepping stone towards
the development of rtfss. As a product of its development, some useful
VHDL Audio (and MIDI 1.0) related hardware blocks were implemented. O interesse em sintetização de áudio em circuitos digitais e sistemas computacionais remonta à época em que as linguagens de programação Lisp, COBOL e Fortran ainda estavam a ser conceptualizadas. Esta era (por volta de 1950) marca o surgimento da linguagem de programação MUSIC I. Desde então, dado o aumento do poder de computação, houve um influxo de novas linguagens capazes de sintetizar áudio. Atualmente, linguagens como SuperCollider, Pd (pure data), Max/MSP, ChucK e Faust estão no espetro das mais populares. Estas linguagens, apesar de terem diferentes abordagens e designs, têm um aspeto comum: são todas linguagens de computador. Embora este tipo de solução conceda bastante flexibilidade, ela apresenta um problema: restrições temporais, particularmente latência de áudio. Neste documento, uma nova Linguagem de Processamento de Áudio, denominada rtfss, é introduzida. Esta linguagem foi concebida para ser compilada principalmente para dispositivos de hardware, de forma a tirar partido das suas capacidades de paralelismo. Para complementar a descrição formal da linguagem, será também apresentado um compilador capaz de lidar com um subconjunto das capacidades da linguagem. Este compilador é apto para analisar uma descrição feita em rtfss e de compilar para uma linguagem de nível inferior chamada VHDL. Um dos principais destaques de rtfss (e do seu compilador) é que a arquitetura de hardware sintetizada é segmentada (pipelined). Este formato de arquitetura digital é usado em circuitos lógicos para maximizar a frequência de funcionamento e a eficiência do design. Ao longo deste documento, a descrição formal da linguagem e a implementação do compilador serão meticulosamente analisados e explicados. serão também ilustrados alguns exemplos de casos de uso nesta linguagem, acompanhados pelo seu processo de compilação. Neste documento é também descrita uma arquitetura mais simples de outra linguagem de processamento de áudio para hardware. Esta linguagem serviu como fundação ao desenvolvimento de rtfss. Do desenvolvimento desta arquitetura derivou uma coletânea de blocos de hardware em VHDL para tratamento de àudio e de MIDI. |
URI: | http://hdl.handle.net/10773/31347 |
Appears in Collections: | UA - Dissertações de mestrado DETI - Dissertações de mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Documento_André_Pinho.pdf | 877.9 kB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.