Arnaldo Silva
Rodrigues de
Oliveira
Modelos, Métodos e Ferramentas para
Implementação de Unidades de Controlo
Virtuais
Arnaldo Silva
Rodrigues de
Oliveira
Modelos, Métodos e Ferramentas para
Implementação de Unidades de Controlo
Virtuais
Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Engenharia Electrónica e de Telecomunicações, realizada sob orientação científica do Dr. Valery Sklyarov, Professor Catedrático Visitante do Departamento de Electrónica e de Telecomunicações da Universidade de Aveiro
Presidente Prof. Dr. António Manuel de Brito Ferrari de Almeida Professor Catedrático da Universidade de Aveiro
Prof. Dr. João Paulo Cacho Teixeira
Professor Associado com Agregação do Instituto Superior Técnico da Universidade Técnica de Lisboa
Prof. Dr. Valery Anatolevitch Sklyarov
Em primeiro lugar, gostaria de agradecer ao meu orientador, o Prof. Dr. Valery Sklyarov, pelo facto de me ter ingressado na área dos sistemas reconfiguráveis, por ter contribuído para o aprofundamento dos meus conhecimentos sobre o projecto de circuitos sequenciais e por ter proposto e orientado este trabalho, demonstrando sempre a sua disponibilidade e acompanhamento. Agradeço também ao Prof. Dr. António Ferrari por todos os comentários e sugestões que contribuíram para o aperfeiçoamento desta dissertação.
Reconheço também o apoio de todos os membros do Laboratório de Sistemas Computacionais do Departamento de Electrónica e Telecomunicações. Em particular, gostaria de agradecer à Engª. Andreia Melo, ao Eng. Artur Pereira e ao Doutor António Adrego da Rocha por todas as discussões e sugestões durante a realização deste trabalho, as quais se revelaram extremamente úteis.
Do ponto de vista financeiro, gostaria de agradecer à Fundação para a Ciência e a Tecnologia, a qual suportou este trabalho através da Bolsa de Mestrado – Apoio à Dissertação com a referência PRAXIS XXI/BM/17678/98. A apresentação deste trabalho em algumas conferências e workshops internacionais foi possível graças ao apoio da Fundação Calouste Gulbenkian, do IEETA – Instituto de Engenharia Electrónica e Telemática de Aveiro e da rede BELSIGN – Behavioral Design Methodologies for
Digital Systems do programa da Comunidade Europeia HCM – Human Capital Mobility sob o contrato CHRX-CT94-0459.
Por último, mas de uma forma muito especial, agradeço à minha família todo o apoio que me deram, em particular, aos meus pais Maria José e Arnaldo, às minhas irmãs Maria Helena e Cristiana e finalmente à Andreia. A eles dedico este trabalho.
processamento de dados. A sua função é estabelecer a sequência de operações realizadas pelo sistema a que pertencem. Dependendo da aplicação, podem ser utilizadas isoladamente ou em conjunto com outros componentes, tais como unidades de execução, sensores e actuadores. Como um caso particular de circuitos sequenciais, são normalmente descritas por modelos orientados ao estado, dos quais a máquina de estados finitos é o exemplo mais conhecido. No entanto, com a crescente complexidade dos sistemas e consequentemente das suas unidades de controlo, este modelo deixou de ser adequado para realizar a sua especificação, uma vez que não suporta a descrição explícita de hierarquia e concorrência. Nesta dissertação são abordados alguns dos modelos e linguagens mais apropriadas para este fim, em particular a máquina de estados finitos hierárquica e/ou paralela, os esquemas de grafos hierárquicos e/ou paralelos e os Statecharts. O aparecimento na última década de dispositivos lógicos de elevada capacidade e programáveis pelo utilizador foi responsável por importantes alterações no projecto de sistemas digitais, principalmente ao nível do tempo, custo e flexibilidade de projecto. Além disso, os dispositivos programáveis dinamicamente, deram origem a uma nova classe de circuitos: os sistemas reconfiguráveis. Estes podem ser usados para construir sistemas computacionais modificáveis, pelo que permitem combinar as vantagens de uma solução programável com o elevado desempenho de uma implementação em hardware. Os sistemas reconfiguráveis podem também ser utilizados em aplicações onde a quantidade de recursos de hardware necessários para uma implementação integral seja elevada e onde nem todos os sub-sistemas sejam necessários em simultâneo, sendo portanto possível e até desejável uma implementação parcial em conjunto com a sua reconfiguração dinâmica. Neste caso, devido à analogia com os sistemas de memória virtual, os sistemas reconfiguráveis são também designados por sistemas de hardware virtual e os respectivos circuitos de controlo por unidades de controlo virtuais. Como as unidades de controlo são específicas de cada projecto e normalmente bastante irregulares, torna-se necessário o estabelecimento de algumas restrições de forma a simplificar o seu projecto e reconfiguração. Nesta dissertação é proposta uma arquitectura de unidades de controlo virtuais baseada numa estrutura predefinida, parametrizável e optimizada para o dispositivo de implementação utilizado, a FPGA XC6200 da Xilinx. Esta arquitectura em conjunto com os modelos e os dispositivos lógicos programáveis utilizados permite construir unidades de controlo complexas, flexíveis, extensíveis e reutilizáveis. O processo de síntese de unidades de controlo é também abordado, com uma atenção especial para as técnicas mais apropriadas para as FPGAs. Finalmente, para suportar a reconfiguração dinâmica dos circuitos desenvolvidos, foi construída uma biblioteca de classes em C++ e um controlador (device
establish the sequence of operations accomplished by the system they belong to. Depending on the application, they can be used separately or together with other components, such as execution units, sensors or actuators. Because control units are a particular kind of sequential circuits, they are usually described by state-oriented models, the finite state machine being the best known example. However, with the increasing complexity of the systems and consequently of its control units, this model is becoming less adapted to perform its specification, because it does not support the explicit description of hierarchy and concurrency. This dissertation presents some of the models and languages better suited to this purpose, in particular the hierarchical and/or parallel finite state machine, the hierarchical and/or parallel graph schemes and the Statecharts formalisms.
The appearance in the last decade of high capacity user programmable logic devices was responsible for important modifications in the way digital systems are designed, mainly in terms of time, cost and design flexibility. Besides, the availability of dynamically reconfigurable devices made possible the emergence of a new class of circuits: the reconfigurable systems. They can be used to build modifiable computational systems combining the advantages of a programmable solution with the high performance of a hardware implementation. The reconfigurable systems can also be used in applications where the amount of required hardware resources for an integral implementation is too high or at least bigger than desirable and where all the subsystems are not necessary simultaneously, making possible a partial implementation in conjunction with its dynamic reconfiguration. Due to the analogy with virtual memory systems, these systems can also be called virtual hardware systems and their respective control circuits virtual control units. Because the control units are specific for each project and usually very irregular, it is necessary to impose some constraints in order to simplify their design and reconfiguration. In this dissertation an architecture for virtual control units based on a predefined, parameterizable and optimized template for a particular target device, the FPGA XC6200 from Xilinx, is proposed. However, the main ideas of this architecture can also be easily applied to other FPGA families. The use of this architecture together with the hierarchical and/or parallel models and the dynamically reconfigurable logic devices allows building complex, flexible, extensible and reusable control units. This contributes to a decrease in development time and permits system updates after the completion of the design and manufacturing cycles. The control unit synthesis process is also presented with special emphasis on the techniques better suited to FPGA implementation. Finally, to support the dynamic reconfiguration of the developed circuits, a C++ class library and a device driver for the development system used in this work were built.
L
,QWURGXomR
3URMHFWRGH6LVWHPDV'LJLWDLV
7LSRVGH5HSUHVHQWDomR 1tYHLVGH*UDQXORVLGDGH (WDSDVGH3URMHFWR (VSHFLILFDomR H 0RGHODomR 'HVHQYROYLPHQWR GH ELEOLRWHFDV 6tQWHVH H 2SWLPL]DomR 3URMHFWR )tVLFR 9HULILFDomR 6LPXODomR H $YDOLDomR 'RFXPHQWDomR &RQVWUXomR GR 3URWyWLSR 'HSXUDomR GR 3URWyWLSR )DEULFDomR 0HWRGRORJLDVGH3URMHFWR8QLGDGHVGH&RQWUROR
2EMHFWLYRVGR7UDEDOKR
2UJDQL]DomRGD'LVVHUWDomR
'LVSRVLWLYRV/yJLFRV3URJUDPiYHLV
,QWURGXomR
7HFQRORJLDVGH3URJUDPDomR
)XVtYHLV $QWLIXVtYHLV 7UDQVtVWRUHVGH3RUWD)OXWXDQWH(3520H((3520 &pOXODVGH0HPyULD(VWiWLFD65$0'LVSRVLWLYRV/yJLFRV3URJUDPiYHLV(OHPHQWDUHV
3520V 3/$V 3$/V *$/V'LVSRVLWLYRV/yJLFRV3URJUDPiYHLV&RPSOH[RV
$SOLFDo}HVGR&3/'V$JUHJDGRVGH&pOXODV/yJLFDV3URJUDPiYHLV
$SOLFDo}HVGDV)3*$V&RPSDUDomRHQWUHRV)3/'VHRV03/'V
9HORFLGDGH 'HQVLGDGH 7HPSRGH'HVHQYROYLPHQWR 7HPSRSDUD&RQVWUXomRGR3URWyWLSRH6LPXODomR7HPSRSDUD)DEULFDomRH'HVHQYROYLPHQWRGH7HVWHV 0RGLILFDo}HV)XWXUDV 5LVFRGH,QYHQWDULDomR &XVWR
$)DPtOLDGH)3*$V;&GD;LOLQ[
'HVFULomR (VWUXWXUDH5HFXUVRVGH,QWHUOLJDomR 8QLGDGHIXQFLRQDO 5HJLVWRVGHFRQWUROR 0DS 5HJLVWHU 0DVN 5HJLVWHU :LOGFDUG 5HJLVWHUV )OX[RGH3URMHFWR 5HFRPHQGDo}HVGH3URMHFWR &RQVLGHUDo}HV $UTXLWHFWXUDLV 6LQDLV GH &RQWUROR GRV )OLSIORSV 3LSHOLQLQJ 5HFXUVRV GH ,QWHUOLJDomR H ,PSODQWDomR GH &RPSRQHQWHV0RGHORVH$UTXLWHFWXUDVGH8QLGDGHVGH&RQWUROR
,QWURGXomR
0RGHORV
0iTXLQDGH(VWDGRV)LQLWRV 0iTXLQDGH(VWDGRV)LQLWRVFRP8QLGDGHGH([HFXomR 5HGHVGH3HWUL 0iTXLQDGH(VWDGRV)LQLWRV+LHUiUTXLFD 0iTXLQDGH(VWDGRV)LQLWRV3DUDOHOD 0iTXLQDGH(VWDGRV)LQLWRV3DUDOHODH+LHUiUTXLFD 0iTXLQDGH(VWDGRV)LQLWRV9LUWXDO$UTXLWHFWXUDV
&RQWURODGRU &RQWURODGRUFRP8QLGDGHGH([HFXomR &RQWURODGRU+LHUiUTXLFR&RQWURODGRU +LHUiUTXLFR 1mR 5HSURJUDPiYHO &RQWURODGRU +LHUiUTXLFR 5HSURJUDPiYHO 6LQFURQL]DomR &RQWURODGRU9LUWXDO
(VSHFLILFDomRGH8QLGDGHVGH&RQWUROR
,QWURGXomR
'LDJUDPDVGH7UDQVLomRGH(VWDGR
0iTXLQDVGH(VWDGR$OJRUtWPLFDV
5HGHVGH3HWUL
(VTXHPDVGH*UDIRV
(VTXHPDVGH*UDIRV+LHUiUTXLFRV
6WDWHFKDUWV
9+'/
6tQWHVHGH8QLGDGHVGH&RQWUROR
,QWURGXomR
&RGLILFDomRGH(QWUDGDVH6DtGDV
0LQLPL]DomRGH(VWDGRV
0LQLPL]DomRGH(VWDGRVSDUD)60V&RPSOHWDPHQWH(VSHFLILFDGDV 0LQLPL]DomR GH (VWDGRV SDUD )60V 1mR &RPSOHWDPHQWH(VSHFLILFDGDV
&RGLILFDomRGH(VWDGRV
&RGLILFDomRGH(VWDGRVSDUD&LUFXLWRVGH'RLV1tYHLV &RGLILFDomRGH(VWDGRVSDUD&LUFXLWRV0XOWLQtYHO &RGLILFDomRGH(VWDGRV2QH+RW2SWLPL]DomR/yJLFD
6tQWHVH0DQXDOSDUD&LUFXLWRVGH'RLV1tYHLV
&RGLILFDomRGH(VWDGRV (TXDo}HVGH(VWDGR6HJXLQWHHGDV6DtGDV (VFROKD GRV (OHPHQWRV GH 0HPyULD H (TXDo}HV GH ([FLWDomR GRV)OLSIORSV 0LQLPL]DomR/yJLFD
(TXDomR GH ([FLWDomR GR )OLSIORS (TXDomR GH ([FLWDomR GR )OLSIORS (TXDomR GH ([FLWDomR GR )OLSIORS (TXDo}HV GDV VDtGDV 'HVHQKRGR(VTXHPD)LQDOGR&LUFXLWR
2SWLPL]DomR$XWRPiWLFDGD&RPSRQHQWH&RPELQDWyULD
6tQWHVH/yJLFD6HTXHQFLDO$VVLVWLGDSRU&RPSXWDGRU
/HRQDUGR6SHFWUXP 6\QRSV\V 6,6²6HTXHQWLDO,QWHUDFWLYH6\QWKHVLV)OX[RGH3URMHFWRGH8QLGDGHVGH&RQWUROR2ULHQWDGRSDUDD
;&
3URMHFWRGH8QLGDGHVGH&RQWUROR9LUWXDLV
,QWURGXomR
3ODWDIRUPDGH'HVHQYROYLPHQWR(VSHFLILFDomR
6tQWHVH
,PSOHPHQWDomR
(OHPHQWR5HFRQILJXUiYHO 'HVFULomR 9+'/ H 5HSUHVHQWDomR )tVLFD &RGLILFDGRUH'HVFRGLILFDGRU 'HVFULomR 9+'/ H 5HSUHVHQWDomR )tVLFD &RQYHUVRUGH&yGLJR 'HVFULomR 9+'/ H 5HSUHVHQWDomR )tVLFD /yJLFDGH0DSHDPHQWR5HJLVWR GH $OJRULWPR 5HJLVWR GH ,GHQWLILFDomR 3LOKDGH0HPyULD 'HVFULomR 9+'/ H 5HSUHVHQWDomR )tVLFD &LUFXLWRGH6LQFURQL]DomR 'HVFULomR 9+'/ H 5HSUHVHQWDomR )tVLFD ,QWHUOLJDomRGH0~OWLSORV%ORFRVGH,PSOHPHQWDomR ,PSOHPHQWDomR HP 'LVSRVLWLYRV GH &RQWH[WR 0~OWLSOR H 8WLOL]DomR
HP6LVWHPDV,QWHJUDGRV
%LEOLRWHFD9+'/GH&RPSRQHQWHV
$UUD\B3DFNYKG &PSB3DFNYKG &QWB3DFNYKG &RGB3DFNYKG 'HFB3DFNYKG *DWHVB3DFNYKG *VB3DFNYKG /DWB))B3DFNYKG 0LVFB3DFNYKG 5DPB3DFNYKG 5HJB3DFNYKG6RIWZDUHSDUD&RQWURORGD5HFRQILJXUDomR'LQkPLFD
,QWURGXomR
$%LEOLRWHFD,03$5/,%
0yGXOR%RDUG,QWHUIDFHGOO 0yGXOR%RDUGGOO 0yGXOR;FGOO 0yGXOR&DO)LOHGOO 0yGXOR5DO/LEGOO 0yGXOR)LUH)O\GOO&RQWURODGRUGH6RIWZDUHSDUDD3ODFD)LUH)O\
&RQFOXV}HVH7UDEDOKR)XWXUR
&RQFOXV}HV
&RQWULEXLo}HV2ULJLQDLV
7UDEDOKR)XWXUR
$QH[R,²/LVWDJHQVGDV3/$VH(TXDo}HV0XOWLQtYHO
&RGLILFDomR GH (VWDGRV %LQiULD &RGLILFDomR GH (VWDGRV GH *UD\ &RGLILFDomR GH (VWDGRV 'LVWkQFLD 7RWDO 0tQLPD '70 &RGLILFDomR GH (VWDGRV 'LVWkQFLD 0tQLPD HQWUH RV (VWDGRV GH (QWUDGD H GH 6DtGD '0((6/HRQDUGR 6SHFWUXP 6\QRSV\V
$QH[R ,,, ² /LVWDJHP GD %LEOLRWHFD SDUD 0DSHDPHQWR QD
7HFQRORJLD;&GD;LOLQ[
;&JHQOLE$QH[R,9²/LVWDJHQVGRV0yGXORV9+'/
5HFB(OHPYKG 6LQJOHB%ORFNYKG 'XDOB%ORFNYKG 4XDGB%ORFNYKG 6WDFNYKG %ORFNVB,2YKG 6\QFYKG ,UTB%ORFNYKG 9&8YKG$QH[R 9 ² &yGLJR )RQWH GR &RQWURODGRU GD 3ODFD GH
'HVHQYROYLPHQWR)LUH)O\
3FL%RDUG,R&WUOK %RDUG,R7\SHVK )LUHIO\'UYK )LUHIO\0DLQK )LUHIO\0DLQFSS )LUHIO\'HY&WUOK )LUHIO\'HY&WUOFSS )LUHIO\5:K )LUHIO\5:FSS )LUHIO\,RK )LUHIO\,RFSS )LUHIO\3QSK )LUHIO\3QSFSS )LUHIO\3RZHUK )LUHIO\3RZHUFSS )LUHIO\6\V&WUOK )LUHIO\6\V&WUOFSS5HIHUrQFLDV
/LVWDGH$FUyQLPRV
YLL
)LJXUD²5HSUHVHQWDomRJUiILFDGRSODQRGHDEVWUDFomRDUHODomRHQWUHRVWLSRVGH UHSUHVHQWDomRRVQtYHLVGHJUDQXORVLGDGHHDVWUDQVIRUPDo}HVGHVtQWHVHDQiOLVH GHFRPSRVLomR GHVFHQGHQWH H PRQWDJHP DVFHQGHQWH E YDULDomR GR QtYHO GH DEVWUDFomRHPIXQomRGRWLSRGHUHSUHVHQWDomRHGRQtYHOGHJUDQXORVLGDGH )LJXUD²'HFRPSRVLomRGHVFHQGHQWHDHPRQWDJHPDVFHQGHQWHEHVWUXWXUDOGH XPVLVWHPD )LJXUD²&LFORGHSURMHFWRGHXPVLVWHPDGLJLWDODHFRUUHVSRQGrQFLDFRPRSODQR GHDEVWUDFomRE )LJXUD²6tQWHVHGHXPVLVWHPDDSDUWLUGHXPDGHVFULomRFRPSRUWDPHQWDODEVWUDFWD )LJXUD²$PELHQWHWtSLFRGHVLPXODomRGHVLVWHPDVGLJLWDLV )LJXUD²(VWUXWXUDGHXPVLVWHPDFRPSXWDFLRQDO )LJXUD ² &ODVVLILFDomR GRV FLUFXLWRV LQWHJUDGRV XWLOL]DGRV HP VLVWHPDV GLJLWDLV D
$6,&VE)3/'VHUHVSHFWLYDVVXEFDWHJRULDV )LJXUD²([HPSORGHXPJDWHDUUD\ )LJXUD²&DSDFLGDGHVGRVWUrVWLSRVPDLVFRPXQVGH)3/'VHPWHUPRVGHSRUWDV OyJLFDVHTXLYDOHQWHV )LJXUD²&RQVWLWXLomRGHXPDQWLIXVtYHO )LJXUD²,PSOHPHQWDomRGHIXQo}HVOyJLFDV$1'FRPWUDQVtVWRUHV(3520 )LJXUD²(OHPHQWRVSURJUDPiYHLVFRQWURODGRVSRUFpOXODV65$0DLQWHUUXSWRU EPXOWLSOH[DGRUFWDEHODGHYHUGDGH )LJXUD²&pOXODGHPHPyULD65$0FRPFLQFRWUDQVtVWRUHV )LJXUD²(VWUXWXUDJHUDOGHXP63/' )LJXUD²(VWUXWXUDLQWHUQDGHXPD3520 )LJXUD²(VWUXWXUDLQWHUQDGHXPD3/$ )LJXUD²(VWUXWXUDLQWHUQDGHXPD3$/ )LJXUD²(VWUXWXUDGHXP&3/' )LJXUD²$UTXLWHFWXUDGHXPD)3*$EDVHDGDHPLOKDVGHEORFRVOyJLFRVURGHDGRV SRUUHFXUVRVGHLQWHUOLJDomR )LJXUD²$UTXLWHFWXUDGHXPD)3*$EDVHDGDHPOLQKDVGHEORFRVOyJLFRVHFDQDLV GHLQWHUOLJDomR )LJXUD²$UTXLWHFWXUDGHXPD)3*$FHOXODUWDPEpPGHVLJQDGDSRUVHDRIJDWHV )LJXUD²,PSOHPHQWDomRGHXPDIXQomROyJLFDXVDQGRXPDWDEHODGHYHUGDGHRX PXOWLSOH[DGRUHV )LJXUD²(VWUXWXUDGREORFROyJLFRFRQILJXUiYHOEDVHDGRHPWDEHODVGHYHUGDGHGD IDPtOLD;&GD;LOLQ[ )LJXUD ² (VWUXWXUD GDV FpOXODV EDVHDGDV HP PXOWLSOH[DGRUHV GD IDPtOLD 6; GD
$FWHO )LJXUD ² ,QWHUUXSWRUHV H PXOWLSOH[DGRUHV FRQWURODGRV SRU FpOXODV 65$0 QXPD
)3*$ )LJXUD²(VWUXWXUDGXPDFpOXOD;&FRQVWLWXtGDSRUXPDXQLGDGHIXQFLRQDOH
SRUUHFXUVRVGHLQWHUOLJDomROLQKDVHPXOWLSOH[DGRUHV )LJXUD²(VWUXWXUDGDVLQWHUOLJDo}HVHQWUHFpOXODVYL]LQKDV )LJXUD²%ORFRGH×FpOXODVHUHVSHFWLYDVLQWHUOLJDo}HV
)LJXUD²%ORFRGH×FpOXODVHUHVSHFWLYDVLQWHUOLJDo}HV )LJXUD²'LVSRVLWLYR;&IRUPDGRSRUEORFRVGH×FpOXODVEORFRV GHHQWUDGDVDtGDHUHFXUVRVGHLQWHUOLJDomR )LJXUD²7UDoDGRGDVOLQKDVPDJLFQXPEORFRGH×FpOXODV )LJXUD²(VWUXWXUDLQWHUQDGDXQLGDGHIXQFLRQDO )LJXUD²)XQo}HVOyJLFDVLPSOHPHQWiYHLVQDXQLGDGHIXQFLRQDO )LJXUD²([HPSORGHRSHUDomRGR0DS5HJLVWHU )LJXUD²$FWLYDomRGDVOLQKDVGHVDtGDGRGHVFRGLILFDGRUGHOLQKDHPIXQomRGR HQGHUHoRHGRYDORUGRUHJLVWR5RZ:LOGFDUG )LJXUD²)OX[RGHSURMHFWRWtSLFRSDUDD;& )LJXUD ² ,QWHUIDFH GD IHUUDPHQWD ;$&7VWHS 6HULHV SDUD LPSOHPHQWDomR GH
FLUFXLWRVQD)3*$;& )LJXUD²(QFDPLQKDPHQWRGRVVLQDLVGHFRQWURORGRVIOLSIORSVDWUDYpVGHUHFXUVRV
GHLQWHUOLJDomRDJHUDLVEJOREDLV )LJXUD²'LIHUHQWHVPRGHORVGHXPFRQWURODGRUGHHOHYDGRUDOLQJXDJHPQDWXUDO
EDOJRUtWPLFRFPiTXLQDGHHVWDGRV )LJXUD ² $UTXLWHFWXUDV XVDGDV QD LPSOHPHQWDomR GH XP FRQWURODGRU D
LPSOHPHQWDomRDRQtYHOOyJLFRELPSOHPHQWDomRDRQtYHOGRVLVWHPD )LJXUD²0RGHOR)60GH0HDO\SDUDRFRQWURODGRUGHHOHYDGRU )LJXUD²0RGHOR)60GH0RRUHSDUDRFRQWURODGRUGHHOHYDGRU )LJXUD²0RGHOR)60'GRFRQWURODGRUGHHOHYDGRU )LJXUD²([HPSORGHXPDUHGHGH3HWUL )LJXUD ² ([HPSORV GH UHGHV GH 3HWUL TXH UHSUHVHQWDP D VHTXHQFLDomR E
GHULYDomR QmR GHWHUPLQtVWLFD F VLQFURQL]DomR G FRQWHQomR GH UHFXUVRV H FRQFRUUrQFLD )LJXUD²([HPSORGHXPPRGHOR+)60 )LJXUD²5HSUHVHQWDomRGHXPD+D3)60FRPDOLQJXDJHP6WDWHFKDUWV )LJXUD²([HPSORGHXPPRGHOR9)60 )LJXUD²$UTXLWHFWXUDGHXPFRQWURODGRU )LJXUD²'LDJUDPDGHEORFRVGHXPFRQWURODGRUFRPXQLGDGHGHH[HFXomR )LJXUD²([HPSORGHXPD+)60VHPUHFXUVLYLGDGH )LJXUD²5HODo}HVHQWUHDV)60VTXHH[HFXWDPQRVYiULRVQtYHLVKLHUiUTXLFRVGH XPD+)60HRVUHJLVWRVGDSLOKDGHPHPyULD )LJXUD²*UDIRGHLQYRFDo}HVQXPD+)60VHPUHFXUVLYLGDGH )LJXUD²([HPSORGHXPD+)60FRPUHFXUVLYLGDGH )LJXUD²*UDIRGHLQYRFDo}HVQXPD+)60FRPUHFXUVLYLGDGH )LJXUD²$UTXLWHFWXUDJHQpULFDGHXPFRQWURODGRUKLHUiUTXLFR )LJXUD ² ([HPSOR GH XPD DUTXLWHFWXUD GH XP FRQWURODGRU KLHUiUTXLFR QmR
UHSURJUDPiYHO )LJXUD ² ([HPSOR GH XPD DUTXLWHFWXUD GH XP FRQWURODGRU KLHUiUTXLFR
UHSURJUDPiYHO )LJXUD ² 6HTXrQFLD GH HYHQWRV GH VLQFURQL]DomR QD DUTXLWHFWXUD GR FRQWURODGRU
KLHUiUTXLFRUHSURJUDPiYHOVHJXQGRPRGHORGH0RRUH )LJXUD ² 6HTXrQFLD GH HYHQWRV GH VLQFURQL]DomR QD DUTXLWHFWXUD GH FRQWURODGRU
KLHUiUTXLFRUHSURJUDPiYHOVHJXQGRPRGHORGH0HDO\ )LJXUD²$UTXLWHFWXUDJHQpULFDGHXPFRQWURODGRUYLUWXDO )LJXUD ² ([HPSOR GH XP GLDJUDPD GH WUDQVLomR GH HVWDGR SDUD GHVFULomR GR
)LJXUD ² (VWUXWXUD GR EORFR EDVH XVDGR QD FRQVWUXomR GH PiTXLQDV GH HVWDGR DOJRUtWPLFDV )LJXUD ² ([HPSOR GH XPD PiTXLQD GH HVWDGRV DOJRUtWPLFD SDUD GHVFULomR GR
FRPSRUWDPHQWRGDXQLGDGHGHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD )LJXUD ² ([HPSOR GH XPD UHGH GH 3HWUL SDUD GHVFULomR GR FRPSRUWDPHQWR GD
XQLGDGHGHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD )LJXUD²7LSRVGHQRGRVGHXP*6 )LJXUD²([HPSORGHXPHVTXHPDGHJUDIRVSDUDGHVFULomRGRFRPSRUWDPHQWRGD
XQLGDGHGHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD )LJXUD ² ([HPSOR GH XP HVTXHPD GH JUDIRV KLHUiUTXLFR SDUD GHVFULomR GR
FRPSRUWDPHQWRGDXQLGDGHGHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD )LJXUD²([HPSORGHXP6WDWHFKDUWJHQpULFRTXHLOXVWUDDFDSDFLGDGHGHGHVFULomRGH KLHUDUTXLDHFRQFRUUrQFLD )LJXUD²([HPSORGH6WDWHFKDUWSDUDGHVFULomRGRFRPSRUWDPHQWRGDXQLGDGHGH FRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD )LJXUD²/LVWDJHP9+'/TXHGHVFUHYHRFRPSRUWDPHQWRGDXQLGDGHGHFRQWUROR GDPiTXLQDGHYHQGDDXWRPiWLFD )LJXUD²/LVWDJHP9+'/GDWHVWEHQFKGDPiTXLQDGHYHQGDDXWRPiWLFD )LJXUD²5HVXOWDGRGDVLPXODomRGDPiTXLQDGHYHQGDDXWRPiWLFDHP9+'/ )LJXUD²7DUHIDVQRUPDOPHQWHUHDOL]DGDVQDVtQWHVHPDQXDOGHFLUFXLWRVVHTXHQFLDLV )LJXUD²5HSUHVHQWDomRGDXQLGDGHGHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFDGR SRQWRGHYLVWDGHHQWUDGDVHVDtGDV )LJXUD ² 'LDJUDPD GH WUDQVLomR GH HVWDGRV TXH GHVFUHYH R FRPSRUWDPHQWR GD
XQLGDGHGHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD )LJXUD²5HGXomRSRUPXOWLSOH[DJHPGRQ~PHURGHHQWUDGDVDSOLFDGDVDRQ~FOHRGD
XQLGDGHGHFRQWUROR )LJXUD²5HGXomRSRUFRGLILFDomRGRQ~PHURGHHQWUDGDV DSOLFDGDV DR Q~FOHR GD
XQLGDGHGHFRQWUROR )LJXUD²5HGXomRSRUGHVFRGLILFDomRGRQ~PHURGHVDtGDVFRQWURODGDVSHORQ~FOHR GDXQLGDGHGHFRQWUROR )LJXUD²'LDJUDPDGHWUDQVLomRGHHVWDGRVLQLFLDODQWHVGDPLQLPL]DomRGHHVWDGRV GHXPD)60FRPSOHWDPHQWHHVSHFLILFDGD )LJXUD²'LDJUDPDGHWUDQVLomRGHHVWDGRVILQDODSyVDPLQLPL]DomRGHHVWDGRV )LJXUD ² 'LDJUDPDV GH WUDQVLomR GH HVWDGRV GH XPD )60 QmR FRPSOHWDPHQWH
HVSHFLILFDGD D DQWHV GD PLQLPL]DomR GH HVWDGRV E DSyV D PLQLPL]DomR GH HVWDGRV )LJXUD ² &RGLILFDomR GH HVWDGRV ELQiULD SDUD D )60 GD XQLGDGH GH FRQWUROR GD
PiTXLQDGHYHQGDDXWRPiWLFD )LJXUD ² &RGLILFDomR GH HVWDGRV GH JUD\ SDUD D )60 GD XQLGDGH GH FRQWUROR GD
PiTXLQDGHYHQGDDXWRPiWLFD )LJXUD²&RGLILFDomRGHHVWDGRVGH'70SDUDD)60GDXQLGDGHGHFRQWURORGD
PiTXLQDGHYHQGDDXWRPiWLFD )LJXUD²([HPSORGHGLDJUDPDGHWUDQVLomRGHHVWDGRVDHUHVSHFWLYRJUDIRSDUD
DWULEXLomRGHHVWDGRVEDVHDGDQRDOJRULWPRRULHQWDGRDRIDQRXWE )LJXUD ² &RGLILFDomR GH HVWDGRV '0((6 SDUD D )60 GD PiTXLQD GH YHQGD
DXWRPiWLFD )LJXUD ² 5HJUDV SDUD FRQYHUVmR GH XPD GHVFULomR FRPSRUWDPHQWDO EDVHDGD HP
)LJXUD ² (VTXHPD GH JUDIRV TXH GHVFUHYH R FRPSRUWDPHQWR GD XQLGDGH GH FRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFDDSUHVHQWDGDQRFDStWXORDQWHULRU )LJXUD ² (VTXHPD GD XQLGDGH GH FRQWUROR GD PiTXLQD GH YHQGD DXWRPiWLFD
EDVHDGDHPFRGLILFDomRGHHVWDGRVRQHKRW )LJXUD²0DSDGH.DUQDXJKSDUDPLQLPL]DomRGDHTXDomRGHH[FLWDomRGRIOLSIORS )LJXUD²0DSDGH.DUQDXJKSDUDPLQLPL]DomRGDHTXDomRGHH[FLWDomRGRIOLSIORS )LJXUD²0DSDGH.DUQDXJKSDUDPLQLPL]DomRGDHTXDomRGHH[FLWDomRGRIOLSIORS )LJXUD²0DSDGH.DUQDXJKSDUDPLQLPL]DomRGDHTXDomRGDVVDtGDV´5HMHLomRµH ´\µ )LJXUD²(VTXHPDILQDOGDXQLGDGHGHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD VLQWHWL]DGDFRPFRGLILFDomRGHHVWDGRV'70HLPSOHPHQWDGDFRPGRLVQtYHLVGH OyJLFD )LJXUD²([HPSORGHXPDGHVFULomRGHXPFLUFXLWRFRPELQDWyULRQRIRUPDWRGH HQWUDGDDFHLWHSHODVIHUUDPHQWDVGHRSWLPL]DomRXWLOL]DGDV )LJXUD²([HPSORGHXPDGHVFULomRGHXPFLUFXLWRFRPELQDWyULRRSWLPL]DGRQR IRUPDWRGHVDtGDGRPLV,, )LJXUD²6XPiULRGRVUHVXOWDGRVGDVtQWHVHGDXQLGDGHGHFRQWURORGDPiTXLQDGH YHQGDDXWRPiWLFDREWLGRVFRPR/HRQDUGR6SHFWUXPHPWHUPRVGHiUHDGRFLUFXLWRH IUHTXrQFLDGHIXQFLRQDPHQWRXWLOL]DQGRRSWLPL]DomRGDiUHD )LJXUD²6XPiULRGRVUHVXOWDGRVGDVtQWHVHGDXQLGDGHGHFRQWURORGDPiTXLQDGH YHQGDDXWRPiWLFDREWLGRVFRPR/HRQDUGR6SHFWUXPHPWHUPRVGHiUHDGRFLUFXLWRH IUHTXrQFLDGHIXQFLRQDPHQWRXWLOL]DQGRRSWLPL]DomRGRVDWUDVRV )LJXUD²6XPiULRGRVUHVXOWDGRVGDVtQWHVHGDXQLGDGHGHFRQWURORGDPiTXLQDGH
YHQGD DXWRPiWLFD REWLGRV FRP R 6\QRSV\V HP WHUPRV GH iUHD GR FLUFXLWR H IUHTXrQFLDGHIXQFLRQDPHQWR )LJXUD²'HVFULomRFRPSRUWDPHQWDOGDXQLGDGHGHFRQWURORGDPiTXLQDGHYHQGD DXWRPiWLFDQRIRUPDWRNLVVLQVHULGRQXPILFKHLUREOLI )LJXUD²5HSUHVHQWDomRItVLFDGDXQLGDGHGHFRQWURORDSyVDLPSOHPHQWDomRFRPR ;$&7&LUFXLWRVLQWHWL]DGRFRPDRSWLPL]DomRGDiUHDERSWLPL]DomRGRV DWUDVRVFFRGLILFDomRGHHVWDGRVRQHKRW )LJXUD²6XPiULRGRVUHVXOWDGRVGDVtQWHVHGDXQLGDGHGHFRQWURORGDPiTXLQDGH YHQGDDXWRPiWLFDREWLGRVFRPR6,6HPWHUPRVGHiUHDGRFLUFXLWRHIUHTXrQFLD GHIXQFLRQDPHQWRSDUDGLIHUHQWHVRSo}HVGHVtQWHVH )LJXUD²)OX[RGHSURMHFWREDVHDGRQR6,6SDUDXQLGDGHVGHFRQWURORGHVWLQDGDVD LPSOHPHQWDUHPGLVSRVLWLYRVGDIDPtOLDGH)3*$V;&GD;LOLQ[ )LJXUD²)OX[RGHSURMHFWRSDUDXQLGDGHVGHFRQWURORYLUWXDLVEDVHDGDVQD)3*$ ;& )LJXUD²'LDJUDPDGHEORFRVGDSODFDGHGHVHQYROYLPHQWR)LUH)O\ )LJXUD ² 9LVWD GD LPSODQWDomR GH FRPSRQHQWHV GD SODFD GH GHVHQYROYLPHQWR
)LUH)O\ )LJXUD²(VSHFLILFDomRGHRSHUDo}HVYLUWXDLVFRP+*6V )LJXUD²6tQWHVHGHXQLGDGHVGHFRQWURORKLHUiUTXLFDVEDVHDGDVHPFRGLILFDomRGH HVWDGRVRQHKRWDSDUWLUGHXPDHVSHFLILFDomRHP+*6V )LJXUD²(VWUXWXUDSUHGHILQLGDSDUDLPSOHPHQWDomRGHXQLGDGHVGHFRQWURORYLUWXDLV HKLHUiUTXLFDVEDVHDGDVHPFRGLILFDomRGHHVWDGRVRQHKRW
)LJXUD²'LVWULEXLomRGRVUHFXUVRVGHLQWHUOLJDomRHQWUHDHVWUXWXUDSUHGHILQLGDHRV VXEDOJRULWPRVLPSOHPHQWDGRVQRHOHPHQWRUHFRQILJXUiYHO )LJXUD ² ,QWHUIDFH GR HOHPHQWR UHFRQILJXUiYHO SDUD LPSOHPHQWDomR GH
VXEDOJRULWPRVPRGLILFiYHLV )LJXUD²/LVWDJHP9+'/SDUDGHILQLomRGDHQWLGDGHTXHLPSOHPHQWDRHOHPHQWR
UHFRQILJXUiYHO )LJXUD ² 5HSUHVHQWDomR ItVLFD GR HOHPHQWR UHFRQILJXUiYHO DSyV LPSOHPHQWDomR
QXPD)3*$;&FRPDIHUUDPHQWD;$&7 )LJXUD²&RGLILFDGRUHGHVFRGLILFDGRUGHHVWDGRVRQHKRWELQiULR )LJXUD²'LDJUDPDHVTXHPiWLFRGRDFRGLILFDGRUHEGHVFRGLILFDGRUGHHVWDGRV
RQHKRWELQiULR )LJXUD ² 5HSUHVHQWDomR ItVLFD GR FRGLILFDGRU H GHVFRGLILFDGRU GRV HVWDGRV
RQHKRWELQiULRHYLFHYHUVD )LJXUD²'LDJUDPDHVTXHPiWLFRGRFRQYHUVRUGHFyGLJR )LJXUD²5HSUHVHQWDomRItVLFDGRFRQYHUVRUGHFyGLJR )LJXUD ² ,QWHUOLJDo}HV HQWUH RV GLYHUVRV HOHPHQWRV TXH FRQVWLWXHP D OyJLFD GH
PDSHDPHQWR )LJXUD²5HSUHVHQWDomRItVLFDGHXPEORFRGHLPSOHPHQWDomR )LJXUD ² /LVWDJHP 9+'/ GD GHILQLomR GD HQWLGDGH TXH UHSUHVHQWD D SLOKD GH
PHPyULD )LJXUD²5HSUHVHQWDomRItVLFDGRFRQWURODGRUGDSLOKDGHPHPyULD )LJXUD²(VSHFLILFDomRVLPSOLILFDGDGRFLUFXLWRGHVLQFURQL]DomR )LJXUD²(VSHFLILFDomRGHWDOKDGDGRFLUFXLWRGHVLQFURQL]DomR )LJXUD²5HSUHVHQWDomRItVLFDGRFLUFXLWRGHVLQFURQL]DomR )LJXUD²,QWHUOLJDomRGHGRLVEORFRVGHLPSOHPHQWDomR )LJXUD²5HSUHVHQWDomRItVLFDGDLQWHUOLJDomRGHGRLVEORFRVGHLPSOHPHQWDomR )LJXUD²5HSUHVHQWDomRItVLFDJOREDOGDHVWUXWXUDSUHGHILQLGDLPSOHPHQWDGDQXPD )3*$;& )LJXUD²,PSOHPHQWDomRGDDUTXLWHFWXUDGHVHQYROYLGDHPGLVSRVLWLYRVGHFRQWH[WR P~OWLSOR )LJXUD²'XDVFRQILJXUDo}HVSRVVtYHLVSDUDFRQVWUXLUXPDSRUWDOyJLFD25GH HQWUDGDVFRPWUrVSRUWDVGHGXDVHQWUDGDVDLQFRUUHFWDEFRUUHFWD )LJXUD²/LVWDJHP9+'/GDSRUWDOyJLFD25GH1HQWUDGDVSDUDPHWUL]iYHO )LJXUD ² /LVWDJHP 9+'/ GR FRPSRQHQWH &21'B12'( TXH LPSOHPHQWD XP
QRGRFRQGLFLRQDOGHXP*6+*6 )LJXUD ² /LVWDJHP 9+'/ GR UHJLVWR GH 1 ELWV SDUDPHWUL]iYHO FRQVWLWXtGR SRU
IOLSIORSV´SURWHJLGRVµ )LJXUD ² &RQVWLWXLomR GD ELEOLRWHFD ,03$5/,% H GHSHQGrQFLDV HQWUH RV VHXV
PyGXORV )LJXUD²&RQVWLWXLomRGRPyGXOR%RDUG,QWHUIDFHGOO )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD GDV FODVVHV &%RDUG,QWHUIDFH H
&3FL,QWHUIDFH )LJXUD²&RQVWLWXLomRGRPyGXOR%RDUGGOO )LJXUD²$WULEXWRVPpWRGRVHUHODo}HVGHKHUDQoDHGHDVVRFLDomRGDVFODVVHV&%RDUG
H&%RDUG,QWHUIDFH )LJXUD²&RQVWLWXLomRGRPyGXOR;FGOO )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD H GH DVVRFLDomR GDV FODVVHV
)LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD GDV FODVVHV &;F$GGU%XV &;F%LW$GGU%XVH&;F%LW$GGU%XV )LJXUD ² (VWUXWXUD GRV FDPSRV GH HQGHUHoDPHQWR QDV )3*$V D ;& E
;& )LJXUD²$WULEXWRVPpWRGRVHUHODo}HVGHKHUDQoDGDFODVVH&0DS5HJLVWHU )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD H GH DVVRFLDomR GDV FODVVHV
&%RDUG&;F%RDUGH&;F )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD GDV FODVVHV &/RDG'HVLJQ'OJ
&;F6HWXS6KHHW&&RQILJ3DJHH&5HJLVWHUV3DJH )LJXUD ² 3iJLQD SDUD FRQILJXUDomR GRV SDUkPHWURV GH LQWHUIDFH GH XPD )3*$
;& )LJXUD²6HFomRGHXPILFKHLURGHFRQILJXUDomR &$/ )LJXUD²&RQVWLWXLomRGRPyGXOR&DO)LOHGOO )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD H GH DVVRFLDomR GDV FODVVHV
&&DO),OHH&$GGU'DWD3DLU )LJXUD²6HFomRGHXPILFKHLURGHVtPERORV 6<0 )LJXUD²&RQVWLWXLomRGRPyGXOR5DO/LEGOO )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD H GH DVVRFLDomR GDV FODVVHV
&5DO6\P7DEOH&5DO6\P5HFRUG&5DO6LPSOH5HFRUGH&5DO&RPSRVLWH5HFRUG )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD H GH DVVRFLDomR GDV FODVVHV
&5DO&IJ7DEOHH&5DO&IJ5HFRUG )LJXUD²&RQVWLWXLomRGRPyGXOR)LUH)O\GOO )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD GDV FODVVHV &;F%RDUG
&)LUHIO\%RDUG )LJXUD ² $WULEXWRV PpWRGRV H UHODo}HV GH KHUDQoD H GH DVVRFLDomR GDV FODVVHV
&&ORFN$GY'OJ&/HG&WUO&)LUHIO\6HWXS6KHHW&0HPRU\3DJH&&ORFN3DJH&3RZHU3DJHH &,QWHUUXSWV3DJH )LJXUD²3iJLQDSDUDFRQILJXUDomRGRVSDUkPHWURVUHODWLYRVDRVEDQFRVGHPHPyULD GDSODFD)LUH)O\ )LJXUD²3iJLQDSDUDFRQILJXUDomRGRVSDUkPHWURVUHODWLYRVDRJHUDGRUGRVVLQDLV GHUHOyJLRGDSODFD)LUH)O\ )LJXUD ² 3iJLQD SDUD FRQILJXUDomR GRV SDUkPHWURV UHODWLYRV DR FRQWUROR GR
FRQVXPRGHSRWrQFLDGDSODFD)LUH)O\ )LJXUD²3iJLQDSDUDFRQILJXUDomRGRVSDUkPHWURVUHODWLYRVjVLQWHUUXSo}HVGDSODFD )LUH)O\ )LJXUD²5HSUHVHQWDomRVLPSOLILFDGDGRVPyGXORVTXHFRQVWLWXHPRFRQWURODGRUGH VRIWZDUHGHVHQYROYLGRSDUDDSODFDGHGHVHQYROYLPHQWR)LUH)O\ )LJXUD²3iJLQDGHLQIRUPDomRJHUDOVREUHRFRQWURODGRUGHVHQYROYLGR )LJXUD²3iJLQDGHLQIRUPDomRVREUHRVUHFXUVRVXWLOL]DGRVSHODSODFD)LUH)O\
[LLL
7DEHOD²5HSUHVHQWDo}HVGHXPSURMHFWRHQtYHLVGHDEVWUDFomR 7DEHOD 5HVXPR GDV WHFQRORJLDV GH SURJUDPDomR PDLV XWLOL]DGDV HP GLVSRVLWLYRV
OyJLFRVSURJUDPiYHLV 7DEHOD²7DEHODGHWUDQVLomRGHHVWDGRTXHGHVFUHYHRFRPSRUWDPHQWRGDXQLGDGH
GHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD 7DEHOD ² 7DEHOD GH WUDQVLomR FRP RV HVWDGRV FRGLILFDGRV TXH GHVFUHYH R
FRPSRUWDPHQWRGDXQLGDGHGHFRQWURORGDPiTXLQDGHYHQGDDXWRPiWLFD 7DEHOD²7DEHODGHWUDQVLomRFRPRVHVWDGRVFRGLILFDGRV 7DEHOD²7DEHODGHVDtGDV 7DEHOD²7DEHODGHH[FLWDomRGRVIOLSIORSV 7DEHOD²/LVWDJHPGDVFRGLILFDo}HVGHHVWDGRXWLOL]DGDVSDUDRSWLPL]DomRDXWRPiWLFD
GD FRPSRQHQWH FRPELQDWyULD GD XQLGDGH GH FRQWUROR GD PiTXLQD GH YHQGD DXWRPiWLFD 7DEHOD²5HVXOWDGRVREWLGRVFRPRVRSWLPL]DGRUHVOyJLFRV(VSUHVVRHPLV,,DSDUWLU GDVFRGLILFDo}HVGHHVWDGRGD7DEHOD 7DEHOD²/LVWDJHPGDVFRGLILFDo}HVGHHVWDGRXWLOL]DGDVQR6\QRSV\V 7DEHOD²/LVWDJHPGDVFRGLILFDo}HVGHHVWDGRXWLOL]DGDVQR6,6 7DEHOD²&RQVWLWXLomRGDSDFNDJH$UUD\B3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH&PSB3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH&QWB3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH&RGB3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH'HFB3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH*DWHVB3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH*VB3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH/DWB))B3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH0LVFB3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH5DPB3DFNYKG 7DEHOD²&RQVWLWXLomRGDSDFNDJH5HJB3DFNYKG
1
Sumário
Este capítulo introduz alguns dos conceitos fundamentais que servem de base aos restantes capítulos desta dissertação. Mais concretamente, são abordados o processo de projecto de um sistema digital e os conceitos de sistema computacional e de unidade de controlo.
No contexto do projecto de um sistema digital, são introduzidas as noções de modelo e de síntese de um modelo como um processo de refinamento do mesmo. Com o objectivo de uniformizar as várias formas, que normalmente aparecem na literatura, de classificação dos modelos e das transformações que sobre eles podem ser realizadas, é também apresentada uma proposta de taxonomia de modelos de circuitos electrónicos em geral. Esta taxonomia é baseada numa relação ortogonal entre os tipos de representação de um modelo, normalmente designados por vistas e os níveis de granulosidade dos componentes utilizados nesse modelo, vulgarmente chamados níveis de abstracção.
Neste capítulo são também descritas as fases de projecto de sistemas digitais e as ferramentas de desenvolvimento assistido por computador que as realizam. Seguidamente, são apresentadas as duas metodologias de projecto mais usadas no desenvolvimento de sistemas digitais, a de captura e simulação e a de descrição e síntese.
Os sistemas computacionais, como sistemas que realizam processamento de dados, são normalmente constituídos por dois tipos de módulos principais: unidade de execução e unidade de controlo. A unidade de execução realiza as operações de processamento propriamente dito, enquanto a unidade de controlo assegura a sequência correcta de operações da unidade execução.
Nas duas últimas secções deste capítulo são apresentados respectivamente os objectivos deste trabalho e a organização da dissertação.
1.1 Projecto de Sistemas Digitais
De uma forma geral, o projecto de um produto ou sistema pode ser definido como uma sequência de passos desde a sua idealização até à elaboração de planos que descrevem de forma detalhada a sua construção. Neste processo podem estar envolvidas diversas pessoas, cada uma com uma função específica, desde a concepção até à fabricação, passando pelo desenvolvimento e teste.
O processo de projecto é altamente influenciado por diversos factores, entre eles, o tipo de produto, o tempo de desenvolvimento pretendido, as ferramentas de projecto utilizadas e as tecnologias empregues na sua fabricação [Gajski97]. Independentemente destes factores, existe um conjunto de etapas que de uma forma ou de outra estão geralmente presentes no projecto de um produto, como por exemplo, a especificação, a simulação, a síntese, a verificação, a implementação e o teste. Estas etapas serão apresentadas de forma resumida na secção 1.1.3. Antes porém, vamos rever outras noções fundamentais no projecto de sistemas digitais, nomeadamente a de modelo, a de tipo de representação, a de nível de granulosidade, a de nível de abstracção e por último, as de abordagem estruturada e de metodologia de projecto.
Por conveniência, no processo de projecto são normalmente utilizados modelos. Um modelo de um sistema é uma abstracção, ou seja uma representação que mostra as características relevantes sem os detalhes associados [Micheli94]. A síntese é a geração de um modelo a partir de outro menos detalhado, sendo portanto um processo de refinamento. Por outro lado, a análise é a operação inversa da síntese, ou seja, a obtenção de um modelo menos detalhado a partir de outro mais detalhado. Mais à frente serão dadas definições mais precisas de síntese e de análise.
A elaboração de um modelo, ou modelação de um circuito ou sistema tem duas finalidades. Primeiro, o desenvolvimento de um modelo ajuda o projectista a formalizar uma solução. Segundo, um modelo de um circuito pode ser processado por computador para procurar erros de projecto, realizar a sua simulação e prever as suas características temporais. Adicionalmente, existem várias ferramentas de projecto assistido por computador (Computer Aided Design – CAD) que realizam automaticamente todos ou alguns dos passos da síntese, incluindo optimização do projecto e transformação do projecto de uma forma abstracta numa realização física.
Na definição, projecto e fabricação de um produto, cada pessoa envolvida debruça-se sobre um aspecto diferente do mesmo, necessitando de informação específica para realizar o seu trabalho. Por este motivo, os vários modelos do sistema utilizados ao longo do seu projecto diferem no tipo de informação que se pretende realçar. Os modelos podem ser classificados em termos de tipos de representação e níveis de granulosidade. Em conjunto, estas duas classificações definem o nível de abstracção de um modelo.
Aqui vão ser considerados três tipos de representação: comportamental, estrutural e física. Quanto aos níveis de granulosidade, a sua classificação pode ser feita em cinco níveis distintos: geométrico, circuito, lógico, arquitectural e sistema. Esta taxonomia dos modelos é uma tentativa para uniformizar as diversas classificações publicadas por diversos autores [Gasjki97, Micheli94, NelNagCarIrw95], que apesar de
não possuírem designações ou definições contraditórias, não são capazes de caracterizar um modelo e as respectivas transformações de forma completa.
Vamos agora detalhar um pouco mais cada um destes assuntos, começando pelos tipos de representação.
1.1.1 Tipos de Representação
Os três tipos mais comuns de representação de um modelo são a comportamental, a estrutural e a física [Gajski97].
Numa representação comportamental ou funcional, o sistema é visto como uma caixa preta sendo o aspecto mais importante a especificação do seu comportamento em função das entradas e do tempo. Por outras palavras, uma representação comportamental descreve a funcionalidade do sistema sem quaisquer detalhes sobre a sua implementação, definindo a sua resposta a qualquer combinação dos valores de entrada mas sem descrever a forma como deve ser projectado ou construído utilizando um dado conjunto de componentes. Esta é em geral a representação do primeiro modelo elaborado para o sistema a projectar, permitindo manipular as características essenciais do projecto, sem entrar em pormenores de implementação, irrelevantes numa fase inicial. Ao mesmo tempo, proporciona uma descrição de fácil leitura para o desenvolvimento, documentação e manutenção do projecto.
Por outro lado, numa representação estrutural, o sistema é definido como um conjunto de componentes e suas interligações. Ao contrário da representação comportamental, descreve a constituição do sistema sem uma referência explicita à sua funcionalidade. Contudo, é possível nalguns casos derivar a funcionalidade a partir da estrutura. No entanto, este pode ser um processo complexo e sujeito a erros especialmente quando o número de componentes é elevado.
Finalmente, uma representação física é aquela que descreve as características físicas do sistema, definindo as dimensões e posição de cada componente da representação estrutural. De notar que enquanto a representação estrutural descreve as conexões entre os diversos componentes do sistema, somente a representação física descreve com precisão as suas relações espaciais. Por outras palavras, a representação física é utilizada para descrever a forma final do sistema após a sua fabricação, especificando características como o seu tamanho, peso, consumo e dissipação de potência, localização das entradas e saídas, etc.
1.1.2 Níveis de Granulosidade
No projecto de sistemas electrónicos, cada um dos tipos de representação atrás descritos (comportamental, estrutural e físico) pode ser usado a diferentes níveis de granulosidade consoante o tipo de objectos utilizados no modelo. A generalidade dos autores [Micheli94, Gasjki97, NelNagCarIrw95] utiliza a designação de nível de abstracção. No entanto, a primeira parece ser mais correcta, uma vez que na passagem entre as representações física, estrutural e comportamental, existe também um procedimento de abstracção dos detalhes de implementação.
Em geral, podem ser identificados cinco níveis de granulosidade: geométrico, circuito, lógico, arquitectural e sistema. Os objectos que melhor caracterizam cada um destes níveis de granulosidade são respectivamente os materiais semicondutores, os