Presentation is loading. Please wait.

Presentation is loading. Please wait.

200310172 임진수 200324367 이현철. 회로 설계 과정 합성 ?  합성 도구가 주어진 HDL 코드를 Library 에 맞춰 회로로 변경시켜주는 과정  모든 코드가 합성되는 것은 아니다 !

Similar presentations


Presentation on theme: "200310172 임진수 200324367 이현철. 회로 설계 과정 합성 ?  합성 도구가 주어진 HDL 코드를 Library 에 맞춰 회로로 변경시켜주는 과정  모든 코드가 합성되는 것은 아니다 !"— Presentation transcript:

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 로 인한 결과


Download ppt "200310172 임진수 200324367 이현철. 회로 설계 과정 합성 ?  합성 도구가 주어진 HDL 코드를 Library 에 맞춰 회로로 변경시켜주는 과정  모든 코드가 합성되는 것은 아니다 !"

Similar presentations


Ads by Google