Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của Synopsys
Trang 11
MỤC LỤC
LỜI NÓI ĐẦU 3
Chương 1: Quy trình thiết kế ASIC sử dụng bộ phần mềm của Synopsys 4
1.1 Tổng quan về công nghệ ASIC 4
1.1.1 Sơ lược quá trình phát triển của mạch thích hợp IC 4
1.1.2 Phân loại ASIC 4
1.2 Quy trình thiết kế ASIC 6
1.3 Bộ công cụ phần mềm EDA của Sysnopsys 10
1.3.1 Sơ lược về công ty Synopsys 10
1.3.2 Sơ đồ khối tổng quát 10
1.3.3 Leda 11
1.3.4 VCS 12
1.3.5 Design compiler 12
1.3.6 Prime time 13
1.3.7 IC compiler 13
1.3.8 Fomality 13
Chương 2 : Thiết kế đồng hồ số 14
2.1 Miêu tả đồng hồ số 14
2.2 Thiết kế đồng hồ số 15
2.2.1 Khối Top Module 15
2.2.2 Khối Counter 18
2.2.3 Khối Extract_bits 19
2.2.4 Khối Led_7_segment 21
Chương 3 : Thực hiện thiết kế với bộ công cụ phần mềm Synopsys 24
3.1 Leda 24
3.2 VCS 28
Trang 22
3.2.1 Kiểm tra trước khi tổng hợp 28
3.2.2 Kiểm tra sau khi tổng hợp 29
3.2.3 Kiểm tra timming sau khi layout 30
3.3 Design Compiler 30
3.4 Formality 42
3.5 Primetime 46
3.5.1 Kiểm tra timing trước khi layout 46
3.5.2 Kiểm tra timing sau khi layout 48
3.6 IC Compiler 48
3.6.1 Cài đặt dữ liệu 48
3.6.2 Floor Planning 54
3.6.3 Placement (Sắp xếp cell) va kiểm tra tắc nghẽn 58
3.6.4 Tạo clock tree 60
3.6.5 Thực hiện đi dây 61
3.6.6 Xuất các file sdc, sdf, v, spef, 62
3.6.7 Xuất ra các file báo cáo 62
KẾT LUẬN 64
TÀI LIỆU THAM KHẢO 65
Trang 33
LỜI NÓI ĐẦU
Ngành thiết kế IC là một ngành có yếu tố quyết định sự phát triển của tất cả các ngành khoa học khác Công nghệ ASIC được sử dụng rộng khắp các thiết bị điều khiển tự động
để điều khiển các chức năng của các phương tiện truyền thông, xe cộ,các hệ thống xử lý, dây chuyền công nghiệp… Nhận biết được tầm quan trọng của ngành thiết kế IC, thông qua môn học “ Thiết kế VLSI” ,chúng em quyết định thực hiện đề tài “Thiết kế đồng hồ số” sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của Synopsys
Chúng em xin chân thành cảm ơn Ts Nguyễn Vũ Thắng và Ks Nguyễn Nam Phong đã tận tình chỉ bảo và hướng dẫn, cung cấp cho chúng em những điều kiện tốt nhất
để thực hiện đề tài này
Trang 44
Chương 1: Quy trình thiết kế ASIC sử dụng bộ phần mềm của
Synopsys 1.1 Tổng quan về công nghệ ASIC
ASIC - Application Specific Integrated Circuit: mạch thích hợp ứng dụng chuyên biệt
ASIC được xây dựng bằng việc kết nối các mạch có sẵn dã được xây dưgj theo các phương pháp mới vì vậy ASIC thuận tiện và dễ dàng hơn Asic là một mạch thích hợp được sản xuất cho một ứng dụng đặc trưng và thường có kích thước tương đố nhỏ Công nghệ ASIC được sử dụng rộng khắp trong các thiết bị điều khiển tự động để điều khiển các chức năng của các phương tiện truyền thông, xe cộ, các hệ thống xử lý, dây chuyền công nghiệp…
1.1.1 Sơ lược quá trình phát triển của mạch thích hợp IC
SSI : Small Scale Intergation – Mạch tích hợp cỡ nhỏ (<10 transistors)
MSI: Medium Scale Integration – Mạch tích hợp cỡ trung bình (10÷100
transistors)
LSI: Large Scale Integration – Mạch tích hợp cỡ lớn (100÷1000 transistors)
VLSI: Very Large Scale Integration – Mạc tích hợp cỡ rất lớn (103
÷106transistors)
1.1.2 Phân loại ASIC
ASIC
Programmable Logic Device (PLDs)
gate array ASIC
Channeless-Channeled-gate
array ASIC
Semi-custom ASIC
Full-Custom ASIC Gate Array
Hình 1: Sơ đồ phân loại ASIC
Full-custom ASIC:
Trang 55
Một phần hoặc toàn bộ logic cell và các mạch hoặc nền (layout ) được thiết kế riêng biệt cho từng ASIC Không sử dụng thư viện cell có sẵn cho toàn bộ hoặc một phần thiết kế
Ưu điểm: tối ưu về diện tích, tăng hiệu suất làm việc của IC
Nhược điểm: giá thành cao, chiếm nhiều thời gian thiết kế cũng như chế tạo
Full-custom được dùng trong các trường hợp đòi hỏi khắt khe về tốc độ, tài nguyên, diện tích và hiệu suất làm việc, hoặc khi Asic quá đặc biệt cần phải được thiết kế tùy biến
Semi-custom ASIC:
Sử dụng các thư viện chuẩn tế bào logic Thư viện chuẩn bao gồm các đối tượng , mỗi đối tượng là môt tập hợp mô tả các chức năng logic, thông số vật lí (trễ, điện cảm, điện dung, điện trở ) và các đặc tính hình học cần thiết cho việc tạo ra mặt nạ của một phần tử cơ bản tạo thành IC được gọi là Standard Cell như các cổng AND, OR, XOR, MUX, FF Thư viện này được chuẩn hóa cho phép các công cụ thiết kế có thể đọc, rồi biên dịch bản thiết kế thành một file mô tả chi tiết việc sử dụng các phân tử cơ bản trong thư việc chuẩn gọi là file Netlist Sau đó từ file Netlist người thiết kế chế tạo ra các mặt
nạ bằng cách sắp xếp các Standard cell và nối dây giữa chúng Có thể sử dụng kết hợp tế bào chuẩn với tế bào lớn đã được thế kế sẵn như vi điều khiển, vi xử lí… Người thiết kế chỉ cần địn nghĩa vị trí của tế bào chuẩn và kết nối trong một ASIC Tất cả các mặt nạ được tùy biến và được thiết kế duy nhất cho từng khách hàng
Ưu điểm: Tiết kiệm thời gian, giảm chi phí sản xuất và giảm rủi ro do sử dụng tế bào chuẩn đã được thiết kế sẵn và kiểm tra trước
Nhược điểm : mất thời gian chế tạo các lớp mặt nạ, không tối ưu về diện tích cũng như hiệu suất
Gate array:
Là ASIC được đúc sẵn bằng mảng các cổng hoặc các cell giống hết nhau nhưng chưa từng được kết nối với nhau Các cell này được đặt tại các vị trí được xác định trước Channeled-gate aray ASIC: Các kết nối và các mảng logic nằm trên cùng một lớp, các kết nối tạo thành các kênh nằm giữa các mảng cổng logic
Channeless-gate aray ASIC: Các kết nối nằm ở lớp, còn các mảng logic nằm ở lớp dưới
Trang 66
Programmale Logic Device (PLDs):
PLD là các IC chuẩn Tuy nhiên PLD có thể cấu hình hay lập trình để tạo nên một
bộ phận tùy biến cho các ứng dụng riêng biệt nên chúng cũng thuộc họ ASIC
Đặc điểm: logic cell và các lớp mặt nạ không được tùy biến, thiết kế nhanh giá thành rẻ, một khối đơn lẻ của kết nối có thể lập trình
CPLD: Complex Programmable Logic Device
SPLD: Simple Programmable Logic Device
FPGA: Field Promgrammable Gate Array
1.2 Quy trình thiết kế ASIC
Quy trình thiết kế ASIC có thể được chia làm 2 phần vùng chính là front-end và back end Quá trình Front-end bao gồm các bước không phụ thuộc vào công nghệ chế tạo là quá trình để kiểm thử thiết kế Quá trình back-end dựa trên công nghệ được sử dụng do đó tính sử dụng lại rất hạn chế
Sơ đồ khối tổng quát:
Design specification
Behavioral description
RTL coding
Functional verification and testing
Logic synthesis
Gate level netlist
Logic verification and testing
Floor planning, place and route Physical layout
Layout verification and Implementation FAB
Trang 7Từ những đòi hỏi về chức năng và đặc tính, người thiết kế sẽ phác thảo kiến trúc của ASIC cần thiết kế Việc này đóng vài trò đặc biệt quan trọng trong việc quyết định khả năng về hiệu suất của thiết kế (bao gồm mức tiêu thụ công suất, mức điện áp, những giới hạn về timing…) Do đó, khi phác thảo kiến trúc phải xem xét tất cả các đòi hỏi về điện áp , tốc độ và hiệu suất của thiết kế để đảm bảo rằng nó thỏa mãn tất cả những đặc tả mong muốn Trong quá trình mô phỏng, kiến trúc sẽ phải thay đổi nếu kết quả mô phỏng cho thấy nó không đáp ứng những yêu cầu của Specification
Khi kiến trúc đã đáp ứng được tất cả các yêu cầu, người thiết kế sẽ chi thiết hóa các thiết kế trong kiến trúc đứa ra các “vi kiến trúc” cho từng module Vi kiến trúc là cầu nối giữa kiến trúc và mạch thực tế, nó “ánh xạ” những định nghĩa trong kiến trúc thành những thiết kế có khả năng thực hiện được trong thực tế
1.2.2 Mã hóa RTL (RTL coding)
Mã hóa RTL là bước thứ hai trong luồng thiết kế ASIC Trong bước này, các “vi kiến trúc” được mô tả dưới dạng mã RTL theo một ngô ngữ mô tả phần cứng nhất định
Mã RTL này phải đảm bảo có thể tổng hợp logic và vật lý thành mạch thực tế được Do
đó, việc mã hóa RTL phải tuần theo một bộ các quy tắc, các quy tắc này thường phụ thuộc vào khả năng hỗ trợ của nhà sản xuất và phần cứng được lựa chọn để thực thi thiết
kế vì thế, so với việc mã hóa RTL cho FPGA, mã hóa RTL cho công nghệ ASIC có nhiều điểm khác biệt
Trang 88
1.2.3 Logic synthesis
Bước tiếp theo trong luồng thiết kế ASIC là tổng hợp Trong bước này, mã RTL được tổng hợp Đây là quá trình mà trong đó mã RTL được biến đổi thành cổng logic Cổng logic được tổng hợp sẽ có cùng chức năng giống như đã được mô tả trong RTL Quá trình tổng hợp cần hai tập tin đầu vào khác để thực hiện việc biến đổi RTL thành cổng logic Tập tin đầu vào đầu tiên mà công cụ tổng hợp phải có trước khi thực hiện biến đổi là tập tin “ thư viện công nghệ” Đó là tập tin thư viện chứa những cell chuẩn
Trong quá trình tổng hợp chức năng logic của mã RTL được biến đổi thành những cổng logic sử dụng những cell sẵn có trong tập tin thư viện công nghệ Tập tin đầu vào thứ hai là “ tập tin giới hạn” (constraints file) giúp quyết định việc tối ưu mạch logic tổng hợp tập tin này thường chứa những thông tin về định thì, yêu cầu tải và thuật toán tối ưu
mà công cụ tổng hợp cần để tối ưu thiết kế thậm chí cả những nguyên tắc thiết kế cũng được xem xét trong quá trình tổng hợp Bước này là một bước rất quan trọng trong luồng thiết kế ASIC Bước này bảo đảm việc tổng hợp được tùy biến nhằm có được kết quả tối
ưu nhất có thể Dựa vào bản tối ưu hóa cuối cùng, nếu những yêu cầu về hiệu suất hay tận dụng diện tích vẫn không nằm trong khoảng cho phép người thiết kế phải xem xét lại từ kiến trúc đến vi kiến trúc của thiết kế Người thiết kế phải đánh giá lại kiến trúc cũng như
vi kiến trúc đã đáp ứng yêu cầu về diện tích và hiệu suất hay chưa? Nếu vẫn chưa đáp ứng được thì việc định nghĩa lại kiến trúc hay vi kiến trúc là việc làm bắt buộc tuy nhiên việc làm này sẽ dẫn đến việc phải bắt đầu lại từ đầu, một hành động tất mất thơi gian Thậm chí nếu việc thay đổi kiến trúc hay vi kiến trúc vẫn không mang lại kết quả mong muốn thì việc phải nghĩ đến là sữa chưa specification
1.2.4 Logic verification and testing
Bước tiếp theo trong quá trinh là kiểm tra quá trình tổng hợp ở bước này , dầu ta của quá trình tổng hợp logic ở trên được đưa vào để kiểm tra tính đúng đắn về chức năng
so với mô tả chức năng của thiết kế đã đề ra ở bước thứ nhất
Trang 99
Ngoài việc kiểm tra về chức năng bước này còn có thể bao gồm cả quá trình kiểm tra timing của mạch sau khi tổng hợp Bất kì vi phạm nào về mặt thời gian như setup time hay hold time đều cần được người thiết kế sửa chữa Trong một số thiết kế người ta có thể bỏ qua việc kiểm tra timing này do trong quá trình Layout sẽ cần có một quá trình kiểm tra timing nữa
1.2.5 Physical layout
Trong bước này, những cổng logic đã được tổng hợp sẽ được sắp xếp và nối dây
Đa số thiết kế có những critical path rất chặt về mặt timing Những đường này có thể được xác định bửi những người thiết kế bằng đường có mức ửu tiên cao Công cụ tự động sắp xếp và nối dây sẽ nối những đường có mức ưu tiên cao trước nhằm đạt đến việc định tuyến tối ưu
APR cũng là bước liên qua đến việc tổng hợp clock tree Đa số những công cụ APR có thể thực hiện việc định tuyến clock tree với những thuật toán đặc biệt được xây dựng sẵn Đây là một phần quan trọng của luồng APR bởi vì việc xây dựng clock tree là rất tiên quyết bởi nếu được định tuyến đúng sẽ tránh được hiện tượng sai lệch clock
1.2.6 Layout verification and implementation
Bước này kiểm tra độ chính xác về chức năng của mạch đã layout so với mạch sau khi tổng hợp mức cổng Trong bước này còn cần kiểm tra một số luật của nhà sản xuất đề
ra trong thư viện chuẩn (DRC) Nếu chưa đạt yêu cầu thì quay lại các bước trước đó để kiểm tra và thực hiện lại
1.2.7 Fabication
Quá trình cuối cùng là đem mạch đã Layout đi in File sau khi layout là GDSII được gửi đến nhà sản xuất để sản xuất ra con chíp
Trang 1010
1.3 Bộ công cụ phần mềm EDA của Sysnopsys
1.3.1 Sơ lược về công ty Synopsys
Synopsys là một trong những công ty lớn nhất trong lĩnh vực sản xuất EDA
Synopsys được thành lập bởi Dr Aart J de Geus, David Gregory và một nhóm kỹ sư đến
từ General Electric's Microelectronics Center, Research Triangle Park (bắc Carolina) Hướng phát triển ban đầu của Synopsys là tập trung vào phát triển các sản phẩm thương mại phục vụ cho việc tổng hợp logic, bởi vậy, có thể nói sản phẩm nổi tiếng nhất của Synopsys là phần mềm "Design compiler" Tuy nhiên, Synopsys cũng cung cấp các phần mềm khác phục vụ hầu hết các công đoạn trong quy trình thiết kế IC, tập hợp thành bộ Synopsys Tools
Ngày nay, Synopsys bao gồm hơn 60 văn phòng bán hàng, hỗ trợ và trung tâm R&D trên khắp thế giới; sử dụng khoảng 6,800 lao động có doanh thu đạt 1.54 tỷ USD (năm 2011)
Hình 3: Trụ sở của Synopsys (Mountain View, California, US)
1.3.2 Sơ đồ khối tổng quát
Trang 1212
Đầu vào: Các file HDL có dạng đuôi v, sv, vhd
Đầu ra: Các cảnh báo và lỗi cho file HDL
Hình 5: Vị trí của Leda trong bộ Synopsys Tools
1.3.4 VCS
Là công cụ kiểm thử đa chức năng, VCS cung cấp các cơ chế mô phỏng (mô phỏng ngẫu nhiên hoặc "vét cạn" các trường hợp của đầu vào), phân tích coverage (coverage chức năng, coverage code ), sửa lỗi cả trước và sau khi tổng hợp mạch
Đầu vào: các tệp HDL (.v, sv, vhd ), thư viện của nhà sản xuất IC, tệp chứa
các thông số trễ (.sdf) (mô phỏng mức logic gate), dữ liệu mô phỏng (file txt)
Đầu ra: kết quả mô phỏng (file đầu ra txt, doc; waveform .), thông số
coverage…
1.3.5 Design compiler
Là công cụ tổng hợp logic, sử dụng thư viện có sẵn để tổng hợp mạch từ mã RTL; cho phép thiết kế trong thời gian nhanh nhất, với diện tích mạch nhỏ nhất, công suất tiêu thụ thấp nhất và độ phủ lớn nhất
Đầu vào: các tệp mã HDL (.v, sv, vhd ), thư viện của nhà sản xuất, các thông
số ràng buộc do người thiết kế đặt như thời gian, diện tích
Đầu ra: file netlist (.v), file chứa thông số trễ (.sdf), file chứa thông số ràng buộc
(.sdc), file ddc
Trang 1313
1.3.6 Prime time
Là công cụ phân tích các thông số về mặt thời gian ở mức logic gate Công cụ này phân tích thời gian tĩnh, "bắt" các vi phạm về thời gian như setup time, hold time trước
và sau khi layout
Đầu vào : file netlist sau khi tổng hợp logic hoặc vật lý, file sdc
Đầu ra : Các vi phạm về thời gian tĩnh
1.3.7 IC compiler
Là công cụ thực hiện tổng hợp ở mức vật lý, bao gồm layout (thực hiện việc sắp xếp và tối ưu vị trí các khối, nối dây, bố trí đường đi của xung clock) và giải nén RC IC Compiler cho phép người thiết kế làm việc có hiệu quả cao khi thiết kế các khối phức tạp
Đầu vào: netlist (.v) hoặc file ddc, sdc, def, spef, sbpf
Đầu ra: netlist (.v), sdc, def, spef, sbpf, gdsii
1.3.8 Fomality
Là công cụ kiểm tra tính tương đương, sử dụng kĩ thuật thống kê và hình thức hóa
để kiểm chứng xem chức năng của 2 bản thiết kế có tương đương nhau hay không (2 bản thiết kế này ở 2 mức kế tiếp nhau, thường là đầu vào và đầu ra của một công cụ tổng hợp) Formality cũng hỗ trợ kiểm thử các trạng thái năng lượng, các thiết kế có nhiều mức điện áp
Đầu vào : 2 file HDL cần kiểm chứng, file svf
Trang 1414
Hình 6: Vị trí của Formality trong bộ Synopsys Tools
Chương 2 : Thiết kế đồng hồ số 2.1 Miêu tả đồng hồ số
Đồng hồ số hoạt động dựa trên tín hiệu sườn dương của xung nhịp để thực hiện các bộ đếm giờ, phút, giây với chu kì điều khiển của xung clock là 1s Các tín hiệu giờ phút giây được hiển thị lên LED 7 thanh Module chính gồm 3 tín hiệu đầu vào và 6 tín hiệu đầu ra, mỗi đầu ra có 7 bit để điều khiển hiện thị lên LED 7 thanh
Các tín hiệu đầu điều khiển đầu vào gồm:
Tín hiệu “clk” là tín hiệu xung clock, chu kì xung là 1s
Tín hiệu “rst” là tín hiệu reset, khi rst = ‘0’ giá trị các thanh ghi trong các
module khởi tạo về giá trị ban đầu “rst” là tín hiệu tích cực mức thấp
Tín hiệu “en” là tín hiệu enable, khi en = ‘1’ cho phép hiển thị các giá trị của giờ,
phút, giây lên LED 7 thanh “en” là tín hiệu tích cực mức cao
Trang 15Hình 7: Sơ đồ khối tổng quát
Miêu tả các tín hiệu vào ra
tích cực mức cao
Bảng 1: Miêu tả các tín hiệu vào ra của khối Top module
Trang 1616
Digital Clock
rst
Extract_bits sec
Extract_bits min
Extract_bits hour
Led_7_segment Tens_sec
Led_7_segment Units_sec
Led_7_segment Tens_min
Led_7_segment Units_min
Led_7_segment Tens_hour
Led_7_segment Units_hour
Counter
Extracts_bits Leg_7_Segment
Hình 8: Sơ đồ khối chi tiết của khối Top module
Trang 1717
Miêu tả các các tham số
với khối “Extract_bits sec”
với khối “Extract_bits min”
với khối “Extract_bits hour”
vào của khối “Led_7_segment Tens_sec”
Units_sec”
vào của khối “Led_7_segment Tens_min”
Units_min”
hour”,đầu vào của khối “Led_7_segment Tens_hour”
của khối “Led_7_segment Units_hour”
Bảng 2: Miêu tả các tham số tín hiệu bên trong khối Top module
Trang 1818
Chức năng khối Top module
Khối Top Module có chức năng kết nối đầu vào và đầu ra giữa các khối con bằng việc khai báo các dây tín hiệu và kết nối các tín hiệu đầu vào và đầu ra của khối Top Module
2.2.2 Khối Counter
Sơ đồ khối:
Counter clk
rst
Second_o
Minute_o
Hour_o
Hình 9: Sơ đồ khối bộ Counter
Miêu tả các tín hiệu vào ra:
Bảng 3: Miêu tả các tín hiệu vào ra của khối Counter
Chức năng: Thực hiện bộ đếm dựa vào sườn dương của xung nhịp Đầu ra của bộ
Couter là các tín hiệu giây, phút, giờ
Sơ đồ thuật toán:
Trang 1919
second = second +1;
second = 59 ?
Minute_o = Minute_o +1;
Hình 10: Sơ đồ thuật toán của khối Counter
Hình 11: Sơ đồ của khối Extract_bits
Miêu tả tín hiệu vào ra:
Trang 2020
Bảng 4: Miêu tả tín hiệu vào ra của khối Extract_bits
Chức năng: có nhiệm vụ biến đổi tín hiệu đầu vào có 6 bít thành 2 tín hiệu đầu ra 4 bít
mỗi tín hiệu là số hàng đơn vị và số hàng chục của tín hiệu đầu vào
Sơ đồ thuật toán
tens_o = 4'b1111;
units_o = 4'b1111;
tens_o = {1'b0,c1[3],c2[3],c3[3]};
units_o = {c3[2:0],number_i[0]};
Trang 21out_put [6:0]
Hình 13: Sơ đồ khối Led 7 thanh
Miêu tả tín hiệu vào ra:
Bảng 5:Miêu tả tín hiệu vào ra của khối Led_7_segment
Chức năng :
Chức năng: có nhiệm vũ giải mã số 4 bít hiển thị lên led 7 thanh với sự điều khiển của tín hiệu enable “en”
Trang 2222
b
c
d e
f
g
Hình 14: Led 7 thanh Bảng giá trị đầu vào đầu ra
Trang 2323
Bảng 6: Miêu tả các tín hiệu vào ra của Led 7 thanh
Yêu cầu Timing:
Do trong sơ đồ khối chi tiết chỉ có khối Couter mới có tín hiệu xung clock làm nhiệm vụ điều khiển bộ đếm vì vậy ta chỉ quan tâm tới timing của khối Counter
Khi giây đếm đến giá trị ngưỡng thiêt lập là ’59’ thì giây về 0 và tiếp tục đếm, phút tăng lên 1
Khi phút đếm đến giá trị ngưỡng đã được thiết lập là ’59’ thì phút có giá trị trở về
0 và tiếp tục đếm,giờ tăng lên 1
Khi giờ đếm đến giá trị đã ngưỡng đã được thiếp lập sẵn là ‘23’ thì giờ có giá trị
Trang 24Bước 1: Chọn new project → chọn OK
Sau khi cửa sổ hiện ra trong mục Project Name có thể thay tên project có đuôi mở rộng
là “.pro”, sau đó chọn next
Trang 2525
Sau khi cửa sổ mới hiện ra, trong mục “Verision” chọn 2001 (verilog 2001)
Chọn “Next” Cửa sổ tiếp theo hiện ra
Trang 2626
Chọn “Add” rồi chọn đường dẫn đến thư mục chưa code verilog
Chọn OK chọn “Next” ở cửa sổ tiếp theo chọn “Finish”
Trang 2727
Vào “Check” chọn “Load Configuration” rồi chon RTL Chọn biểu tượng “!” xuất hiện cửa sổ:
Trang 2828
sau khi xuất hiện cửa sổ vào mục “Test clock/reset” thiết lập clock và reset rồi chọn OK cửa sổ mới sẽ hiện thỉ các trạng thái kiểm tra như sau
Nếu cửa sổ hiện thị trạng thái các ô màu xanh thì code đã được kiểm tra đúng
Nếu hiện thị các ô màu nâu báo các cảnh báo nên đọc qua và có thể điều chỉnh
Nếu hiển thị các ô màu đỏ phải đọc chi tiết các cảnh báo vào sửa lại code tuân theo các luật mình đã chọn
Sau khi sửa code chạy lại kiểm tra một lần nữa cho đến khi nào trên cửa sổ không xuấ hiện màu đỏ nữa
3.2 VCS
3.2.1 Kiểm tra trước khi tổng hợp
Tạo thư mục “vcs” trong project Trong thư mục “vcs” tạo thư mục “pre_syn” để
chứa các file sinh ra tron quá trình mô phỏng code RTL trước khi tổng hợp bằng design
compiler Vào thư mục “pre_syn” mở của sổ lệnh Terminal gõ lệnh sau:
vcs -debug +v2k / /rtl/*.v
Trang 2929
sau khi phân tích các file v xong nó sẽ tạo ra mọt file “simv” trong thư mục “pre_syn”
tiếp tục vào terminal gõ lệnh sau để thực hiện mô phỏng chức năng:
./simv -gui
sau khi cửa sổ hiện ra chọn file testbench click chuột phải vào chọn “Add to Wave” rồi chọn “New Wave view” Cửa số mới hiện ra bấm “F5” hoặc chọn run (mũi tên có chiều
hướng xuống dưới) sẽ xuất hiện ra timing cần kiểm tra
3.2.2 Kiểm tra sau khi tổng hợp
Tạo thư mục “post_syn” trong thư mục “vcs”
sau khi tổng hợp bằng công cụ Design Compiler sẽ sinh ra một file Netlist có đuôi mở
rộng là “.v” bao gồm các cell cơ bản được nối dây với nhau và file delay có đuôi mở rộng là “.sdf” Để kiểm tra timming sau khi tổng hợp cần có 4 file cần thiết là:
vcs-debug tb_digital_clock_top -sdf typ:digital_clock_top:top.sdf -l comp.log
Sau khi phần tích các file trên trong thư mục sẽ tạo ra file “simv” vào terminal gõ lênh
sau:
./simv -gui
Trang 3030
Rồi làm tương tự như các bước trước khi trước khi tổng hợp sẽ xuất hiện các timming với có thêm trễ (màu vàng)
3.2.3 Kiểm tra timming sau khi layout
Tạo thư mục “post_layout” trong “vcs”
Trong qúa trình Layout có thể làm sai timing vì vậy sau khi layout xong cần phải kiểm tra lại timing xem có đúng như timming mình đã kiểm tra sau khi tổng hợp hay không
Để kiểm tra timming ở bước này cần có các file sau:
file “.v” được tạo ra sau khi layout
file delay “.sdf” được tạo ra sau khi layout
file thư viện cell “tcbn45gsbwp.v”
Trang 3232
Target library: thư viện công nghệ của nhà sản xuất
~Mikyways/tcbn45gsbwp/frame_only_HVH_0d5_0/tcbngsbwp/LM/tcbn45gsbwpbc db
Symbol library : thư viện kí hiệu có sẵn trong thư mục cài đặt của synopsys
Bước 2 : Tạo file theo dõi quá trình có đuôi mở rộng “.svf”
Vào terminal gõ lệnh: set_svf top.svf