3 research outputs found

    Synthesis of Multimode digital signal processing systems

    Get PDF
    International audienceIn this paper, we propose a design methodology for implementing a multimode (or multi-configuration) and multi-throughput system into a single hardware architecture. The inputs of the design flow are the data flow graphs (DFGs), representing the different modes (i.e. the different applications to be implemented), with their respective throughput constraints. While traditional approaches merge DFGs together before the synthesis process, we propose to use ad-hoc scheduling and binding steps during the synthesis of each DFG. The scheduling, which assigns operations to specific time steps, maximizes the similarity between the control steps and thus decreases the controller complexity. The binding process, which assigns operations to specific functional units and data to specific storage elements, maximizes the similarity between datapaths and thus minimizes steering logic and register overhead. First results show the interest of the proposed synthesis flow

    Area Estimation for Fast Design Space Exploration of Multi-mode System

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ (์„์‚ฌ)-- ์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› : ์ „๊ธฐยท์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€, 2013. 2. ์ตœ๊ธฐ์˜.์ตœ๊ทผ ๋ฐ˜๋„์ฒด์˜ ์„ค๊ณ„ ๋ณต์žก๋„๊ฐ€ ๊ธ‰์†๋„๋กœ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ SoC (System on Chip)์˜ ๋‹ค๊ธฐ๋Šฅํ™” ๋Œ€๋ฉด์ ํ™”๊ฐ€ ๊ธ‰์†๋„๋กœ ์ง„ํ–‰๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด chip ๋ฉด์  ์ตœ์ ํ™”(area optimization)๊ฐ€ SoC ์„ค๊ณ„์˜ ์ฃผ์š” ํ™”๋‘๋“ค ์ค‘ ํ•˜๋‚˜๋กœ ๋Œ€๋‘๋˜๊ณ  ์žˆ๋‹ค. ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๊ตฌ์กฐ(Multi-mode architecture)๋Š” ์ด๋Ÿฐ ๋ฉด์  ์ตœ์ ํ™” ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ข‹์€ ํ•ด๊ฒฐ์ฑ… ์ค‘ ํ•˜๋‚˜๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๊ตฌ์กฐ๋ž€ ํ•˜๋‚˜์˜ ํ•˜๋“œ์›จ์–ด ๋ชจ๋“ˆ์— ๋‹ค์ˆ˜์˜ ๊ตฌ์„ฑ(configuration)์„ ๋‘ ์œผ๋กœ์จ, ์„ ํƒ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์œผ๋กœ, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ณตํ†ต๋˜๋Š” ๋ถ€๋ถ„์˜ ๊ณต์œ ๋ฅผ ํ†ตํ•ด ๋ฉด์ ์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. SoC ๋Š” ์ˆ˜๋งŽ์€ application ๋“ค๋กœ ๊ตฌ์„ฑ์ด ๋˜๋ฉฐ ๊ฐ๊ฐ์˜ application ๋“ค์€ ๋˜ํ•œ ๋‹ค์ˆ˜์˜ functional module ๋“ค๋กœ ๊ตฌ์„ฑ๋˜๋ฏ€๋กœ, SoC ์‹œ์Šคํ…œ ์ „์ฒด์— ๋Œ€ํ•œ ๋ฉ€ํ‹ฐ๋ชจ๋“œ ์‹œ์Šคํ…œ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ์„ค๊ณ„๊ณต๊ฐ„(design space)์€ ๋ฐฉ๋Œ€ํ•œ ๊ณต๊ฐ„์ด ๋œ๋‹ค. ์ด ์„ค๊ณ„๊ณต๊ฐ„ ๋‚ด์˜ ํŠน์ • functional module ๋“ค์„ ์„ ํƒํ•˜์—ฌ ๋ฉ€ํ‹ฐ๋ชจ๋“œ ์„ค๊ณ„๋ฅผ ์ ์šฉํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ ๊ฐ ์กฐํ•ฉ์— ๋”ฐ๋ผ ๋ฉด์  ์ตœ์ ํ™”์˜ ์ •๋„๋“ค์€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ๋ฐ–์— ์—†์œผ๋ฉฐ, ๋”ฐ๋ผ์„œ ์ „์ฒด SoC ๋””์ž์ธ์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด ์ตœ๋Œ€ ํšจ์œจ์„ ์œ„ํ•œ ์ตœ์ ์˜ ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๋Œ€์ƒ ์กฐํ•ฉ์„ ์ฐพ๊ธฐ ์œ„ํ•œ ์„ค๊ณ„๊ณต๊ฐ„ ํƒ์ƒ‰(design space exploration, DSE)์ด ํ•„์ˆ˜์ ์œผ๋กœ ์š”๊ตฌ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ์กด์˜ ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๋””์ž์ธ์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ์„ค๊ณ„์ž๊ฐ€ ์ž„์˜์˜ ๊ธฐ์ค€์— ๋”ฐ๋ผ ์„ ํƒํ•œ ๋Œ€์ƒ functional module ๋“ค์„ ์–ด๋–ป๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ์ž˜ ํ•ฉ์น  ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•˜์—ฌ ์—ฐ๊ตฌ์˜ ์ฃผ์•ˆ์ ์„ ๋‘๊ณ  ์žˆ์œผ๋ฉฐ, ๋ฐฉ๋Œ€ํ•œ ์„ค๊ณ„๊ณต๊ฐ„ ๋‚ด์—์„œ์˜ ์ตœ์ ์กฐํ•ฉ ํ•ด๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ์—ฐ๊ตฌ๋Š” ์ฐพ๊ธฐ ํž˜๋“ค๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ค๊ณ„๊ณต๊ฐ„์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ์•ˆํ•  ๋•Œ ์ „์ˆ˜์กฐ์‚ฌ๋ฅผ ํ†ตํ•ด ์ตœ์ ํ•ด ์กฐํ•ฉ์„ ์ฐพ๊ธฐ๋Š” ์‚ฌ์‹ค์ƒ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ๋‹ค. ๋น ๋ฅด๊ณ  ์‹ ๋ขฐํ•  ๋งŒํ•œ DSE ๋ฅผ ์œ„ํ•œ heuristic algorithm ์ด ํ•„์š”ํ•œ ์ด์œ ์ด๋‹ค. ์ด๋•Œ ์„ค๊ณ„๊ณต๊ฐ„ ๋‚ด์˜ ๊ฐ ์กฐํ•ฉ์— ๋”ฐ๋ฅธ ๋ฉด์  ์ ˆ์•ฝ ์–‘์„ ์‚ฌ์ „์— ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์ด๋Š” ๋น ๋ฅด๊ณ  ์‹ ๋ขฐํ•  ๋งŒํ•œ DSE algorithm ์˜ ํ•ต์‹ฌ ์š”์†Œ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๊ตฌ์กฐ๋ฅผ ์ ์šฉํ•  ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฉด์  ์ ˆ์•ฝ์€ ํ•ฉ์น˜๊ฒŒ ๋˜๋Š” ๊ฐ functional module ๋“ค์ด ํ•„์š”๋กœ ํ•˜๋Š” functional unit ๋“ค ๋ฐ register ๋“ค์„ ๊ณต์œ ํ•จ์œผ๋กœ์จ ์–ป์–ด์ง„๋‹ค. ํ•˜์ง€๋งŒ ์ด๋กœ ์ธํ•ด mux ๋“ค์ด ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ตœ์ข…์ ์œผ๋กœ ๊ณต์œ ๋กœ ์ธํ•œ ๋ฉด์  ์ ˆ์•ฝ๊ณผ ์ถ”๊ฐ€๋˜๋Š” ๋ฉด์  ์ฆ๊ฐ€์˜ ์ฐจ์— ์˜ํ•ด ๋ฉด์  ์ ˆ์•ฝ์˜ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” initiation interval constraint ๋ฅผ ๊ฐ–๋Š” application ์— ๋Œ€ํ•˜์—ฌ ์ตœ์†Œ functional unit ๊ฐœ์ˆ˜, ๊ฐ„๋‹จํ•œ mux ๊ฐœ์ˆ˜๋ฅผ ์ตœ์†Œํ™” ํ•˜๋Š” binding algorithm ์„ ํ†ตํ•œ mux ์ฆ๊ฐ€๋Ÿ‰ ์˜ˆ์ธก, ๊ทธ๋ฆฌ๊ณ  ๊ฐ„๋‹จํ•œ register ๊ฐœ์ˆ˜ ์˜ˆ์ธก ๋“ฑ์„ ํ†ตํ•˜์—ฌ ์„ ํƒํ•œ ๋Œ€์ƒ functional module ๋“ค์— ๋ฉ€ํ‹ฐ๋ชจ๋“œ HLS(High-Level Synthesis, ์ƒ์œ„์ˆ˜์ค€ ํ•ฉ์„ฑ)๋ฅผ ์ ์šฉํ•  ๊ฒฝ์šฐ์˜ ์ตœ์†Œ ๋ฉด์ ์ ˆ์•ฝ ์–‘์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ œ์•ˆํ•œ ๋ฐฉ๋ฒ•์— ์˜ํ•ด ์˜ˆ์ธกํ•œ ๋ฉด์  ์ ˆ์•ฝ์ด ์‹ค์ œ๋กœ ์œ ํšจํ•œ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‹คํ—˜์„ ํ†ตํ•ด ์‹ค์ œ ๋ฉด์  ๊ฐ์†Œ๋ถ„๊ณผ์˜ ๋น„๊ต๋ฅผ ์ง„ํ–‰ํ•ด ๋ณธ๋‹ค. ์ œ์•ˆํ•œ ๋ฉด์  ์ ˆ์•ฝ ์˜ˆ์ธก ๋ฐฉ๋ฒ•์€ ๋‚ฎ์€ ๊ณ„์‚ฐ ๋ณต์žก๋„๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ, ๊ทธ์— ๋”ฐ๋ผ ํฐ ์„ค๊ณ„๊ณต๊ฐ„ ์ „์ฒด์— ๋Œ€ํ•ด ๋น ๋ฅธ ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„ค๊ณ„๊ณต๊ฐ„ ๋‚ด์˜ ๋ฌด์˜๋ฏธํ•œ ์กฐํ•ฉ๋“ค์„ ์ œ์™ธํ•˜๊ฑฐ๋‚˜ ๋ช…๋ฐฑํžˆ ์ข‹์€ ์กฐํ•ฉ๋“ค์„ ์šฐ์„ ์ ์œผ๋กœ ์ฐพ์•„๋ƒ„์œผ๋กœ์จ ์„ค๊ณ„๊ณต๊ฐ„์˜ ํฌ๊ธฐ๋ฅผ ์œ ์˜๋ฏธํ•˜๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.SoC (System on Chip) is gaining more functions and becoming larger with the recent trend of increasing design complexity of semiconductor. So chip area optimization becomes one of the main topics of SoC design. Multi-mode architecture could be one of the good solutions to cope with this area optimization problem. Multimode architecture is a hardware architecture that has multiple configurations and thus the hardware can perform multiple functions by changing the configuration. Areas could be saved by sharing the common parts of the functions. SoC consists of many applications and each application is formed by many functional modules. So the design space for a multi-mode SoC system is huge in general. If we apply multi-mode design methodology to some selected functional modules among this design space, the amount of area savings can be very different depending on which modules are selected for merge. Therefore, DSE (Design Space Exploration) of finding functional modules to be merged is indispensable to achieve maximal total area reduction. But previous researches on multi-mode design are mostly focused on how to merge target functional modules that have been selected by the researchers' arbitrary standard. DSE related researches could be hardly found. Exhaustive search, however, is almost impossible because of huge design space, so fast and reliable heuristic algorithm for DSE is needed. If we can efficiently estimate the amount of area saving for a given combination of functional modules, it could be used as the key-factor of that DSE algorithm. Area savings of multi-mode architecture is gained by sharing functional units or registers that are needed in each target functional module. But additional mux would be used because of the sharingthe final area savings can be calculated by the difference between the area decrease due to sharing and the area increase due to adding muxes. This thesis proposes the method of estimating minimum area savings obtained by applying a multi-mode design method to highlevel synthesis with initiation interval constraints. This estimation considers reduced number of functional units due to sharing, increased number of muxes with simple mux minimizing binding algorithm, and simple estimation of the number of registers. This thesis also validates the proposed approach to estimation of area saving by comparing the estimation results with real amounts of area saving. The proposed estimation method has low computational complexity, thus enables fast exploration of the huge design space.์ดˆ๋ก ๋ชฉ์ฐจ ํ‘œ ๋ชฉ์ฐจ ๊ทธ๋ฆผ ๋ชฉ์ฐจ ์ œ1์žฅ ์„œ๋ก  ์ œ2์žฅ ๊ด€๋ จ ์—ฐ๊ตฌ 2.1 ์ƒ์œ„ ์ˆ˜์ค€ ํ•ฉ์„ฑ (High-Level Synthesis) 2.2 ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๊ตฌ์กฐ ์„ค๊ณ„ 2.2.1 ๋ฉ€ํ‹ฐ๋ชจ๋“œ HLS vs. Datapath Merging 2.3 ๋ฉ€ํ‹ฐ๋ชจ๋“œ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ์‹œ์Šคํ…œ ์ˆ˜์ค€ ์„ค๊ณ„๊ณต๊ฐ„ ํƒ์ƒ‰ ์ œ3์žฅ ๋ฉ€ํ‹ฐ๋ชจ๋“œ ์„ค๊ณ„์˜ ๋ฉด์  ์ ˆ์•ฝ ์˜ˆ์ธก 3.1 ๋ฉด์  ์ ˆ์•ฝ ์˜ˆ์ธก ๊ฐœ์š” 3.2 Combinational Logic ๋ฉด์  ์ ˆ์•ฝ ์˜ˆ์ธก 3.2.1 Functional Unit ๊ณต์œ  ๋ฉด์  ์˜ˆ์ธก 3.2.2 Mux ๊ณต์œ  ๋ฉด์  ์˜ˆ์ธก 3.3 Estimation of Non-combinational Logic Area ์ œ4์žฅ ์‹คํ—˜ ๊ฒฐ๊ณผ 4.1 ์‹คํ—˜ ๊ฐœ์š” 4.1.1 In-house HLS Tool์˜ ๊ตฌํ˜„ 4.2 In-house HLS Tool์˜ ์œ ํšจ์„ฑ ๊ฒ€์ฆ 4.3 ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๋ฉด์  ์ ˆ์•ฝ ์˜ˆ์ธก์˜ ์œ ํšจ์„ฑ ๊ฒ€์ฆ 4.4 ๋ฉ€ํ‹ฐ๋ชจ๋“œ ๊ตฌ์กฐ์˜ ๋ฉด์ ์ ˆ์•ฝ ๋ถ„์„ ์ œ5์žฅ ๊ฒฐ๋ก  ๋ฐ ํ–ฅํ›„ ๊ณผ์ œ ์ฐธ๊ณ ๋ฌธํ—Œ ABSTRACT ๊ฐ์‚ฌ์˜ ๊ธ€Maste
    corecore