研究生: |
石昌霖 Shih, Chang-Lin |
---|---|
論文名稱: |
基於標籤系統的元件連接輔助工具 Tag-Based Modeling for Component Interconnection in Design Automation of Embedded Systems |
指導教授: |
周百祥
Chou, Pai H. |
口試委員: |
謝孫源
Hsieh, Sun-Yuan 韓永楷 Hon, Wing-Kai 游創文 You, Chuang-Wen |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2022 |
畢業學年度: | 110 |
語文別: | 英文 |
論文頁數: | 55 |
中文關鍵詞: | 嵌入式系統 、電子設計自動化 、標籤系統 、介面合成 、方塊圖 、簡圖擷取 |
外文關鍵詞: | Embedded system, Electronic Design Automation, Tag system, Interface synthesis, Block diagram, Schematic capture |
相關次數: | 點閱:3 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文為基於元件的嵌入式系統設計提出一套整合性的模型。
現今的系統模型並不適用於所有的設計方式,例如:合成式的設計方式使用的是高階模型而在一般的手動的硬體設計方式則是使用低階的電路圖。
雖然高階系統合成有望能排除大部份的低階錯誤,但是該模型無法允許工程師介入低階的設計決定,導致這種設計方式現在不被廣泛使用。現今的電路設計方式是由工程師手動畫出高階方塊圖,並摻入一些低階的機制, 做為滿足來自其他設計面向的約束手段,例如機構設計,安全法規,備料成本等等不同領域。 但是,如此設計出來的系統,即使小修改都容易改錯且維護困難,主要是因為設計師很難把用意表達為機器能理解的形式。
為了解決這個問題, 我們提出一個基於標籤的方塊圖模型。這種模型不僅可以表達最高階的系統結構,也能表達最低階電路圖的概念。 我們認為方塊圖本身並不具備意義,它的意義是由人所賦予的。透過顏色或形狀我們可以給予不同的方塊圖添加含義,而本篇論文選擇的方式是透過標籤的方式來讓方塊圖不再只有形狀而是有更多的意義。
除了一般的方塊圖,我們的系統還有一個元件庫,用來讓使用者挑選要使用什麼元件實作。我們定義每一個元件是一個有實作標籤集合的包裝, 並且只要某個方塊被貼上的標籤集合是某個元件的標籤集合的子集合, 該元件就能成為該方塊的實作候選元件。 我們也把這個概念延伸到方塊圖上的其他元素,包含方塊上的埠,埠與埠之間的連接器,以及連接器的多個插座。 如此一來, 只要使用者根據不同層的需求去貼標籤, 我們的設計系統就會確保標籤之間的關係都能成立。
本論文將上述的標籤式方塊圖套用於兩個設計階段:元件挑選和介面完成,並選用一個實際設計的電路圖做為說明本設計方法細節的實例。 實驗結果顯示,我們提出的模型不僅能夠以直觀的方式捕捉系統結構, 更重要的是能在允許手動介入低階機制的前提下,有效的支援設計空間探索。 本研究預期能成為下一代設計工具的核心技術,讓工程師能以此整合性模型捕捉到設計的用意與獲得設計上的輔助。
This thesis proposes a unified model from block diagrams to schematics for component-based design of embedded systems. Today, there exists a dichotomy between high-level models for synthesis or low-level schematics. Although synthesis approaches promise elimination of many low-level errors, their inability to accommodate manual intervention at the low level precludes their use in most designs. In practice, today's engineers craft the low-level schematic by manually converting a block diagram that is mostly high level but mixed in with low-level mechanisms. Low-level intervention is necessary in order to satisfy constraints from mechanical design, safety regulations, material cost, and many other domains. Unfortunately, such a design methodology results in designs that tend to be fragile and difficult to maintain, as the intent of the mechanism is not captured in any machine-readable form.
To address this problem, we propose a tag-based block diagram for representing the system architecture from the highest-level block diagram down to the lowest-level schematic. The idea is that a block is just a drawing unless injected with tags, which are tokens of intent, and components that self-declare to implement the tags become candidates for implementation of the block. The concept is generalized to the ports on the blocks, the links that connect the blocks, and the slots on the links. Thus, the user can tag each design object to be as high or as low level as needed, and our system propagates these tags to ensure all relations among them hold.
This thesis describes the use of this tag-based block diagram in two stages of the design flow, namely component selection and interface completion. We illustrate the detailed transformation of this model using a real-life reference design as our case study. The results show that our proposed model is able to not only capture the system architecture in an intuitive and expressive way, but more importantly support effective design space exploration (DSE) while allowing manual interventions. This work is a core technology that is expected to empower the next-generation design tool that allows practicing designers to capture their design intent and mechanisms in a unified model.
1] Pai Chou, Ross Ortega, and Gaetano Borriello. Synthesis of the hardware/software interface in
microcontroller-based systems. In 1992 IEEE/ACM International Conference on Computer-Aided Design, pages 488–495, 1992. doi: 10.1109/ICCAD.1992.279322.
[2] Ross Ortega. Communication Synthesis and Interface Synthesis for Embedded Systems. PhD thesis, University of Washington, 2000.
[3] J.-M. Daveau, T.B. Ismail, and A.A. Jerraya. Synthesis of system-level communication by an allocation-based approach. In Proceedings of the Eighth International Symposium on System Synthesis, pages 150–155, 1995. doi: 10.1109/ISSS.1995.520627.
[4] Issam Maalej, Guy Gogniat, Mohamed Abid, and Jean Luc Philippe. Interface design approach for system on chip based on configuration. In 2003 IEEE International Symposium on Circuits and Systems (ISCAS), volume 5, pages V–V. IEEE, 2003.
[5] F. Bruschi and M. Bombana. A design methodology for the exploitation of high level communication synthesis. In Proceedings Design, Automation and Test in Europe Conference and Exhibition, volume 3, pages 180–185. IEEE, 2004.
[6] SystemC. https://systemc.org.
[7] André Knörig, Reto Wettach, and Jonathan Cohen. Fritzing: A tool for advancing electronic prototyping for designers. TEI ’09, page 351–358, 2009. ISBN 9781605584935. doi: 10.1145/1517664.1517735.
URL https://doi.org/10.1145/1517664.1517735.
[8] Jo-Yu Lo, Da-Yuan Huang, Tzu-Sheng Kuo, Chen-Kuo Sun, Jun Gong, Teddy Seyed, Xing-Dong Yang, and Bing-Yu Chen. AutoFritz: Autocomplete for prototyping virtual breadboard circuits. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems, page 1–13, New York, NY, USA, 2019. Association for Computing Machinery.
[9] Fraser Anderson, Tovi Grossman, and George Fitzmaurice. Trigger-Action-Circuits: Leveraging generative design to enable novices to design and build circuitry. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology, UIST ’17, page 331–342, 2017. ISBN 9781450349819. doi: 10.1145/3126594.3126637. URL https://doi.org/10.1145/3126594.3126637.
[10] Upverter. https://upverter.com/.
[11] circuito.io. https://www.circuito.io/.
[12] Jean-Pierre Charras. KiCad. https://www.kicad.org/.
[13] MyHDL. https://www.myhdl.org/.
[14] Dave Vandenbout. SKiDL. https://devbisme.github.io/skidl/.
[15] 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, pages 529–540, 2020.
[16] Hebi Li, Youbiao He, Qi Xiao, Jin Tian, and Forrest Sheng Bao. BHDL: A lucid, expressive, and embedded programming language and system for PCB designs. In 2021 58th ACM/IEEE Design Automation Conference (DAC), pages 355–360, 2021. doi: 10.1109/DAC18074.2021.9586086.
[17] David Garlan, Robert T. Monroe, and David Wile. Acme: Architectural description of component-based systems. Foundations of component-based systems, 68:47–68, 2000.
[18] Robert Allen and David Garlan. A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol., 6(3):213–249, jul 1997. ISSN 1049-331X. doi: 10.1145/258077.258078. URL https: //doi.org/10.1145/258077.258078.
[19] Nenad Medvidovic, Peyman Oreizy, Jason E. Robbins, and Richard N. Taylor. Using object-oriented typing to support architectural design in the C2 style. ACM SIGSOFT Software Engineering Notes, 21(6):
24–32, 1996.
[20] Mary Shaw, Robert DeLine, Daniel V. Klein, Theodore L. Ross, David M. Young, and Gregory
Zelesnik. Abstractions for software architecture and tools to support them. IEEE transactions on software engineering, 21(4):314–335, 1995.
[21] Prabhat Mishra and Nikil Dutt. Architecture description languages for programmable embedded systems. IEEE proceedings-computers and digital techniques, 152(3):285–297, 2005.
[22] ICM-20948. https://invensense.tdk.com/products/motion-tracking/9-axis/icm-20948/.
[23] CC2541 Application Notes. https://www.ti.com/lit/ug/swru191f/swru191f.pdf?ts=1654260079081.
[24] SPI Converter. https://www.ti.com/lit/an/slaa449a/slaa449a.pdf.
[25] CC2650 Remote Control Schematic. https://www.ti.com/lit/df/tidrmh9/tidrmh9.pdf.