Trabalho de conclusão de graduação
Otimização de interconexões através de posiocionamento e síntese lógica
Interconnects optimization through placement and logic synthesis
Autor
Vedovelli, Estevan
Resumen
No fluxo atual de projeto de circuitos digitais modernos é difícil estimarmos os atrasos que ocorrem nas interconexões, especialmente antes do posicionamento das células. E quando os atrasos são corretamente avaliados, após o posicionamento, devido às diferentes estruturas de dados utilizadas para as diferentes etapas do projeto, eles não podem ser retornados à etapa de síntese lógica facilmente. Neste trabalho, propomos modificações no fluxo de projeto de circuitos integrados que permitem estimar antecipadamente os atrasos de interconexões e que, com a utilização de uma estrutura de dados única para a otimização lógica, posicionamento e mapeamento, possibilitam o retorno de informações à etapa inicial de otimização lógica. Nosso fluxo mistura a síntese lógica com a síntese física. Após realizarmos a otimização lógica convencional usando AIGs para representarmos cada módulo do circuito, posicionamos cada AIG na área reservada pelo floorplanning. Com o posicionamento realizado, é possível estimarmos os atrasos das interconexões, e essas informações podem ser repassadas à otimização lógica que as considerará em seus algoritmos para melhorar a qualidade de seus resultados. Uma vez que o AIG otimizada estiver corretamente posicionada, a etapa de mapeamento tecnológico deve utilizar um algoritmo que priorize a proximidade geométrica na escolha dos nodos que serão agrupados e substituídos pelas células da biblioteca. Por fim, a etapa de pós-posicionamento regulariza a solução e a otimiza para que o roteamento seja realizado. Implementamos uma ferramenta capaz de posicionar um AIG e analisar os atrasos estáticos das interconexão e células da solução. O posicionador identifica a melhor solução analisando a monotonicidade do circuito. Quanto mais monótono o circuito, menor é o atraso das interconexões. O AIG posicionada com as informações de atrasos poderá ser redirecionada para a síntese lógica ou então mapeada às células da biblioteca. In current modern digital circuits’ design flow, it is hard to estimate interconnection delays, especially before cell’s placement. And once placement and STA are done, timing information cannot be easily feedbacked to logic optimization tools due the differences between design processes’ structures. In this work, we propose modifications in the current integrated circuits’ design flow which allows the early delay estimation. With the utilization of a common structure from logical optimization to placement and technological mapping, we make it possible to feedback information for logical optimization module. Our flow mixes both logical and physical synthesis. Once conventional logical optimization is done using AIGs as circuit’s representation structure, we place the AIGs in the floorplanning reserved area. After placement it is possible to estimate interconnection delays and feedback it to the logical optimization tool. Based on the new information, logical optimization results could be optimized for interconnection delays. Technological mapping process will start when STA and AIG placement steps are validated. The algorithm used by the mapping tool should consider geometric proximity as function cost when choosing AIG nodes to be replaced by library’s cells. Finally, a post-placement step validates the solution and optimizes it for routing. We implemented a tool for placing an AIG and performing STA due to its interconnections and cells. The placement tool identifies the best solutions through circuit’s monotonicity analysis. As the circuit’s monotonicity increases, the interconnection’s delay decreases. The final AIG placement’s solution keeps timing and position information and can be feedbacked to logical optimization step or redirected for being mapped in the library’s cells.