Vis enkel innførsel

dc.contributor.advisorSvarstad, Kjetilnb_NO
dc.contributor.advisorBarzic, Ronan
dc.contributor.authorVee, Bjørn Thomas Sørengnb_NO
dc.date.accessioned2014-12-19T13:50:08Z
dc.date.accessioned2015-12-22T11:50:58Z
dc.date.available2014-12-19T13:50:08Z
dc.date.available2015-12-22T11:50:58Z
dc.date.created2014-09-17nb_NO
dc.date.issued2014nb_NO
dc.identifier747986nb_NO
dc.identifierntnudaim:11568
dc.identifier.urihttp://hdl.handle.net/11250/2371113
dc.description.abstractThis paper discuss the conversion of a simple 16-bit synchronous RISC based processor into asynchronous logic. The most important targets were the simplicity of the conversion, to see how the tools reacted to asynchronous elements, increase the stability of the processor under different conditions and make some general guide lines for conversion other processors.The report first gives a short introduction to design of asynchronous logic. Then it discuss approaches for the conversion before the actual implementations done are walked through. The area, power and performance for different implementations is also discussed.3 different asynchronous implementations was implemented and tested: One simple sequential request-acknowledge scheme version with no pipelining, one simple muller pipeline based implementation and last a more advanced muller pipeline based version with more pipeline steps, FIFOs to avoid hazards and register feedback.The simple pipelined muller version is verified in fpga as well as the original synchronous version.The main challenge was to decide how the conversion should be done, and get the synthesis tool to synthesize the design correctly. We got the asynchronous versions of the processor to work after synthesis by adding constraints on paths that exploit propagation delays to avoid the synthesis tool from optimizing those parts of the circuit. During the synthesis and constraint generation it was necessary to analyse the synthesis output to verify that the generated netlist was as expected.The fpga implemented asynchronous processor is not optimized for performance, but more for testability: We have added programmable delays and the possibility to control the processor with both a clock or the synchronous controller. A weakness with the report is that we have not had time to manufacture an actual asic to run and compare simulations against a real asic. Both rtl simulations, ntl simulations and fpga tests show that the implemented designs work as expected.We have not extracted exact timings from the actual routed asic design as the routing of the design is still a work in progress, it is however simple to see that for each extra pipeline step on the critical path of the processor, the area will increase, and the processor will be slowed down and the power will increase. This is because our processor is very sequential and thus the gain from more pipelining is zero. Still, it was important to see how more advanced implementations was handled by the tools. As the processor is small (if we look away from the ram blocks), the relative increase in the area and power for each pipeline stage is large. A closer look into dynamic delay scaling, models for signal propagation under different conditions and timing assumptions would be a natural way to continue the future work.nb_NO
dc.languageengnb_NO
dc.publisherInstitutt for elektronikk og telekommunikasjonnb_NO
dc.titleConversion of a simple Processor to asynchronous Logicnb_NO
dc.typeMaster thesisnb_NO
dc.source.pagenumber271nb_NO
dc.contributor.departmentNorges teknisk-naturvitenskapelige universitet, Fakultet for informasjonsteknologi, matematikk og elektroteknikk, Institutt for elektronikk og telekommunikasjonnb_NO


Tilhørende fil(er)

Thumbnail
Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel