[주간 세미나] 소프트웨어 언어와 하드웨어 언어
일시: 2023년 7월 26일
장소: 전자정보대학관 211-2
시간: 오전 10시 30분 (90분)
내용
1. 컴퓨팅 언어의 목표
- 컴파일러(Compiler): 기계용 명령 코드 생성(binary executable)
- 합성기(Synthesizer): 기계 제작용 회로도 생성(circuit netlist)
2. 컴퓨팅 언어의 용도
- 행위 기술 (Behavior Description)
- 설계 검증 (Testbench for Design Verification)
3. 소프트웨어 언어 vs. 하드웨어 언어
- 문장 실행(Statement execution): 순서(Procedural) vs. 동시(Concurrent)
- 행위 및 시나리오 기술(Behavior) vs. 전자부품들 사이의 전기 결선 (Netlist)
- 쉽다 vs. 어렵다
- 제어문에는 보이지 않는 손이 작동한다(FSM, Finite-State-Machine).
- 동시 다발하는 사건을 파악하기 어렵다 (시뮬레이션 필수!)
4. 소프트웨어 언어에 하드웨어 요소 추가
- 시간 관리(Time)
- Simulated Concurrency - 사건 처리(Event process)
- 사건 감응(sensitivity list)과 콜-백(Call-Back) 함수 - 다중 구동 해결(Resolve Multiple-drive)
- Multi-Valued Logic(MVL): 1, 0, X, Z - 전선과 저장소 (Wire vs. Storage)
- 클럭(Clock)
- 엣지와 레벨 (Edge and Level) - 할당(Assignment)
- Procedural vs. Contineous
- Blocking vs. Non-Blocking
5. 하드웨어 언어에 도입된 소프트웨어 언어 요소
- 높은 추상화 수준: 트랜잭션 수준(Transaction Level)
- 순서적 행위 묘사 포함: 사건과 콜-백 (Event and Call-Back)
[토론] 하드웨어 언어를 발전 시킬까? 소프트웨어 언어를 들여올까?
- SystemVerilog [HDL] vs. SystemC [C++]
6. 하드웨어 회로 시뮬레이터
- 동시성을 가상 작동시키는 소프트웨어
- 사건과 콜-백 (Call-Back)
- 시간 관리(Timing mode): 델타(Delta mode) 와 사건(Event mode)
7. 회로 시뮬레이터
- QuestaSim
----------------------------------------------------------------
[참고]
1] Hardware Description Language vs. Programing Language
https://courses.cs.washington.edu/courses/cse370/99sp/lectures/05-HDL/sld011.htm
2] Difference between HDL and Software Language
https://www.geeksforgeeks.org/difference-between-hardware-description-language-and-software-language/
3] Tools bridge the chasm between hardware and software
https://www.mouser.com/blog/tools-bridge-the-chasm-between-hardware-and-software
4] SystemC, Bridge the Gap
https://drive.google.com/file/d/11MSOZ4e592zwhy8jXRqmM6qg1AiMCfcd
https://drive.google.com/file/d/11fQKIcAC78B5gLcw-FZkJ800B1PV7o3B
----------------------------------------------------------------
[예제]
1] SR-FlipFlop
https://electrotrick.wordpress.com/2017/08/23/s-r-flip-flop/
2] HLS_Co-Sim_Ex_sobel_filter
[다운로드] https://drive.google.com/file/d/11olW2oLAJN4gwhZrjB_14MA47gi7Sptr (82MBytes)
Expand Time Modes
댓글 없음:
댓글 쓰기