A system-on-chip (SOC) is a complex integrated circuit that encompasses functional elements including software modules and hardware components. SOCs provide integrated solutions to challenging design problems in the telecommunications, multimedia, and consumer electronics. For the design of SOCs, methods of compiling embedded software and automatically generating synthesizable hardware description from high-level language description are presented in the thesis. A new simulation method that can be used in analyzing the performance of SOCs is also presented. Firstly, this thesis presents a new code optimization method for embedded digital signal processors. In the proposed code optimization method, the special architectural features of embedded digital signal processors such as address generation units and hardware loop instructions are exploited. The proposed method employs a high-level transformation and a new graph representation called value-trace graph to fully utilize the special features. The thesis also proposes a hardware design method in which synthesizable hardware description is generated from high-level programming language description.
In the proposed method, in order to reveal the parallelism between modules, global variables are localized since the global variables in high-level language description cause dependency relations between hardware modules. Lastly, a new simulation method called timed compiled-code functional simulation is proposed in the thesis. The timed compiled-code functional simulation, which is proposed for the performance analysis of SOC designs, simulates the whole design at a functional level with timing. A fast and accurate performance analysis is greatly required in designing SOCs because parts of the SOC development process will require the ability to rapidly assemble accurate performance estimators to provide feedback during system-level optimization. As SOCs include software components as well as hardware modules, the timing of software components is needed to estimate and analyze system performance. The timing of the software components generated based on compiler techniques is used in the timed compiled-code functional simulation.
시스템칩(system-on-chip)은 소프트웨어와 하드웨어를 모두 포함하는 하나의 복잡한 집적회로이다. 이러한 시스템칩은 통신, 멀티미디어, 가전과 같은 분야에서 유용하게 사용되고 있다. 이 논문에서는 이러한 시스템칩의 설계를 위한 방법들을 제안하고 있다. 소프트웨어 설계를 위하여 효율적인 내장형 소프트웨어 컴파일 방법과 하드웨어의 설계를 용이하게 하기 위하여 프로그램 언어 기술로부터 합성가능한 하드웨어 기술을 생성하는 방법을 제안하고 있다. 또 시스템칩 설계에서 필요한 성능 분석 작업을 효과적으로 수행할 수 있는 컴파일 코드 방식의 시뮬레이션 방법도 제안하고 있다. 제안된 소프트웨어 컴파일 방법에서는 효율적인 코드의 생성을 위하여 내장형 프로세서가 가지는 특수한 구조를 반영하여 소프트웨어를 컴파일한다. 이 방법에서 고려할 수 있는 하드웨어는 주소 생성 유닛 (address generation unit), 하드웨어 루프 명령어등이다. 이를 위하여 제안된 방법에서는 고수준의 변형(high-level transformation)과 value-trace graph로 불리는 새로운 그래프 표현 방법을 사용한다. 고수준 언어로 기술로부터 합성가능한 하드웨어 기술을 자동으로 생성하는 방법에서는 각 하드웨어 모듈간의 병렬성을 찾기 위하여 전역변수를 지역변수로 변환한 후 합성 가능한 하드웨어 기술을 생성한다. 이 것은 전역변수가 각 모듈간의 의존성을 만들기 때문이다. 마지막으로 제안된 시스템칩의 성능 분석을 위한 새로운 시뮬레이션 방법에서는 소프트웨어의 타이밍을 생성하고 이을 이용하여 컴파일 방식의 시뮬레이션을 이용하여 시스템 전체를 빠른 시간에 시뮬레이션한다.