dc.description.abstract | Gjennom arbeidet med denne oppgaven ble det laget to forskjellige maskinvaredesign. Den første var en konfigurerbar komponent som implementerte
b˚ade UART, SPI og I2C. Denne ble laget for ˚a finne ut hvorvidt dette kunne
ha noen fordeler over ˚a bruke separate komponenter, med fokus p˚a størrelse,
strømforbruk og pin-bruk. Det foresl˚atte designet har en liten forbedring i
estimert strømforbruk fra Vivado-rapporter, men størrelsen er litt større enn
summen av tre separate komponenter. I tillegg gjør begrensninger i designet
at kun I2C er støttet i sin helhet. B˚ade UART og SPI har begrensninger som
ikke finnes i de alternative, separate komponentene. Basert p˚a dette, samt litt
ujevne m˚alinger (I/O-busskommunikasjon var ikke inkludert i rapportene om
den konfigurerbare komponenten), konkluderer forfatteren med at eventuelle
fordeler med dette spesifike designet ikke er nok til ˚a kalle dette en forbedring
fra ˚a bruke separate komponenter.
Det andre designet er GenIE, eller Generic Interface Engine. Dette er en fullt
programmerbar grensesnitt-kontroller som kan implementere vilk˚arlige grensesnitt ved ˚a omprogrammeres. GenIE er implementert som en ASIP, application
specific instruction set-prosessor. Den ble laget for ˚a finne ut hvorvidt en programmerbar komponent hadde noen videre fordeler kontra den konfigurerbare
komponenten. Med hensyn til fokusomr˚adene for evalueringen av den konfigurerbare komponenten ble det ikke funnet noe definitivt svar. Dette i hovedsak
fordi GenIE er avhengig av eksternt minne, som ikke ble regnet med i omfanget
av denne oppgaven. Likevel er GenIEs økte fleksibilitet, med mulighetene til
˚a implementere forskjellige grensesnitt ved ˚a endre programmeringen, en fordel
over mer l˚aste komponenter, da dette muliggjør bruk av grensesnitt som ikke
opprinnelig er støttet av systemet. | |
dc.description.abstract | During the work with this thesis, two separate hardware designs were created.
The first, a configurable component implementing both UART, SPI and I2C,
was created to see whether this would gain any advantage over separate components in core size, power usage or pin usage. The suggested design does gain
a small improvement in estimated power usage from Vivado reports, however
the core size is in fact a bit larger than three separate components combined.
In addition, limitations of the design means that I2C is the only interface fully
supported, with both UART and SPI having limitations not present in the alternative, separate cores. With this taken into account, as well as somewhat
uneven measurement grounds (I/O bus communications were not included in
the configurable core reports), the author concludes that any advantage of this
specific design is not enough to call this an improvement over using separate
components.
The second hardware design is the GenIE, or generic interface engine, a fully
programmable interface controller able to implement arbitrary interfaces by reprogramming. The GenIE is implemented as an ASIP, or application specific instruction set processor. This was created to see whether or not a programmable
component could gain any further advantages over the configurable component.
With regards to the metrics focused on for the configurable component, no
definitive answer was arrived at. This was mainly because the programmable
core uses an external memory, which was not considered in the scope of this
thesis. However, the increased flexibility of the GenIE, with the ability to implement different interfaces by changing its program, is an advantage over more
fixed components, as this makes it possible to use interface not originally available on the system. | |