1 / 70

Synopsys Tool 사용법 및 실습

Synopsys Tool 사용법 및 실습. Contents. Synopsys - Synopsys 환경 Setup - Synopsys 사용법 - Synthesis Procedures. Synopsys 환경 Setup. Synopsys 사용을 위한 setup 환경 잡기 - .cshrc - .synopsys_dc.setup - .synopsys_vss.setup - .synopsys_sge.setup

gada
Télécharger la présentation

Synopsys Tool 사용법 및 실습

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Synopsys Tool 사용법 및 실습

  2. Contents • Synopsys - Synopsys 환경 Setup - Synopsys 사용법 - Synthesis Procedures

  3. Synopsys 환경 Setup • Synopsys 사용을 위한 setup 환경 잡기 • - .cshrc • - .synopsys_dc.setup • - .synopsys_vss.setup • - .synopsys_sge.setup • - .synopsys_sge2vhdl.setup • 이 파일들의 Default 는 • $SYNOPSYS/admin/setup 디렉토리에서 볼 수 있음

  4. Synopsys 환경 Setup(cont’d) • .cshrc (Synopsys환경변수)setenv SYNOPSYS /home/95.5/synopsyssetenv ARCH sparcOS5source $SYNOPSYS/admin/install/sim/environ.cshset path = ($path $SYNOPSYS/$ARCH/syn/bin)set path = ($path $SYNOPSYS/$ARCH/sim/bin)set path = ($path $SYNOPSYS/$ARCH/sge/bin)set path = ($path $SYNOPSYS/$ARCH/ds/bin)set path = ($path $SYNOPSYS/iview2/bin)

  5. Synopsys 환경 Setup(cont’d) • .synopsys_dc.setup 파일(Default) search_path = {} + search_path link_library = {class.db}; target_library = {class.db}; symbol_library =class.sdb}; define_design_lib WORK -path ./work; designer = ”student” company = ”CNU IDEC"

  6. Synopsys 환경 Setup(cont’d) • .synopsys_vss.setup 작성의 예 • CLASS > CLASS_FTGS • WORK > DEFAULT • CLASS_FTGS : • /home/95.5/synopsys/CLASS/lib/FTGS • DEFAULT : ./work • TIMEBASE = NS

  7. Synopsys 환경 Setup(cont’d) • .synopsys_sge.setup 작성의 예 • ………. • [SymbolLibraries] • $SGE_ROOT/lib/IEEElib = Yes • $SGE_ROOT/lib/MVL7lib = No • $SGE_ROOT/lib/verilib = No • /home/95.5/synopsys/CLASS/sym = Yes • …………………..

  8. Synopsys 환경 Setup(cont’d) • .synopsys_sge2vhdl.setup 작성의 예 • [Defaults] • net_type = std_logic • bus_type = std_logic_vector() • work_lib = WORK • model_lib = CLASS • default_modellib_arch = FTGS • use_lib_section = CLASS_Defaults • default_sym_arch = BEHAVIORAL • default_sch_arch = SCHEMATIC • default_cfg = CFG_%E • tb_entity = TB_FILE • tb_arch = testbench • tb_inst = UUT • tb_cfg = CFG_TB_%E_%A

  9. Synopsys 환경 Setup(cont’d) • .synopsys_sge2vhdl.setup 작성의 예 • ……………... • [CLASS_Defaults] • library IEEE, CLASS; • use IEEE.std_logic_1164.all; • use CLASS.components.all; • ………………………….

  10. Synopsys Tool 사용법  Design process

  11. Synopsys Tool 사용법(cont’d)  Synthesis flow

  12. Synopsys Tool 사용법(cont’d)  설계 및 합성에 이용되는 tool - SGE( Simulation Graphical Environment) - VHDLDBX ( VHDL Debugger) - Design Analyzer

  13. Synopsys Tool 사용법(cont’d)  SGE

  14. Synopsys Tool 사용법(cont’d)  VHDL Debugger

  15. Synopsys Tool 사용법(cont’d)  VHDL Debugger(Execute)

  16. Synopsys Tool 사용법(cont’d)  VHDL Debugger(Breakpoints)

  17. Synopsys Tool 사용법(cont’d)  VHDL Debugger(Monitors)

  18. Synopsys Tool 사용법(cont’d)  VHDL Debugger(Traces)

  19. Synopsys Tool 사용법(cont’d)  VHDL Debugger(Query)

  20. Synopsys Tool 사용법(cont’d)  VHDL Debugger(Stimulus)

  21. Synopsys Tool 사용법(cont’d)  VHDL Debugger(Misc)

  22. Synopsys Tool 사용법(cont’d)  파형 분석기

  23. Synopsys Tool 사용법(cont’d)  Design Analyzer

  24. Synopsys Tool 사용법(cont’d)  Design Analyzer( Setup - default)

  25. Synopsys Tool 사용법(cont’d)  Design Analyzer( Setup - command window)

  26. Synopsys Tool 사용법(cont’d)  Design Analyzer(File - analyze )

  27. Synopsys Tool 사용법(cont’d)  Design Analyzer(File - elaborate )

  28. Synopsys Tool 사용법(cont’d)  Design Analyzer(File - read )

  29. Synopsys Tool 사용법(cont’d)  Design Analyzer(Attributes - clocks - specify )

  30. Synopsys Tool 사용법(cont’d)  Design Analyzer(Attributes - operating enviroment )

  31. Synopsys Tool 사용법(cont’d)  Design Analyzer(Attributes - constraint )

  32. Synopsys Tool 사용법(cont’d)  Design Analyzer(Attributes - optimization )

  33. Synopsys Tool 사용법(cont’d)  Design Analyzer(Tools - design optimization )

  34. Synopsys Tool 사용법(cont’d)  Design Analyzer(Analysis - highlight - critical path )

  35. Synopsys Tool 사용법(cont’d)  Design Analyzer(Analysis - report )

  36. SYNOPSYS 설계의 예 • MULTIPLEX VHDL 모델링 - vi mux.vhd • 1. vi 편집기를 실행시켜 multiplex에 대한 vhdl code를 작성한다. • library IEEE; • use IEEE.std_logic_1164.all; • entity MUX is • port(a, b : in std_logic_vector( 7 downto 0); • sel : in std_logic; • c : out std_logic_vector(7 downto 0)); • end MUX;architecture beh of MUX is • begin • process(a, b, sel) • begin • if sel='1' then c <= a; • else c <= b; • end if; • end process; • end beh;

  37. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX VHDL 모델링(cont’d) • 2. 편집이 완료되면 esc를 누르고 :wq 를 하고 편집기를 빠져 • 나온다. • 3. vhdlan mux.vhd • - 편집된 code를 compile 함. • - code를 수정하였거나 다시 작성하였을 때는 반드시 이런 방법 • 을 사용하여compile 해야 함. testbench도 마찬가지임.

  38. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX Testbench의 VHDL 모델링 • 1. vi tb_mux.vhd • library IEEE; • use IEEE.std_logic_1164.all; • entity tb_MUX is • end tb_MUX; • architecture tb of tb_MUX is • component MUX • port(a, b : in std_logic_vector(7 downto 0); • sel : in std_logic; • c : out std_logic_vector(7 downto 0)); • end component; • signal X, Y ,Z : std_logic_vector(7 downto 0); • signal Sign : std_logic; • begin • tb_MUX : MUX port map(X, Y, Sign, Z); • X <="00001001"; Y <="00000010"; • Sign <= '0' ,'1' after 100 ns, '0' after 200 ns; • end tb; • configuration cfg_tb_MUX of tb_MUX is • for tb • for tb_MUX: MUXuse entity work.MUX(beh); • end for; • end for; • end cfg_tb_MUX;

  39. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 시뮬레이션 • 1. vhdldbx & • 2. cfg_tb_mux 선택

  40. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 시뮬레이션(cont’d) • 3. trace *’sig

  41. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 시뮬레이션(cont’d) • 4. run 200

  42. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 논리 합성(cont’d) • 1. da & • 2. File -> read -> mux.vhd -> OK

  43. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 논리 합성(cont’d)

  44. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 논리 합성(cont’d) • 3. 화면에 나온 block을 두번 click • 4. 바뀐 block을 두번 click

  45. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 논리 합성(cont’d) • 5. Tools -> optimization -> medium -> OK • - optimization 을 위하여 area나 timing 제약을 줄 수 있다. • ( Attributes -> optimization constraint)

  46. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 논리 합성(cont’d)

  47. SYNOPSYS 설계의 예(cont’d) • MULTIPLEX 의 논리 합성(cont’d) • 6. Save as -> mux.db • 7. Setup -> scripts -> DA to SGE transfer • 8. Error 가 없으면 da를 빠져 나온다. ( File -> quit) • 9. sge2vhdl mux • - 합성된 회로로 변형된 vhdl code 생성 • 10. vi mux.vhd • - code 확인 • 11. vhdlan mux.vhd • 12. testbench 작성 • 13. vhdlan testbench

  48. SYNOPSYS 설계의 예(cont’d) • 논리 합성 후 시뮬레이션 • 1. 논리 합성시 *.db 로 저장후 Save info-> Design timing -> sdf 선택후 • file 저장. • 2. quit • 3. vhdldbx & • 4. cfg_tb_mux 선택 • 5. command 란에 -sdf_top /entity_name/label_name -sdf sdf_file_name • 6. OK • 7. trace *’sig • 8. run 200

  49. LAB 1 • CLA 설계 • 1. PGU 의 VHDL 모델링 • LIBRARY IEEE; • USE IEEE.std_logic_1164.all; • USE IEEE.std_logic_components.all; • ENTITY PGU IS • PORT ( a, b : IN bit_vector (31 DOWNTO 0); • g, p : OUT bit_vector (31 DOWNTO 0) ); • END PGU; • ARCHITECTURE Behavioral OF PGU IS • BEGIN • PROCESS (a,b) • BEGIN • g <= a AND b ; • p <= a XOR b ; • END PROCESS; • END Behaviroal;

  50. LAB 1(cont’d) • CLA 설계 • 2. vhdlan pgu-file-name • 3. testbench 모델링 / vhdlan testbench • 4. vhdldbx& • 5. configure-name 선택 • 6. trace *’sig • 7. run • 8. da& • 9. File - read • 10. dubble click

More Related