Công nghệ SDH đã được ứng dụng mạnh mẽ trên mạng viễn thông thế giới và hiện nay hầu hết cơ sở hạ tầng truyền dẫn đều được dựa trên cơ sở SDHSONET. Để giúp cho việc triển khai công nghệ SDH ngày càng hiệu quả, các tổ chức tiêu chuẩn quốc tế như ITU và ETSI đã từng bước cập nhật các tiêu chuẩn về SDH, và đặc biệt từ năm 1988 đến nay đã có 7 phiên bản cho khuyến nghị ITU G.707 “Network node interface for the synchronous digital hierarchy”. Các hãng cung cấp thiết bị SDHNGSDH cũng đều công bố tuân thủ theo tiêu chuẩn G.707. Hơn nữa, các nhà quản lý trên thế giới cũng lựa chọn và áp dụng các tiêu chuẩn này như ESTI, EU, IDA singapore, ….cho việc áp dụng và kết nối giữa các hệ thống và dịch vụ. Ở Việt Nam, các nhà khai thác lớn như VNPT, Viettel đã triển khai rộng khắp công nghệ SDH, cung cấp các giao diện kết nối với khách hàng và với nhau theo các chuẩn viễn thông quốc tế. Hiện nay, Bộ Thông tin truyền thông đã ban hành và đang xây dựng một số tiêu chuẩn về SDHNGSDH như: qui chuẩn về giao diện vật lý về quang và điện SDH (theo G.957 và G.703) qui định về mức của tín hiệu là chủ yếu, qui chuẩn chất lượng kênh thuê riêng, qui chuẩn về lỗi bit của các đường truyền dẫn số; và dự thảo tiêu chuẩn Việt Nam về các giao thức NGSDH. Ở Việt Nam hiện đã có tiêu chuẩn ngành về “Tiêu chuẩn hệ thống SDH, nhưng do tiêu chuẩn ngành biên soạn từ lâu, bố cục chưa hợp lý, và nội dung chưa được cập nhật, một số phần trùng với nội dung một số tiêu chuẩn khác nên nghiên cứu rà soát đề nghị huỷ bỏ và đề nghị xây dựng mới tiêu chuẩn khác thay thế. Để đảm bảo các thiết bị và SDHNGSDH của nhà khai thác kết nối được với nhau và tiến tới sự thống nhất, đồng bộ trong quản lý chất lượng dịch vụ và mạng, cần có tiêu chuẩn về giao diện STMN trong các hệ thống SDH NGSDH bao gồm: + Tiêu chuẩn qui định về cấu trúc khung và logic của tín hiệu tại giao diện, bao gồm các yêu cầu: (dựa theo G.707) cấu trúc khung STMN, cấu trúc ghép kênh và sắp xếp tín hiệu nhánh vào VCn, con trỏ và các byte mào đầu, liên kết các contenơ ảo VCn. + Tiêu chuẩn qui định về định thời của tín hiệu tại giao diện, bao gồm jitter và wander (dựa theo G.823 cho giao diện PDH và G.825 cho giao diện SDH) Mục tiêu của đề tài này là nghiên cứu và xây dựng tiêu chuẩn cho giao diện mạng STMN về cấu trúc khung và logic của tín hiệu tại giao diện, làm sở cứ cho việc đánh giá, đảm bảo kết nối giữa các thiết bị và giữa các mạng SDHNGSDH cũng như giữa thiết bị khách hàng với nhà cung cấp dịch vụ kênh thuê riêng SDH. Với phạm vi của đề tài theo nội dung đã đăng ký thì chỉ dừng ở giao diện tốc độ STMN (N=1, 4, 16, 64), tuy nhiên để phục vụ cho sự phát triển mạng lưới trong tương lai nên nhóm đề tài đã đưa thêm nội dung với tốc độ STM256.
Trang 1Nguyễn Minh Hiếu, Mr.
ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH | KHOA ĐIỆN – ĐIỆN TỬ, PHÒNG TN 203 – B3
Thí Nghiệm Thiết Kế
Vi Mạch Số
TÀI LIỆU THỰC HÀNH CƠ BẢN
Trang 2THÍ NGHIỆM
GIỚI THIỆU CHUNG
Các thông số và linh kiện của các cell luận lý được phát triển từ nhà sản xuất để giảm thiểu những sai sót và đảm bảo sự hoạt động chính xác của mạch Để đơn giản hơn, quá trình thiết kế
IC bao gồm standard cell và một số thành phần khác kết hợp tạo nên quy trình thiết kế tổng quát
Người thiết kế sử dụng symbol từ PDK để vẽ schematic, symbol bao gồm ngõ vào, ngõ ra, nguồn cung cấp và các thông số tùy chỉnh Sau khi hoàn thành sơ đồ nguyên lý (schematic) sẽ
Trang 3Thư mục File Nội dung của file
Compiler sẽ thực hiện “mapping” 1 cell trong file netlist với 1 cell trong thư viện Symbol này
.sdb Thư viện chứa các Symbol được biên soạn từ file slib trong
Synopsys database format
của mỗi cổng Characeristics bao gồm: tên cổng, tên các chân, diện tích (area), delay arcs, công suất Ngoài ra, còn chứa các ràng buộc cho thiết kế, điều kiện hoạt động và wire load models,…
.db Là thư viện chứa thông số hiệu năng của các cổng, được biên
soạn từ file lib nhờ sử dụng phần mềm DC của Synopsys
vật lý của các cổng pdb Thư viện được biên soạn từ file plib cũng được tạo ra nhờ sử
dụng phần mềm DC của hãng Synopsys
đặc tính điện cho mỗi lớp Metal và các niêm luật cho thiết kế
tlup
.itf Mô tả độ dày và thuộc tính vật lý của các lớp dẫn điện và cách
điện tluplus Được sinh ra từ file itf , là một tập các models được dùng trong
việc trích xuất ký sinh của phần mềm Synopsys Place & Route
1.2 QUY TRÌNH XÂY DỰNG MỘT CỔNG LOGIC
Bước 1: Thiết kế thư viện ở cấp độ nguyên lý (Schematic & Simulation)
Ở bước 1, luận văn thực hiện tạo thư viện dựa trên các kết quả thu được từ mô phỏng Layout Các kết quả này là lý tưởng không chính xác với thực tế khi sản xuất, mục đích của bước này là kiểm tra xem với các số liệu lý tưởng này có thể thực hiện được thư viện hoạt động đúng hay không? Bước này hết sức quan trọng, nếu thành công ở bước này thì mới có thể thực hiện tiếp bước thứ 2 Ngược lại, nếu không thành công thì ta phải tìm ra hướng giải quyết khác
Pre-để hoàn thành mục tiêu của đề tài Cụ thể ở bước này được thực hiện như sau:
Thiết kế sơ đồ nguyên lý cho các cổng trong thư viện và tạo ký hiệu cho các cổng đó
Thực hiện Characterization sử dụng Ocean script và mô phỏng Pre-Layout để đo được các thông số cần thiết để tạo thư viện
Tiếp theo, tạo ra file LIB chứa các thông số vừa đo được ở bước trên File LIB này được thiết kế theo chuẩn của phần mềm Synopsys Đối với phần mềm Cadence thì file này có tên là file TLF Nhiệm vụ của luận văn là tạo thư viện cho Synopsys nên ta tạo file LIB
Trang 4 Chuyển file LIB thành file DB sử dụng phần mềm DC của hãng Synopsys File DB này
là một trong những file rất quan trọng trong thư viện, nó chứa các thông số về hiệu năng của các cổng logic được tạo nên từ các CMOS ở công nghệ nhất định
Kiểm tra thư viện xem có hoạt động đúng không bằng cách thực hiện bước Synthesis Ở bước này, ta sẽ viết một đoạn code RTL và Synthesis xuống mức cổng Nếu bước kiểm tra này thành công, ta chuyển sang bước 2 để tạo thư viện cho luận văn Hình 2-1 dưới đây mô tả các bước thực hiện ở bước 1:
Vẽ Schematic và Symbol cho các cổng
Characterization sử dụng Ocean script (thu được cell rise delay, cell fall delay, )
Đưa kết quả vào file lib đúng format
Chuyển file lib thành file db
Kiểm tra xem có đúng không?
Hình 1-1 Lưu đồ các bước tạo thư viện từ kết quả mô phỏng Pre-Layout
Bước 2: Thiết kế thư viện ở cấp độ vật lý (Layout & Simulation)
Ở bước này, ta thực hiện tạo thư viện Front-end cho luận văn Đầu tiên, thực hiện thiết kế layout cho tất cả các cổng trong thư viện sau khi đã có sơ đồ nguyên lý ở bước 1 Kiểm tra DRC và LVS cho thiết kế layout, mong muốn đạt được ở bước này là không có lỗi và bất kỳ cảnh báo nào về thiết kế Nếu không đạt được kết quả đó thì các bước sau sẽ không thể thực hiện tiếp được vì lỗi của phần mềm thiết kế Tiếp theo, ta thực hiện chạy PEX để trích xuất ký sinh RC
do trong quá trình layout gây ra Sau bước này sẽ thu được một cell view có tên là calibre trong thư mục của cổng đang kiểm tra, sử dụng cell view này để thực hiện mô phỏng Post-Layout
Trang 5Thực hiện Layout cho các cổng
Trích xuất ký sinh
Mô phỏng Post-Layout
Characterization sử dụng Ocean script
Đưa kết quả vào file lib đúng format
Chuyển file lib thành file db
Kiểm tra xem có đúng không?
Trang 61.3 HƯỚNG DẪN SỬ DỤNG CƠ BẢN HỆ ĐIỀU HÀNH LINUX
Trong mục này, các bước cơ bản trong sử dụng Hệ Điều Hành (HĐH) Linux được giới thiệu Vì
bộ công cụ thiết kế Cadence EDA chỉ hỗ trợ cài đặt trên Linux nên việc sử dụng Hệ Điều Hành này trong quá trình thiết kế là điều hết sức quan trọng Việc sử dụng Linux tương tự như việc sử dụng chế độ cmd của DOS Các lệnh của Linux được đáng trong một “shell” hoặc “xterm”
Bảng dưới tổng hợp một số lệnh cần thiết trong quá trình sử dụng HĐH Linux mà người thiết
kế cần phải thành thạo nhằm mục tiêu tối ưu hóa thời gian truy xuất hoặc trích xuất dữ liệu trong quá trình thực hành Thí Nghiệm Thiết Kế Vi Mạch Tương Tự Tất cả các lệnh trong HĐH Linux được đánh trong một cửa sổ đầu cuối thường gọi là “shell” hoặc “terminal” – tương tự như cửa sổ cmd trong HĐH WINDOW
ls [-l/-a]
Trình diễn các dữ liệu trong thư mục hiện hành “-l” trình diễn với đặc tính đi kèm “-a” trình diễn các dữ
liệu ẩn (tên có dấu “.” ở đầu)
cd Di chuyển vị trí thư mục hiện tại quay lại thư mục
trước đó
lp –dXXXX YYYY
In dữ liệu textfile hoặc postscript của file YYYY đến file tên XXXX, trong đó XXXX có thể là “ipszac”
hoặc “hpszac”
gedit XXXX &* Mở trình hiệu chỉnh textfile với tên file là XXXX
who|grep my_name Hiển thị trên terminal vị trí đang kết nối gunzip XXXX Chuyển file nén XXXX đuôi *.tar.gz thành *.tar để
trích xuất dữ liệu nén tar –xf XXXX Xuất dữ liệu chứa trong file nén XXXX.tar ra ngoài
thư mục hiện hành
* &: Ký hiệu này để chỉ cho Linux thực thi lệnh hiện hành và trở lại trạng thái hoạt động bình thường của terminal
Trang 7HEAP với 10 user được cấp phép sử dụng phần mềm cho mục đích đào tạo nhân lực ngành thiết kế vi mạch Đầu tiên trước khi khởi động phần mềm, cần phải cài đặt vùng làm việc đối với từng học viên
Để kết nối với máy chủ CentOS 6.6, thực hiện bằng giao thức ssh Đối với máy cài HĐH Window xem thêm trong phần phụ lục Các bước cài đặt phần mềm như sau:
Đánh Password để đăng nhập vào từng tài khoản sử dụng
Trong cửa sổ Terminal hiện hành, thực hiện đánh lệnh sau để hiển thị thư mục
Trong thư mục này chứa PDK của bài thí nghiệm nhưng không làm ngay trên
PDK mà phải copy trực tiếp file cds từ PDK qua một thư mục mới nơi mà các bạn thực hành thí nghiệm
Thay đổi đường toàn bộ đường dẫn thành như sau:
DEFINE analogLib $CDSHOME/tools/dfII/etc/cdslib/artist/analogLib
DEFINE US_8ths $CDSHOME/tools/dfII/etc/cdslib/sheet/US_8ths
DEFINE basic $CDSHOME/tools/dfII/etc/cdslib/basic
DEFINE gpdk90 /home/Digital_[số]/AICD_Course_Lab/gpdk90_v4.6/libs.oa22/gpdk090
Trang 8 Trong thư mục DICD_Lab_<Tên> của bạn, thực hiện truy xuất vào Bộ phần mềm
Cadence EDA thông qua lênh sau:
virtuoso &
1.5 HƯỚNG DẪN SỬ DỤNG TOOLS CADENCE
Để hiểu rõ hơn về cách sử dụng phần mềm Cadence Virtuoso cũng như quy trình thiết kế vi mạch, ví dụ thiết kế cổng luận lý INVERTER được thực hiện trong phần dưới đây Trong toàn
bộ quy trình sẽ lần lượt giải thích tường minh từng bước sử dụng phần mềm cùng những công
cụ phổ biến ứng dụng trong thiết kế vi mạch tương tự, các công cụ mô phỏng, vẽ mạch hoặc ngôn ngữ sử dụng để mô hình hóa một cổng luận lý INVERTER
1.5.1 XÂY DỰNG MÔ HÌNH LÝ TƯỞNG
Khởi Động Phần Mềm Cadence Virtuoso
Thực hiện truy cập phần mềm Cadence Virtuoso theo cấu trúc sau, trong Terminal nhập:
$ virtuoso &
Cửa sổ CIW hiện ra như sau:
Trang 9Tools > Library Manager
Cửa sổ Library Manager hiện ra như hình dưới Vì chúng ta đã thêm thư viện trong tập tin cds.lib vào lúc cài đặt môi trường thiết kế nên trong cửa sổ library manager đã tồn tại thư viện tham chiếu thiết kế tên là gpk090 – Đây cũng chính là PDK tham khảo của thiết kế được trình bày trong phần hướng dẫn này Có thể nhận thấy rằng trong gpdk090 chứa những tập tin định nghĩa hình dạng vật lý (layout – Pcell) của những linh kiện dùng trong thiết kế vi mạch tương tự đặc chế hoàn toàn Thư viện chứa đầy đủ linh kiện phục vụ cho những thiết kế với những ứng dụng khác nhau từ tần số thấp đến cao tần, từ điện áp thấp đến điện áp cao, công suất thấp đến công suất cao
trong vùng này
Đối với những thiết kế lớn, việc phân chia theo lớp theo ứng dụng, chức năng của từng thiết kế là cần thiết, thêm các category để dễ dàng tìm kiếm các khối thiết kế hơn
cho người thiết kế biết vị trí các khối thiết kế
Trang 10 View
Các khối thiết kế vốn là một thư mục chứa những dữ liệu thiết
kế Các tập tin dữ liệu này được hiển thị trong View Ví dụ như
Sơ Đồ Nguyên Lý (Schematic), Ký Hiệu (Symbol)
File > New > Library
Cửa sổ tạo thư viện mới xuất hiện
Thực hiện nhập tên thư viện mới vào và chọn OK Để thực hiện thiết kế trên nền một thư viện
ta cần phải tham chiếu đến một PDK thiết kế chứa những linh kiện bán dẫn mà cụ thể ở đây là gpdk090 Thực hiện chọn:
Attach to an existing techonology library > gpdk090 > OK
Nhập Tên
Trang 11khung tên, thời gian theo chuẩn thiết kế, vẽ kỹ thuật
Thư viện này chứa những linh kiện thụ động và tích cực nhưng quan trọng nhất là chứa nguồn dòng, nguồn áp cùng các thiết bị dùng trong testbench mô phỏng đánh giá mạch điện
Thư viện này là một bản giản lược của analogLib và không được sử dụng phổ biến trong quá trình thực hiện mô phỏng vi mạch tương tự Tuy nhiên, một vài linh kiện chỉ có trong thư
viện basic cần dùng trong phân tích mạch
Lúc này cửa sổ Log trong CIW sẽ thông báo thư viện GPDK 90nm đã được tham chiếu thành công như sau:
Tiếp theo, để thực hiện một thiết kế mạch nguyên lý mới, trong cửa sổ Library Manager chọn vào thư viện vừa tạo và chọn:
File > New > Cell View
Cửa sổ tạo mạch nguyên lý mới hiện ra như sau:
Trang 12Thực hiện nhập Tên của mạch thiết kế, và chọn loại thiết kế Trong vị trí chọn loại thiết kế này chứa nhiều dạng Đầu tiên, thực hiện xây dựng mô hình lý tưởng hay macro cho mạch cổng luận lý đảo bằng ngôn ngữ Verilog Analog1:
Type > Verilog A
Cửa sổ Verilog – A hiện ra như sau:
Trang 13Trong cửa sổ này những vùng làm việc được phân chia như sau:
Name
Những kết nối xuất hiện trong quá trình thiết kế mô hình VerilogA sẽ được hiển thị ở đây Vì vậy, việc quản lý kết nối khá dễ dàng trong những thiết kế mô hình lý tưởng
trình trên ngôn ngữ VerilogA
Trang 14// vlogic_high = output voltage for high [V]
// vlogic_low = output voltage for high [V]
// vtrans = voltages above this at input are considered high [V]
// tdel, trise, tfall = {usual} [s]
electrical in, out;
parameter real vlogic_high = 1.2; //Mức luận lý cao [V]
parameter real vlogic_low = 0; // Mức Luận Lý thấp [V]
parameter real vtrans = 0.55; // Điện áp ngưỡng sử dụng [V]
parameter real tdel = 1n from [0:inf); // Thời gian trì hoãn ngõ vào [s]
parameter real trise = 100p from (0:inf); // Thời gian lên xung [s]
parameter real tfall = 100p from (0:inf); // Thời gian xuống xung [s]
real vout_val; // Biến cục bộ chuyển đổi giá trị ngõ ra
integer logic_in; // Biến cục bộ mức luận lý ngõ vào
// -
analog begin
@ ( initial_step ) begin
if (vlogic_high < vlogic_low) begin
$display ( "Range specification error vlogic_high = (%E) less than vlogic_low = (%E).\n",
vlogic_high, vlogic_low );
$finish ;
end
if (vtrans > vlogic_high || vtrans < vlogic_low) begin
$display ( "Inconsistent $threshold specification w/logic family.\n" );
end
end
logic_in = V(in) > vtrans;
@ ( cross (V(in) - vtrans, 1)) logic_in = 1; // Nếu In – Vth dương thì Mức luận lý vào xác định bằng mức cao
@ ( cross (V(in) - vtrans, -1)) logic_in = 0; // Nếu In – Vth âm thì Mức Luận lý vào xác định bằng mức thấp
Trang 15gian lên, thời gian xuống và thời gian trì hoãn của cổng luận lý Trong Code mẫu trình bày ở trên, có thể phân làm ba phần bao gồm: khai báo thư viện sử dụng, khai báo thông số , hoạt động của cổng
Tài liệu tham khảo về Verilog-A có thể tìm trong [12] Sau khi thực hiện xây dựng mô hình lý tưởng của cổng Đảo bằng ngôn ngữ Verilog-A, công việc tiếp theo là biên dịch Dựa vào thanh công cụ số trong hình trên, nếu không có lỗi xảy ra Cadence sẽ hỏi chúng ta có muốn tạo ký hiệu hiển thị cho mạch hay không như hình dưới
Thực hiện chọn Yes để tạo ký hiệu cho cổng Đảo
Chỉ khi nào Code đúng hoàn toàn không có lỗi, Cadence mới cho phép chúng ta tạo ký hiệu để thực hiện mô phỏng
Cửa sổ tạo ký hiệu hiện ra như sau:
Thực hiện chọn OK màn hình chuyển đến vị trí thực hiện vẽ ký hiệu cho cổng luận lý Việc sử
dụng trình này rất dễ dàng để tạo ra những ký hiệu đại diện cho hoạt động của cổng Đảo và các mạch khác Xét về mặt đồ họa thì Cadence đã cung cấp đủ cho chúng ta toàn bộ các dụng cụ để
vẽ được cổng Đảo Thực hiện vẽ cổng đảo dựa vào những công cụ đồ họa như trong hình Sau khi vẽ và đinh vị các chân của cổng, cần phải thực hiện tạo biên cho ký hiệu để tránh sai lệch điểm đồ họa trong quá trình thực hiện xây dựng Testbench cho mạch Để làm được điều này thực hiện chọn:
Create > Selection Box
Trang 16
1.5.2 XÂY DỰNG SƠ ĐỒ NGUYÊN LÝ
Bước kế tiếp, thực hiện tạo sơ đồ nguyên lý cho mạch – tức thực hiện thiết kế mạch ở cấp transistors Trong cửa sổ Library Manager, thực hiện cấu trúc:
File > New > Cellview
Cửa sổ tạo một mạch mới hiển thị như sau:
Trang 17 Workspace Vùng đồ họa dùng để vẽ mạch và chứa những phần tử linh kiện
lấy ra từ trong thư viện thiết kế PDK
Những kết nối xuất hiện trong quá trình thiết kế mạch nguyên
lý sẽ được hiển thị ở đây Vì vậy, việc quản lý kết nối khá dễ dàng trong những thiết kế phức tạp Vùng này còn được dùng
để lựa chọn cũng như hiển thị kết nối trong những mạch phức
Thanh công cụ cho phép người thiết kế sử dụng những chức năng cơ bản của việc thiết kế đồ họa mạch nguyên lý Tuy nhiên, để thiết kế nhanh hơn và chuyên nghiệp hơn, người thiết
kế thường sử dụng những phím tắt thay cho việc chọn biểu
tượng trên thanh công cụ
Trang 18Để sử dụng tốt quy trình vẽ mạch nguyên lý trong VSE, những phím tắt cần được sử dụng một cách thành thạo Bảng dưới chỉ ra những phím tắt cơ bản trong sử dụng VSE, đồng thời giải thích ý nghĩa của những phím tắt này [13]
chuyển phần tử
Để thêm linh kiện mới cho mạch nguyên lý thực hiện chọn phím tắt I bảng thông báo thêm linh
kiện hiển thị Việc lựa chọn thông số cho linh kiện được thực hiện trong bảng thông báo này
Trang 19Chọn Browser bảng thông báo Library Browser hiển thị
Cần phân biệt cửa sổ Library Browser và Library Manager Hai cửa sổ này tuy
gần như nhau nhưng chức năng, thuộc tính hoàn toàn khác nhau
Chọn thư viện gpdk090 rồi chọn linh kiện nmos1v, pmos1v và đưa ra ngoài màn hình thực
hiện vẽ mạch nguyên lý của cổng Đảo Trong việc chọn lựa linh kiện có những linh kiện được
sử dụng nhiều lần và thường hữu ích trong quá trình mô phỏng hoặc thiết kế mô hình kiểm tra cho mạch nguyên lý[13] Các phần tử sử dụng nhiều trong các bài thí nghiệm được cho như trong bảng bên dưới
Trang 20nmos2v gpdk090 N-MOSFET 2.5v 90nm
Thực hiện kết nối dây bằng phím tắt W và vẽ hoàn chỉnh sơ đồ thiết kế của cổng INVERTER
Để đặt nhãn cho linh kiện thực hiện chọn phím tắt L cửa sổ đặt tên dây hiện ra, lần lượt đánh vào vị trí đặt tên dây các tên: input, output như hình vẽ bên dưới Có thể chọn kích thước, màu, kiểu chữ, tùy thuộc vào mục tiêu ứng dụng nhưng phải dễ hiểu
Thực hiện đặt tên chân nhằm mục tiêu tạo ký hiệu dùng trong quá trình mô phỏng linh kiện Chọn phím tắt P màn hình hiển thị tạo chân kết nối cho mạch xuất hiện
Trang 21Lần lượt nhập tên các chân cần tạo: vdd, gnd, in, out
Trong đó, hướng của mỗi dạng chân được quy định trong Direction với những kiểu như sau:
Kết quả thu được dạng mạch nguyên lý của cổng Đảo như trong hình bên dưới
Trang 22Bố trí các phần tử trong mạch được chú thích như trong hình
Để hiệu chỉnh thuộc tính của các linh kiện đã thêm vào trong mạch, thực hiện chọn Q rồi chọn linh kiện muốn chỉnh sửa Bảng thuộc tính của các linh kiện chứa những thông số mô hình của linh kiện đó cụ thể là thông số tính toán của mô hình mô phỏng thuộc phần mềm SPECTRE Từ những thông số hình học cơ bản, phần mềm Cadence sẽ thực hiện tính toán những thông số như
tụ điện ký sinh, điện trở ký sinh … Để đưa vào mô hình mô phỏng sử dụng trong trình mô phỏng SPECTRE Đối với từng linh kiện như Điện trở, Tụ Điện, MOSFET, BJT … những thông số mô hình này khác nhau đối với từng PDK cụ thể và phục thuộc vào mô hình toán học trích xuất, tính toán ký sinh cho từng linh kiện Chi tiết về mô hình toán học cũng như nội dung từng thông số của những phần tử linh kiện được trích dẫn đầy đủ trong tài liệu [5] và [9] Trog tài liệu này chỉ tóm tắt lại những thông số linh kiện quan trọng phổ biến trong thiết kế và các bài thí nghiệm
Phần Tử Chân
Tên Dây
Trang 23
Trang 24 Workspace Khai báo tên và vị trí thư viện thiết kế
Parameters
Những thông số tĩnh của linh kiện Những thông số này cần phải được nhập vào sau khi quá trình tính toán bằng tay được thực hiện
Model Name – Mô hình mô phỏng SPECTRE Segments – Số lượng nhánh mắc nối tiếp hoặc song song Segment Connection – Lựa chọn mắc nối tiếp hoặc song song Calculated Parameter – Lựa chọn kiểu thông số tính toán Resistance – Trở kháng toàn phần của điện trở
Segment Width – Độ rộng nhánh Segment Length – Độ dài nhánh Effective Width – Độ rộng nhánh hiệu dụng Effective Length – Độ dài nhánh hiệu dụng
Model Name – Mô hình mô phỏng SPECTRE Multiplier – Số lượng MOS mắc song song Calculated Parameter – Tính toán thông số hình học Capacitance – Dung kháng của tụ điện
Length (M) – Chiều dài cực cổng Total Width (M) – Độ rộng toàn phần Finger Width – Độ rộng nhánh
Trang 25Create > Cellview > From Cellview
Bảng thông báo hiện ra, chọn OK
Cửa sổ thiết kế ký hiệu hiện ra, thực hiện tương tự như đã làm trong mô hình lý tưởng Theo đó,
ký hiệu mạch được cho như sau:
Trang 261.5.3 MÔ PHỎNG PRE-LAYOUT
Sau khi đã thực hiện thiết kế ký hiệu cho mạch cổng Đảo Ta thực hiện mô phỏng kiểm tra hoạt động của cổng này, đồng thời, thực hiện so sánh với hoạt động của cổng đảo lý tưởng Ta thực hiện tạo một mạch nguyên lý testbench để thực hiện kiểm tra hoạt động như sau:
Trong cửa sổ Library Manager, thực hiện chọn:
File > New > Cellview
Trang 27Tạo một mạch mới với tên gọi INVERTER_Test và xây dựng mạch như trong Hình dưới
Mạch trên bao gồm hai phần một phần dùng để kiểm tra hoạt động của cổng Đảo thiết kế trên CMOS, mạch còn lại dùng để mô phỏng dạng sóng lý tưởng của cổng Đảo
Trong môi trường Cadence Virtuoso, trình mô phỏng được chạy trên giao diện đồ họa Analog Design Environment (ADE) Trình này được khởi động bằng cách:
Trong cửa sổ thiết kế mạch nguyên lý, thực hiện chọn:
Launch > ADE L
Trình mô phỏng có dạng như Hình sau
Trang 28 Design
Variables
Khai báo biến tồn tại trong thiết kế mạch nguyên lý Việc sử dụng các biến trong thiết kế rất quan trọng vì dựa vào các biến này, người thiết kế có thể chọn lựa được những giá trị thiết kế đảm bảo mạch hoạt động trong điều kiện tối ưu nhất
Vùng chứa và hiển thị chế độ phân tích, có thể là DC, AC, thời gian … Vùng này cũng dùng để hiệu chỉnh những chế độ đã được cài đặt
Vùng này chứa những giá trị mà người thiết kế muốn tính toán hoặc hiển thị dạng sóng để kiểm tra hoạt động của mạch Có thể cho hiển thị hoặc lưu lại kết quả mô phỏng của những giá trị xuất ra trên bảng này Tuy nhiên, việc thêm quá nhiều Outputs
có thể dẫn đến tốc độ chạy của phần mềm sẽ chậm
Trong trình mô phỏng này, công việc đầu tiên là thực hiện lựa chọn loại phần mềm mô phỏng Trong Cadence có tích hợp nhiều bộ công cụ mô phỏng với những tính năng khác nhau Tùy thuộc vào mục tiêu mô phỏng, ứng dụng của mạch mà lựa chọn công cụ mô phỏng sau cho phù hợp Các mục tiêu mô phỏng có thể chia ra như sau : phương pháp phân tích, tốc độ, lấy gần đúng khi thực hiện những hệ thống vi sai Những phương pháp phân tích có thể được sử dụng bao gồm: Phân tích DC, mô hìh tương đương tín hiệu nhỏ, phân tích thời gian, phân tích nhiễu,
Trang 29Thực hiện chọn chế độ phân tích , trong cửa sổ ADE chọn:
Analyses > Choose
Bảng các chế độ phân tích xuất hiện cho người thiết kế lựa chọn như hình dưới:
Những chế độ phân tích được chi tiết hóa như sau:
Phân Tích DC tương tự như phân tích SPICE, người thiết kế có thể kiểm tra hoạt động trong miền DC của mạch có thể thể kiểm tra điểm hoạt động của từng linh kiện trong mạch một các chính xác Ví dụ: Kiểm tra xem tất cả các Transistor trong mạch
đã hoàn toàn đi vào vùng hoạt động mong muốn hay chưa? Trong đó, người thiết kế có thể mô phỏng tương quan giữa
Trang 30những thông số để tìm ra điểm hoạt động tối ưu cho mạch như tìm dòng phân cực cho mạch khuếch đại sao cho toàn bộ các Transistor trong mạch đi vào vùng bão hòa sâu nhằm đạt được
độ lợi tín hiệu cao
Chế độ phân tích đáp ứng của mạch trong miền thời gian Phương pháp phân tích này được dùng để phân tích những thay đổi của dạng tín hiệu khi chịu tác động của nhiễu hoặc nén tín hiệu Ví dụ, phân tích méo hài Mà những thay đổi này không thể thực hiện mô phỏng bằng phân tích AC
Bên cạnh ba chế độ mô phỏng chính, tương ứng với công cụ mô phỏng tích hợp của Cadence là SPECTRE còn có những chế độ đặc biệt nhằm cực tiểu quá thời gian thiết kế, kiểm tra vi mạch tương tự và hỗn hợp Trình kiểm tra Parametric Analysis cho phép người thiết kế khảo sát tính tương quan giữa các biến trong thiết kế từ đó lựa chọn ra những giá trị tốt nhất tối ưu hóa hoạt động của mạch tích hợp Để sử dụng công cụ này thực hiện chọn
Tools > Parametric Analysis
Sau đó chọn tên biến đồng thời thêm tầm kiểm tra để mô phỏng hoạt động bằng cách:
Analysis > Start
Sau khi lựa chọn được thông số thiết kế phù hợp, thực hiện mô phỏng mạch với đáp ứng thời gian để đảm bảo mạch hoạt động đúng theo lý thuyết Trong cửa sổ mô phỏng ADE chọn
Simulation > Netlist and Run
Kết quả mô phỏng được xuất thành dạng sóng quan sát bởi trình Virtuoso (R) Visualization & Analysis XL như hình dưới
Trong hình này, dạng sóng ngõ ra lý tưởng được biểu diễn màu đỏ, được lấy tại ngõ ra của mô hình cổng Đảo lý tưởng với mô hình tương thích Verilog-A Dạng sóng thực tế thiết kế trên
Trang 31Đối với môi trường hiển thị dạng sóng, ta có thể tùy ý chỉnh định dạng, kích thước, màu chữ, màu sóng cũng như màu nền cho trình tái tạo dạng sóng Ngoài ra, để thực hiện một phân tích
toán học từ dữ liệu thu được, người ta thực hiện phân tích bằng công cụ Calculator được khởi
động bằng:
Tools > Calculator
Trình tính toán này có công dụng tương tự như một công cụ MATLAB được giản lược tối đa
với khả năng phân tích Fourier (DFT, FFT ), tính thông số tín hiệu nhỏ bao gồm Độ Lợi DC, Băng Thông Đơn Vị, Độ Dự Trữ Pha, Tốc Độ Đáp Ứng của mạch
Khi so sánh kết quả mô phỏng phù hợp với lý thuyết và thỏa đặc tả kỹ thuật của mạch ứng dụng Khối mạch thiết kế được chuyển sang bước thiết kế vật lý Trong bước này, các linh kiện trong mạch sẽ được thực hiện layout với các lớp vật liệu Ví dụ, khi muốn tính đạo hám của một
dạng sóng, thực hiện khởi động trình tính toán Calculator chọn nút Wave và chọn vào Special Functions và chọn lệnh Deriv Thực hiện xuất dạng sóng bằng nút Plot hoặc Erplot
Một số hàm cơ bản được dùng để tính toán những thông số phổ biến và được dùng nhiều trong các bài thí nghiệm trong tài liệu này được cho như trong Bảng bên dưới Việc sử dụng trình tính toán là cần thiết, nhưng không lạm dụng quá nhiều mà bỏ qua các bước thực hiện phân tích bằng tay vì như vậy sẽ khiến việc thiết kế trở nên phụ thuộc phần mềm làm mất đi sự thú vị
Trang 32trong việc thiết kế cũng như phân tích mạch
1.5.4 THỰC HIỆN THIẾT KẾ VẬT LÝ
Đầu tiên, từ cửa sổ mạch nguyên lý thực hiện chọn
Launch > Layout XL
Bảng hiển thị yêu cầu lựa chọn khởi động trình thiết kế vật lý hiện ra như hình trên Thực hiện
tạo mới toàn bộ thiết kế chọn Create New và để chế độ tạo tự động cài đặt trong Configuration Cửa sổ tạo thiết kế bật lý hiện ra như Hình bên cạnh
Thực hiện chọn OK, màn hình Virtuoso Layout Suite XL Editing xuất hiện như hình dưới
Trang 33Thực hiện chuyển thiết kế từ mạch nguyên lý sang môi trường thiết kế vật lý Bằng công cụ Generate All From Source
Thực hiện cài đặt quá trình Generate bao gồm:
Trang 34- Instance: phần tử linh kiện có trong mạch
- I/O pin: Chân ngõ vào và ngõ ra
- PR Boudary: Biên thiết kế
Tiếp tục thực hiện cài đặt I/O pin như sau:
Thực hiện chọn lớp cho các chân linh kiện Tạo nhãn tên cho chân linh kiện nhằm phân biệt dễ dàng hơn trong quá trình thực hiện vẽ Layout cho mạch nguyên lý
Bước 1: Vẽ đường VDD và GND cho mạch
Bây giờ ta sẽ chuẩn bị bắt đầu cho việc thiết kế layout của cổng NOT Đầu tiên, chúng ta sẽ tạo hai đường “rails” cho nguồn (power) và đất (ground) bằng cách sử dụng lớp Metal1 Ở các thiết
kế lớn hơn việc sử dụng nhiều cổng logic là điều không thể tránh khỏi Do đó, độ cao của hai đường “rails” cũng như khoảng không gian ở giữa hai đường này cần phải giống nhau để thuận tiện cho việc kết nối các cổng riêng biệt lại với nhau Trong luận văn này, chiều cao của hai đường “rails” được chọn ứng với giá trị nhỏ nhất nên thực hiện là (Thông số thể hiện nửa giá trị process mà ta đang làm việc Ví dụ như process trong đề tài là 0.18um thì giá trị của là 0.09um) Khoảng không gian giữa hai đường này được chọn là giá trị nhỏ nhất
có thể để phù hợp với việc thiết kế tất cả các cổng trong thư viện là