簡易檢索 / 詳目顯示

研究生: 巫怡萱
Wu, Yi-Hsuan
論文名稱: 嵌入式系統設計空間探索使用之方塊圖模型拓樸轉換器
Topology Transformer for Design Space Exploration of Embedded Systems Modeled as Block Graphs
指導教授: 周百祥
Chou, Pai H.
口試委員: 韓永楷
Hon, Wing-Kai
謝孫源
Hsieh, Sun-Yuan
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2023
畢業學年度: 111
語文別: 英文
論文頁數: 76
中文關鍵詞: 嵌入式系統設計空間探索電子設計自動化電腦輔助設計方塊圖
外文關鍵詞: Embedded system, Design space exploration, Electronic design automation, Computer aided design, Block diagram
相關次數: 點閱:52下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文提出了一套從高階系統架構方塊圖到低階印刷電路板(PCB)電路圖之間各層次進行轉換的轉換操作指令集。目前主流的方法是,架構圖與電路圖皆以完全無關的工具繪製,前者主要用於解說概念,無法作為設計工具輸入的源碼,而後者則反映了所有實作細節,但是無法表示出其目的。這種工程風格導致了脆弱的設計,很難理解、測試、維護或演變,而且容易出錯。
    為了解決這個問題,我們提出了一種統一的表示方法,稱為塊圖(block graph),可以在整合的資料結構中捕捉高階方塊圖和低階電路圖的元素,並提供一套轉換操作指令進行轉換。這種方法的創新之處在於這些圖形元素的含義可以由繪圖者自行注入,而不是已預定不變的。這些操作指令可以根據需要轉換塊圖的拓撲結構,以反映層次結構的提升或降級,功能和連接資源的共享或專用分配,以及添加結構以反映特定實現選擇所產生的特定支援需求。此外,我們追蹤轉換的版本,使其完全可撤銷,並支持分支限界式的設計空間探索。
    我們使用實際嵌入式系統設計的案例,以評估我們的塊圖操作指令集。結果顯示,我們的方法可以有效地捕捉塊圖並將其演進為電路圖,以輔助漸進式的設計決策。我們預計這種轉換功能將會成為一個支持基於組件設計嵌入式系統的新一代設計工具的核心部分。


    This thesis proposes a suite of transformation operations for transforming between high-level block diagram for system architecture and low-level schematic for printed circuit boards (PCB). The current practice is to draw these as distinct diagrams, where the former is illustrative at best but unusable as a design representation, whereas the latter reflects all implementation details without clear purpose. This engineering style results in fragile designs that are difficult and error-prone to understand, debug, maintain, or evolve.
    To address this problem, we propose a unified representation called block graph that can capture elements of block diagrams and schematics in the same data structure, with a suite of operators for their transformation. The novelty with this approach is that the meaning of these diagram elements can be injected rather than hardwired. These operators can transform the topology of the block graph to reflect the promotion or demotion of hierarchical structures, the shared or dedicated allocation of functional and link resources, as well as added structures to reflect provisional supporting features required by specific implementation choices. Moreover, we track the versions of transformation so that they are fully undoable and can support branch-and-bound style of design space exploration.
    Our block-graph operator suite is evaluated using case studies of real-world embedded system designs. Results reveal that our approach can effectively capture block diagrams and evolve them towards schematics to reflect incremental decisions. This capability is a core part of a new generation of design tool that supports component-based design of embedded systems.

    1 Introduction 1 1.1 Motivation 1 1.2 Contributions 3 1.3 Thesis Organization 3 2 Related Work 4 2.1 Design Space Exploration in Embedded Systems 4 2.2 Multi-Modality Diagram Editors 5 2.3 Approaches for Electronic Design Tool 6 2.3.1 Abstraction Techniques 6 2.3.2 Advanced Methodology for Operation Enhancement 7 2.4 Graph Rewrite 7 2.4.1 Graph Transformation Systems 7 2.4.2 Transformation Design Concept 8 3 System Overview 9 3.1 Tool-Based Design Methodology 9 3.2 Concepts 10 3.2.1 Block Graph 11 3.2.2 Design Evolution Tree 11 3.2.3 Design Space Exploration 12 3.2.4 Intrinsic vs. Provisional Requirements 13 i 3.3 Design Flow 13 3.3.1 Editing 15 3.3.2 Exploration 16 3.3.3 Implementation 17 3.4 Problem Statement of Transformation 18 3.4.1 Connection Mechanism 18 3.4.2 Input 19 3.4.3 Output 19 4 Technical Approach 20 4.1 Definition of Element Forms 20 4.2 Assumptions of API Design 21 4.2.1 Data Access and Manipulation 21 4.2.2 Implicit Parameter 22 4.3 Design Editing 22 4.3.1 Addition 22 4.3.2 Deletion 24 4.4 Topology Transformation 27 4.4.1 Expansion 27 4.4.2 Flattening 28 4.4.3 Containerization 31 4.5 Process Assistance 35 4.5.1 Element Selection 35 4.5.2 Templatization 36 5 Implementation 38 5.1 Data Structure 38 5.1.1 Topology 39 5.1.2 Hierarchy and Subgraph 40 5.1.3 Additional Information 42 5.2 Template Library 43 ii 5.3 Application Programming Interfaces 44 5.3.1 Events 44 5.3.2 elements 45 5.3.3 Container 48 5.3.4 Template 52 5.3.5 History Control 53 6 Case Study 55 6.1 BlueBox 55 6.2 Exploration Process 55 6.2.1 Realization of Abstract Concept 56 6.2.2 Provisional Requirement Handling 56 6.2.3 Component Replacement Process 59 6.2.4 Resource Allocation 59 6.2.5 Exploration of Different Configuration 61 7 Conclusions and Future Work 65 7.1 Conclusions 65 7.2 Future Work 66 7.2.1 Structural Feature 66 7.2.2 Enhancements of Transformer 66 Appendix 70 Python Code for Initialization 70 Python Code for Inspection 71 Python Code for Element Operations 71

    [DKS+18] Ugur Dogrusoz, Alper Karacelik, Ilkin Safarli, Hasan Balci, Leonard Dervishi, and
    Metin Can Siper. Efficient methods and readily customizable libraries for managing
    complexity of large networks. PLOS ONE, 13(5):1–18, 05 2018.
    [ERT99] Claudia Ermel, Michael Rudolf, and Gabriele Taentzer. The agg approach: Language and
    environment. In Handbook Of Graph Grammars And Computing By Graph Transformation: Volume 2: Applications, Languages and Tools, pages 551–603. World Scientific,
    1999.
    [GMW00] David Garlan, Robert T. Monroe, and David Wile. Acme: Architectural description of
    component-based systems. In Gary T. Leavens and Murali Sitaraman, editors, Foundations
    of Component-Based Systems, pages 47–68. Cambridge University Press, 2000.
    [LRC+20] Richard Lin, Rohit Ramesh, Connie Chi, Nikhil Jain, Ryan Nuqui, Prabal Dutta, and Björn
    Hartmann. Polymorphic blocks: Unifying high-level specification and low-level control
    for circuit board design. In Proceedings of the 33rd Annual ACM Symposium on User
    Interface Software and Technology, UIST ’20, page 529–540, New York, NY, USA, 2020.
    Association for Computing Machinery.
    [LRD+22] Richard Lin, Rohit Ramesh, Prabal Dutta, Bjoern Hartmann, and Ankur Mehta. Computational support for multiplicity in hierarchical electronics design. In Proceedings of the 7th
    Annual ACM Symposium on Computational Fabrication, SCF ’22, New York, NY, USA,
    2022. Association for Computing Machinery.
    [LRJ+21] Richard Lin, Rohit Ramesh, Nikhil Jain, Josephine Koe, Ryan Nuqui, Prabal Dutta, and
    Bjoern Hartmann. Weaving schematics and code: Interactive visual editing for hardware
    description languages. In The 34th Annual ACM Symposium on User Interface Software
    and Technology, UIST ’21, page 1039–1049, New York, NY, USA, 2021. Association for
    Computing Machinery.
    [Min02] Mark Minas. Concepts and realization of a diagram editor generator based on hypergraph
    transformation. Science of Computer Programming, 44(2):157–180, 2002. Special Issue
    on Applications of Graph Transformations (GRATRA 2000).
    [Van] Dave Vandenbout. SKiDL. https://devbisme.github.io/skidl/.
    [YW98] Ti-Yen Yen and W. Wolf. Performance estimation for real-time distributed embedded
    systems. IEEE Transactions on Parallel and Distributed Systems, 9(11):1125–1136, 1998.

    QR CODE