Download presentation
Presentation is loading. Please wait.
Published by솔비 서문 Modified 8년 전
1
200310172 임진수 200324367 이현철
2
회로 설계 과정
3
합성 ? 합성 도구가 주어진 HDL 코드를 Library 에 맞춰 회로로 변경시켜주는 과정 모든 코드가 합성되는 것은 아니다 !
4
합성 불가능한 설계 & 코드 Initial Block(init begin.... end) Delay(#40) 20’bx..x + 20’bx...x ..... 합성이 불가능하거나 합성 되더라도 잘못된 결과를 보일 수 있다. RTL Simulation ≠ Gate-Level Simulation
5
Control unit 과 Datapath 의 연결 모습 합성 결과 ~ Schematic
6
RTL Simulation Bubble sort 진행 및 결과
7
Gate-Level Simulation Bubble sort 진행
8
합성 시 발생한 경고 무시해도 좋은 경고 예 1) 값의 초기화에 관한 경고 예 2) 사용되지 않는 PORT 의 제거에 관한 경고 이 경우는 고려를 해야함 심각한 문제에 대한 경고 예 1 ) Latch 발생 경고 : 의도하지 않은 구조 예 2) Input 이 사용되지 않음 : 구조상의 문제
9
Flip-flop : 잘못된 구조 module FF( Input, Reset, CLK, Output ); input Input, Reset;, CLK; output Output; reg Output; reg PS, NS; always @( Reset ) begin PS = 0; NS = 0; end always @( posedge CLK ) PS <= NS; always @( Input ) NS = Input; always @( PS ) Output = PS;
10
Flip-flop 설계 변경 module FF( Input, Reset, CLK, Output );// 동기식 Reset FF input Input, Reset, CLK; output Output; reg PS, NS; assign Output = PS; always @( posedge CLK ) begin if( Reset == 1'b1 ) PS <= 0; else PS <= NS; end always @( Input ) NS = Input;
11
MUX 설계 : Sensitivity 누락 module MUX( Input1, Input2, Select, Output ); input Input1; input Input2; input Select; output Output; reg Output; always @( Input1, Input2 ) begin if( Select == 1'b1 ) Output = Input1; else Output = Input2; end
12
조건문 설계 : else, default 누락 module MUX( Input1, Input2, Select, Output ); input Input1, Input2, Select; output Output; reg Output; always @( Input1, Input2, Select ) begin if( Select == 1'b1 ) Output = Input1; end
13
MUX 의 정상적인 구조 module MUX( Input1, Input2, Select, Output ); input Input1; input Input2; input Select; output Output; reg Output; always @( Input1, Input2, Select ) begin if( Select == 1'b1 ) Output = Input1; else Output = Input2; end
14
설계 정리 후 잔여 경고
15
Xst:647 – ALU 의 연산 결과로 나오는 Z, DC, C 중 CU 에서 쓰이는 것은 Z 만이었기에 발생한 경고. 추후 명령어 확장을 고려하여 방치 Xst : 653 – Program memory 에 assembly code 를 넣고 남은 공간에 대해서 초기화를 시키지 않아서 발생한 경고. For 루프등으로 초기화시키면 되지만 동작상 연관이 없어서 방치
16
Xst : 646 – CU 의 상태전이 때, 잘못된 상태일 경우에 대한 경고값으로 설계한 후, 현재 사 용은 하지 않으나 동작에 문제가 없으며 RTL simulation 시에 도움이 되므로 방치 Xst : 1710, 1895 – 초기값을 비롯하여 항상 0 또는 1 의 값만이 들어와서 해당 FF 를 삭제하 고 상수 0 또는 1 로 변경한다는 경고. 현재 안 쓰이는 Status 인지라 방치
17
Fit 작업 중 발생한 문제 Behavioral Simulation 의 동작을 확인하고 Post-fit Simulation 을 위해 Fit 작업 수행 중 발생한 문제 macrocell : 레지스터, 입력 그리고 출력 포트등 에 할당 macrocell 부족 : 설계의 변경 또는 칩의 변경이 필요
18
다른 방식을 시도하는 경우 다음의 알림을 해결하고자 할때는 xilinx – download 에 있는 XE 버전 library 를 다운받아 설치하면 된다고 함
19
Clock skew 합성에는 문제를 일으키지 않지만 동작 시 치명적 인 문제를 발생시키는 것 중 하나 다음과 같은 설계 구조에서 발생 module....(); wire CLOCK; assign CLOCK = CLK & POWER; ControlUnit CU(....., POWER, CLK,.... ); Datapath DP(...., CLOCK,...........); endmodule
20
Clock skew 로 인한 결과
Similar presentations