You are on page 1of 49

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

KHOA ĐIỆN TỬ
BỘ MÔN KỸ THUẬT ĐIỆN TỬ

TÀI LIỆU
HƯỚNG DẪN SỬ DỤNG
PHẦN MỀM S-EDIT
Thái Nguyên – 2021
MỤC LỤC
LỜI MỞ ĐẦU.................................................................................................................... 3
PHẦN 8: NHẬP VÀ XUẤT DANH SÁCH ( NETLISTS)...............................................5
VÀ SƠ ĐỒ MẠCH (SCHEMATICS)..............................................................................5
8.1. Nhập một thiết kế....................................................................................................5
8.2. Nhập tệp SPICE......................................................................................................5
8.3. Nhập tệp EDIF........................................................................................................7
8.4. Importing EDIF from S-Edit or ViewDraw.............................................................7
8.5. Bản dịch EDIF cho ViewDraw................................................................................9
8.5.1. Thuộc tính SPICE.OUTPUT cho ViewDraw...................................................9
8.5.2. Nhập EDIF từ Cadence Composer.................................................................10
8.5.3. Bản dịch EDIF cho tệp Cadence.....................................................................12
8.5.4. Thuộc tính SPICE.OUTPUT từ tệp Cadence.................................................13
8.5.6. Nhập EDIF từ Mentor Design Architect.........................................................14
8.6. Nhập OpenAccess.................................................................................................15
8.7. Nhập tệp Verilog...................................................................................................17
8.8. Nhập tệp CDF.......................................................................................................19
8.9 Xuất một thiết kế....................................................................................................20
8.10 Xuất tệp SPICE....................................................................................................20
8.10.1 Thuộc tính xuất SPICE..................................................................................24
8.10.2 Thuộc tính OUTPUT sử dụng TC.................................................................26
8.10.3 .PRIMITIVE property (Thuộc tính .PRIMITIVE)........................................27
8.10.4 .ORDER property (Thuộc tính .ORDER)......................................................27
8.10.5 .DEFINITION propert (Thuộc tính .DEFINITION).....................................28
8.10.6 .PREFIX property (Thuộc tính .PREFIX)....................................................28
8.10.7 .PINORDER property (Thuộc tính .PINORDER).........................................28
8.10.8 .MODEL property(Thuộc tính .MODEL).....................................................29
8.10.9 .PARAMETERS property (Thuộc tính .PARAMETERS)............................29
8.10.10 Định nghĩa mạch con..................................................................................30
8.11 Thuộc Tính PARAMETERS...............................................................................31
8.11.1 Định nghĩa mạch con.....................................................................................32
8.11.2 Các ví dụ về đầu ra SPICE............................................................................32

1
8.11.3 Truyền thông số mạch con cho ô gốc............................................................35
8.11.4 Xuất kết nối nút toàn cầu..............................................................................35
8.11.5 Xuất tệp EDIF...............................................................................................36
8.11.6 Xuất Tệp Xác Minh.......................................................................................38
8.11.7 Thuộc tính kiểm tra Xuất Verilog..................................................................39
8.12 Xuất tệp VHDL...................................................................................................40
8.13 Xuất tệp TPR........................................................................................................42

2
LỜI MỞ ĐẦU
Một trong những lĩnh vực kiến thức của một kỹ sư chuyên ngành Kỹ thuật điện tử là
phải nắm được cấu trúc hê ̣ thống, biết cách phân tích, thiết kế vi mạch điê ̣n tử. Với sự
phát triển như vũ bão của nền khoa học công nghê ̣, công nghê ̣ vâ ̣t liê ̣u, công nghê ̣ chế tạo
vi mạch với kích thước càng ngày càng thu nhỏ. Để có thể thiết kế được các vi mạch tích
hợp (cả IC tương tự cũng như IC số), người thiết kế cần thiết phải có sự hỗ trợ của các
giải pháp, các công nghệ tiên tiến thông qua máy tính (Computer Aid Design - CAD).

Hiê ̣n nay có rất nhiều các phần mềm, công cụ hỗ trợ cho viê ̣c thiết kế vi mạch. Bên
cạnh đó, nhiều công cụ, thư viện cũng được cung cấp bởi cộng đồng để việc thiết kế, mô
phỏng vi mạch theo hướng CAD trở nên dễ dàng hơn.

Chính vì vậy, học phần Thiết kế vi mạch CMOS VLSI đã được lựa chọn đưa vào
trong chương trình đào tạo của chuyên ngành đào tạo kỹ sư Kỹ thuật điện tử tại TNUT.

Do là một học phần mới nên các tài liệu kỹ thuật hướng dẫn sử dụng các phần mềm
mô phỏng, thiết kế vi mạch đa phần được viết bằng tiếng Anh. Các tài liệu bằng tiếng
Việt rất hiếm và chưa cập nhật đầy đủ. Trong bối cảnh đó, dưới sự hướng dẫn của GV
giảng dạy – ThS. Phạm Duy Khánh, các SV lớp K54 KĐT đã chủ động biên dịch từ tài
liệu tiếng Anh, chạy thử kiểm nghiệm và xây dựng nên bộ tài liệu “Hướng dẫn sử dụng
phần mềm vẽ sơ đồ vi mạch S-Edit trong bô ̣ công cụ Tanner EDA”.

Bộ tài liệu được bố cục thành 9 phần cơ bản.

Phần 1: Giới thiệu về giao diê ̣n phần mềm và cách cài đă ̣t các thông số

Phần 2: Cách tạo mô ̣t dự án

Phần 3: Điều hướng và quan sát bản thiết kế

Phần 4: Vẽ, lựa chọn và chỉnh sửa đối tượng

Phần 5: Tạo mạch nguyên lý

Phần 6: Tạo các biểu tượng

Phần 7: Đánh giá các thuô ̣c tính và gán nhãn

Phần 8: Nhâ ̣p và xuất danh sách (netlists) và sơ đồ (schematics)

Phần 9: Mô phỏng và đo dạng sóng

3
Do thời gian thực hiện rất ngắn nên bộ tài liệu không thể tránh khỏi những thiếu sót
nhất định. Chúng tôi rất mong nhận được sự đóng góp ý kiến của quý Thầy, Cô cùng các
bạn SV để bộ tài liệu ngày càng được hoàn thiện hơn.

Trân trọng.

4
PHẦN 8: NHẬP VÀ XUẤT DANH SÁCH ( NETLISTS)

VÀ SƠ ĐỒ MẠCH (SCHEMATICS)
8.1. Nhập một thiết kế

Bạn có thể nhập các tệp EDIF, SPICE và Verilog vào S-Edit và xuất EDIF, SPICE,
Verilog và các tệp VHDL từ S-Edit. Cho dù bạn đang nhập định dạng nào, thì bạn cũng
phải mở một thiết kế lên trước rồi sau đó bạn mới có thể nhập chúng vào. Thao tác nhập
sẽ tạo ra một thư mục hoàn chỉnh cho thiết kế.

8.2. Nhập tệp SPICE

Nhập tệp SPICE để tạo ra các chế độ xem SPICE được lưu cùng với thiết kế. Nhập netlist
lần lượt sẽ tạo các phần riêng biệt cho mỗi mạch con trong netlist. Lưu ý rằng chế độ xem
SPICE được tạo lại từ chế độ xem kết nối, vì vậy nó không phải là bản sao nguyên văn
của netlist ban đầu. Do đó, các thông số thiết bị được giữ lại nhưng nhận xét và các lệnh
bổ sung không thuộc phần của kết nối sẽ bị mất.

From file Chọn tệp SPICE để nhập.

Edit Mở tệp được chọn trong S-Edit

Import target Chỉ định thiết kế, ô, chế độ xem giao diện và chế độ
xem kết nối mà tệp SPICE sẽ được nhập vào.
(Mục tiêu nhập)

Overwrite existing views Nếu các ô trong tệp SPICE và thiết kế đang được nhập

5
(Ghi đè các chế độ xem hiện vào mà cùng tên, thì việc kiểm tra này sẽ khiến tệp
có) SPICE ghi đè các dạng xem trong ô hiện có.

SPICE format type Chọn từ T-Spice, HSPICE, PSpice và CDL.

(Định dạng SPICE) Loại chân cắm từ CDL được nhập thông qua lệnh
.PININFO.

Prepend device character Khi được chọn, các ký tự thiết bị SPICE sẽ được thêm
vào trước tên phần mềm trong netlist
to model names

(Thêm ký tự thiết bị vào


trước tên phần mềm)

Include SPICE prefix Khi được chọn, các ký tự đứng trước SPICE sẽ được
đưa vào tên phần mềm để toàn bộ từ trở thành tên
characters in instance
phiên bản chứ không phải loại bỏ ký tự đầu tiên.
names

(Bao gồm ký tự đứng trước


SPICE trong tên phiên bản)

Khi được chọn, phân tách kết nối từ danh sách mạng
SPICE bao gồm các tệp được tham chiếu bởi câu
Parse connectivity
lệnh .include. Các chế độ xem Spice sẽ được tạo từ
(Phân tách kết nối) các chế độ xem kết nối.

Khi được chọn, hãy tạo ô xem Spice cho mỗi mạch
con dưới tên của mạch con và dán vào toàn bộ văn
bản mạch con bao gồm nhận xét, tệp và định dạng.
Lưu trữ văn bản Các chú thích được viết giữa các định nghĩa về mạch
con được bao gồm cả trong ô mạch con bên dưới
chúng. Tạo “cell0” cho ô cấp cao nhất.

Bạn nên kiểm tra các tệp của thiết bị có bán trên thị trường, vì chúng có thể có các thông
số quan trọng đi kèm với thông số chứ không phải trong thông số thiết bị như T-Spice
mong đợi hoặc chúng có thể bao gồm các thông số không hợp lệ cho cấp mô hình của
bạn.

6
8.3. Nhập tệp EDIF

Thao tác nhập EDIF tạo ra các chế độ xem của SPICE. Giống như khi nhập tệp SPICE, vì
các chế độ xem được lưu cùng với thiết kế, nên EDIF đã nhập sẽ được lưu. Việc nhập
netlist phân cấp sẽ tạo ra các ô riêng biệt cho mỗi mạch con trong netlist. Các thư viện
mới được tạo bằng cách nhập EDIF được mở với việc cho phép chỉnh sửa cài đặt và có
quyền truy cập.

Nếu bạn muốn tạo một thiết kế mới từ tệp EDIF, bạn nên tạo một thiết kế có cùng tên với
thư viện gốc trong tệp EDIF, sau đó nhập tệp EDIF vào thiết kế đó. Thư viện gốc thường
được viết ở gần cuối tệp EDIF với “design ROOT” là:

Trong đó rootlibrary là tên của thư viện gốc. Thư viện gốc là thư viện gần cuối tệp EDIF
nhất, vì vậy bạn cũng có thể xác định nó bằng cách định vị “library libraryname” gần
cuối tệp.

Một cách khác để tạo thiết kế mới từ tệp EDIF là tạo một thiết kế với bất kỳ tên nào, nhập
tệp EDIF và lưu thiết kế và các thư viện của nó. . Sử dụng bộ lọc cấp trong Thư viện để
hỗ trợ tìm kiếm trong thư viện. Sau đó, bạn có thể mở trực tiếp thư viện cấp cao nhất
(trong ngữ cảnh này, nó trở thành thiết kế) và bạn có thể xóa khỏi đĩa thiết kế chỉ giữ chỗ
mà bạn đã tạo ban đầu.

Lưu ý rằng vị trí và SPR trong L-Edit yêu cầu một danh sách EDIF chỉ có một mức phân
cấp.

8.4. Importing EDIF from S-Edit or ViewDraw

Các cách nhập sẽ khác nhau tùy thuộc vào loại tệp EDIF bạn đang nhập. Nếu đó là tệp
EDIF từ S-Edit, ViewDraw hoặc một nguồn không xác định thì không cần tham số dịch.
Mỗi tệp Cadence Composer và Mentor Design Architect đều yêu cầu một bộ tùy chọn
riêng.

7
From file Chọn tệp SPICE để nhập.

Edit Mở tệp được chọn trong S-Edit

Data origin Chọn loại tệp EDIF từ menu

(Nguồn dữ liệu)

Import target Chọn thiết kế mà tệp EDIF sẽ được nhập vào. Nếu một thư
viện tồn tại trong tệp EDIF có cùng tên với thiết kế hoặc
(Mục tiêu nhập)
một trong các thư viện của thiết kế, thì nội dung của thư
viện EDIF đó sẽ được nhập vào thiết kế hoặc thư viện có
cùng tên.

Các thư viện trong tệp EDIF không khớp với tên thiết kế sẽ

được tạo dưới dạng thư viện mới của thiết kế đã chọn.

Overwrite existing views Nếu các ô trong tệp EDIF và thiết kế đang được nhập vào
mà cùng tên, thì việc kiểm tra này sẽ khiến tệp EDIF ghi đè
(Ghi đè các chế độ xem hiện
các dạng xem trong ô hiện có.
có)

Automatically set up grids S-Edit phân tích nội dung của tệp EDIF để tìm khoảng cách
chân và tính toán khoảng cách và tỷ lệ khung tốt nhất.
and scaling

(Tự động thiết lập khung và


chia tỷ lệ)

8
Vì vậy, các nút sẽ duy trì kết nối của chúng khi chúng không được kết nối rõ ràng với
dây, S-Edit thêm nhãn cho các dây được đặt tên (trước khi chia đoạn), ở cuối dây nếu nó
được đặt tên rõ ràng.

8.5. Bản dịch EDIF cho ViewDraw

Khi S-Edit nhập EDIF từ ViewDraw, nó sẽ thực hiện các bản dịch sau:

[1] Tất cả các phiên bản của ô có tên 'SPLITTER' đều bị xóa và chính ô SPLITTER cũng
bị xóa. Đây là một ô ripper mà S-Edit không cần.

[2] Buses and các thành phần của bus được đổi tên để tuân theo cú pháp của S-Edit.

VD: D<0:7> cho một bus, D<1> cho một bit từ bus

[3] Chữ '@' đứng đầu bị xóa khỏi tên sản phẩm

[4] Tên trường hợp '$' đứng đầu được thay thế bằng '_'

[5] Thuộc tính SPICE.OUTPUT được tạo từ các thuộc tính ViewDraw PREFIX,
PINORDER và ORDER.

[6] Thuộc tính SPICE.PRIMITIVE được tạo trên một biểu tượng và giá trị của nó chỉ
được đặt thành 'true' nếu có thuộc tính 'PREFIX' trên biểu tượng.

[7] Thuộc tính 'IsInterface' được đặt thành false cho 'PINORDER', 'FLATORDER',
'LEVEL' và 'PARNAME'.

8.5.1. Thuộc tính SPICE.OUTPUT cho ViewDraw

Thuộc tính ORDER, PINORDER và PREFIX trong ViewDraw được dịch sang thuộc
tính S-Edit SPICE.OUTPUT. Các thuộc tính và giá trị điển hình trong ViewDraw là:

Chúng được dịch sang định dạng S-Edit SPICE.OUTPUT, như sau:

Các mã thông báo trong thuộc tính LỆNH ViewDraw được dịch sang thuộc tính đầu ra
SPICE như sau:

9
8.5.2. Nhập EDIF từ Cadence Composer

Lưu ý rằng trong các mạch được chuyển đổi từ Composer, “instNamePrefix” được dịch
thành thuộc tính “InstanceName” trong S-Edit.

From file Chọn tệp SPICE để nhập.

Edit Mở tệp được chọn trong S-Edit

Data origin Chọn loại tệp EDIF từ menu

(Nguồn dữ liệu)

Import target Chọn thiết kế mà tệp EDIF sẽ được nhập vào. Nếu một
thư viện tồn tại trong tệp EDIF có cùng tên với thiết kế
(Mục tiêu nhập)
hoặc một trong các thư viện của thiết kế, thì nội dung
của thư viện EDIF đó sẽ được nhập vào thiết kế hoặc
thư viện có cùng tên.

10
Các thư viện trong tệp EDIF không khớp với tên thiết
kế sẽ

được tạo dưới dạng thư viện mới của thiết kế đã chọn.

Overwrite existing views Nếu các ô trong tệp EDIF và thiết kế đang được nhập
vào mà cùng tên, thì việc kiểm tra này sẽ khiến tệp
(Ghi đè các chế độ xem hiện
EDIF ghi đè các dạng xem trong ô hiện có.
có)

Automatically set up grids S-Edit phân tích nội dung của tệp EDIF để tìm khoảng
cách chân và tính toán khoảng cách và tỷ lệ khung tốt
and scaling
nhất.
(Tự động thiết lập khung và
chia tỷ lệ)

Translate Cadence cdsParam Xuất Cadence EDIF đặt các thuộc tính biểu tượng
properties cdsParam trong một tệp riêng biệt khỏi tệp EDIF được
gọi là tệp cdfDump .
(Dịch thuộc tính cdsParam
của Cadence) Khi hộp này được chọn, S-Edit sẽ tìm kiếm thư mục
được chỉ định cho các tệp cdfDump của Phần mở rộng
Tệp được chỉ định, dịch các thuộc tính cdsParam và tạo
SPICE.OUTPUT khi tệp EDIF được nhập từ Cadence.
Kiểm tra Also search

subdirectories sẽ thực hiện điều đó đối với thư mục bạn


đã nhập.

Các thuộc tính đã nhập sẽ được hiển thị trong trình điều
hướng Thuộc tính S-Edit tiêu chuẩn.

Directory containing Chỉ định vị trí của tệp Cadence cdfDump sẽ được sử
dụng cho dịch thuộc tính cdsParam.
Cadence cdfDump files
S-Edit lấy thư viện và ô thích hợp từ tiêu đề của tệp và
(Thư mục chứa tệp Cadence
áp dụng bản dịch thuộc tính cho ô đó. Tệp thông số có
cdfDump)
thể chứa nhiều thư viện và ô, được phân tách bằng các
tiêu đề cho biết thư viện và tên ô cho các thuộc tính theo

11
sau.

File extension Khi một phần mở rộng tệp được nhập vào đây, S-Edit sẽ
đọc tất cả các tệp có phần mở rộng đó, bất kể tên tệp cơ
(Phần mở rộng tệp)
sở mặc định là gì.

Also search subdirectories Khi tùy chọn này được chọn, S-Edit sẽ tìm kiếm tất cả
các thư mục bên dưới thư mục đã nhập.
(tìm kiếm thư mục con)

Key simInfo Tùy chọn này cho S-Edit biết trình mô phỏng nào trong
tệp cdf để chọn định dạng đầu ra netlist, như được cung
(Khóa simInfo)
cấp bởi cdfId-> simInfo trong tệp cdf, khi dịch thuộc
tính cdsParam của Cadence.

Import callbacks and create Nhập các tham số và tên hàm gọi lại được đính kèm với
callback stubs các dạng xem giản đồ, đồng thời tạo danh sách các
“gốc” lệnh gọi lại với tên hàm và một số định dạng cơ
(Nhập các lệnh lặp và tạo
bản để bạn có thể nhập định nghĩa hàm.
các bản gốc lệnh lặp)

8.5.3. Bản dịch EDIF cho tệp Cadence

Các bản dịch này được thực hiện trên tất cả các ký hiệu và phiên bản. Cổng điện có tên
kết thúc bằng “!” được thực hiện trên toàn cầu.

Đối với mỗi nhãn cdsTerm, một thuộc tính có tên “~


cds.NNN” được tạo, với giá trị “[tên cổng chú thích]”.
Ở đây NNN là một giá trị duy nhất trong phạm vi ký
cdsTerm (tên)
hiệu. Thuộc tính mới được tạo được đặt ở cùng vị trí với
nhãn gốc, có cùng hướng và cách điều chỉnh.

cdsName Đối với mỗi nhãn cdsName, hãy đặt vị trí và kích thước
văn bản của thuộc tính hệ thống “Tên” thành các giá trị
của nhãn này

cdsParam(n) Nếu thuộc tính cdsParam của Translate Cadence được


chọn và thư mục cơ sở dữ liệu Cadence chứa tệp
cdfDump được cung cấp, S-Edit sẽ tạo thuộc tính từ tên

12
và giá trị tham số mà “n” tham chiếu trong tệp cdfDump
thích hợp trong cơ sở dữ liệu Cadence

Nhãn NLP Các nhãn chứa “[@” được chuyển đổi thành các thuộc
tính tham chiếu đến các thuộc tính S-Edit tương ứng.

Các giá trị thuộc tính sử dụng định dạng Cadence pPar, iPar và atPar tham chiếu đến
các thuộc tính khác được dịch sang định dạng tham chiếu S-Edit như sau:

pPar(“name”) ?name

iPar(“name”) $name

atPar(“name”) @name

Ví dụ về tệp cdsParam

Dưới đây là ví dụ về tệp cdsParam cho NMOS.

8.5.4. Thuộc tính SPICE.OUTPUT từ tệp Cadence

13
Các thuộc tính trong S-Edit được tạo từ các thuộc tính namePrefix, termOrder,
instParameters và các thuộc tínhParameter khác được Cadence CDF tham chiếu. Đưa ra
các thuộc tính sau trong cơ sở dữ liệu tệp cdfDump;

thuộc tính SPICE.OUTPUT được tạo như sau:

8.5.6. Nhập EDIF từ Mentor Design Architect

From file Chọn tệp SPICE để nhập.

Edit Mở tệp được chọn trong S-Edit

Data origin Chọn loại tệp EDIF từ menu

(Nguồn dữ liệu)

Import target Chọn thiết kế mà tệp EDIF sẽ được nhập vào. Nếu
một thư viện tồn tại trong tệp EDIF có cùng tên với
(Mục tiêu nhập)
thiết kế hoặc một trong các thư viện của thiết kế, thì
nội dung của thư viện EDIF đó sẽ được nhập vào

14
thiết kế hoặc thư viện có cùng tên.

Các thư viện trong tệp EDIF không khớp với tên thiết
kế sẽ

được tạo dưới dạng thư viện mới của thiết kế đã


chọn.

Overwrite existing views Nếu các ô trong tệp EDIF và thiết kế đang được nhập
vào mà cùng tên, thì việc kiểm tra này sẽ khiến tệp
(Ghi đè các chế độ xem hiện
EDIF ghi đè các dạng xem trong ô hiện có.
có)

Automatically set up grids S-Edit phân tích nội dung của tệp EDIF để tìm
khoảng cách chân và tính toán khoảng cách và tỷ lệ
and scaling
khung tốt nhất.
(Tự động thiết lập khung và
chia tỷ lệ)

Directory containing Chỉ định vị trí của tệp Mentor NCF sẽ được sử dụng
để dịch.
Cadence cdfDump files

(Thư mục chứa tệp Cadence


cdfDump)

File extension Khi một phần mở rộng tệp được nhập vào đây, S-Edit
sẽ đọc tất cả các tệp có phần mở rộng đó, bất kể tên
(Phần mở rộng tệp)
tệp cơ sở mặc định là gì.

Also search subdirectories Khi tùy chọn này được chọn, S-Edit sẽ tìm kiếm tất
cả các thư mục bên dưới thư mục đã nhập.
(tìm kiếm thư mục con)

8.6. Nhập OpenAccess

Cơ sở dữ liệu openAccess có thể được nhập vào S-Edit. Gọi Tệp => Nhập => Nhập
OpenAccess

15
From file Chỉ định tệp libs.def cho cơ sở dữ liệu Open Access để
nhập.

Edit Mở tệp được chỉ định trong trình soạn thảo văn bản S-Edit.

Data origin Chọn công cụ tạo cơ sở dữ liệu OpenAccess

(Nguồn dữ liệu)

Import target Chỉ định thiết kế mà cơ sở dữ liệu OpenAccess sẽ được


nhập vào. Nếu một thư viện tồn tại trong cơ sở dữ liệu OA
(Mục tiêu nhập)
có cùng tên với thiết kế hoặc một trong các thư viện của
thiết kế, thì nội dung của thư viện OA đó sẽ được nhập vào
thiết kế hoặc thư viện có cùng tên. Các thư viện trong cơ sở
dữ liệu OA không khớp với tên thiết kế sẽ được tạo dưới
dạng thư viện mới của thiết kế đã chọn

Overwrite existing views Nếu các ô có cùng tên tồn tại trong cơ sở dữ liệu OA và
thiết kế mà nó đang được nhập vào, thì việc chọn hộp kiểm
(Ghi đè các chế độ xem hiện
này sẽ khiến nội dung của cơ sở dữ liệu OA ghi đè các dạng
có)
xem trong ô hiện có.

Automatically set up grids Khiến S-Edit phân tích nội dung của cơ sở dữ liệu OA để
tìm khoảng cách chân và tính toán khoảng cách và tỷ lệ lưới
and scaling
tốt nhất.
(Tự động thiết lập khung và
chia tỷ lệ)

16
Create SPICE export Thuộc tính kiểm soát xuất được tạo cho tất cả cdfId->
simInfosimulators được liệt kê trong dữ liệu CDF. Tùy chọn
control property from
này cho S-Edit biết trình mô phỏng nào trong dữ liệu CDF
simInfo key để chuyển đổi sang thuộc tính điều khiển xuất SPICE.
(Tạo thuộc tính điều khiển xuất
SPICE từ khóa simInfo)

Import callbacks and create Nhập các tham số và tên hàm gọi lại được đính kèm với các
callback stubs dạng xem giản đồ, đồng thời tạo danh sách các “gốc” lệnh
gọi lại với tên hàm và một số định dạng cơ bản để bạn có
(Nhập các lệnh lặp và tạo các
thể nhập định nghĩa hàm. Callback "sơ khai" chỉ được tạo
bản gốc lệnh lặp)
cho các hàm gọi lại không thể tìm thấy.

8.7. Nhập tệp Verilog

S-Edit sẽ cảnh báo khi trùng tên không phân biệt chữ hoa chữ thường đối với lưới và đối
với các trường hợp.

From file Chỉ định tệp Verilog để nhập.

Edit Mở tệp được chọn trong S-Edit

Import this single cell Chọn ô đơn mà bạn muốn nhập.

(Nhập ô đơn này) Lưu ý: Các ký hiệu ngoặc [và] trong tên phiên bản Verilog
sẽ được viết lại thành carat <và> tương ứng để tránh TCL
hiểu sai.

17
Import target Design Chọn thiết kế mà tệp Verilog sẽ được nhập vào. Nếu một
thư viện tồn tại trong tệp Verilog có cùng tên với thiết kế
(Nhập thiết kế mục tiêu)
hoặc một trong các thư viện của thiết kế, thì nội dung của
thư viện Verilog đó sẽ được nhập vào thiết kế hoặc thư viện
có cùng tên.

Các thư viện trong tệp Verilog không khớp với tên thiết kế
sẽ

được tạo dưới dạng thư viện mới của thiết kế đã chọn.

Import Target: Chọn giao diện mà tệp Verilog sẽ được nhập vào.

Interface view name

(Mục tiêu nhập: Tên giao diện


xem)

Import Target: Chọn chế độ xem kết nối mà tệp Verilog sẽ được nhập vào.

Connectivity view name

(Mục tiêu nhập: Tên chế độ


xem kết nối)

Overwrite existing views Nếu các ô trong tệp Verilog cùng tên với thiết kế đang được
nhập vào, thì việc kiểm này sẽ khiến tệp Verilog ghi đè các
(Ghi đè các chế độ xem hiện
dạng xem trong ô hiện có.
có)

Implicitly define missing cells S-Edit tạo định nghĩa cho các ô được tham chiếu trong
Verilog nhưng không có trong bất kỳ thư viện nào.
(Xác định rõ ràng các ô bị
thiếu)

TieHigh cell Chỉ định tên của ô TieHigh, ô này sẽ được kết nối với “1”
để các câu lệnh gán sử dụng hằng số có thể được thay đổi
(Ô TieHigh)
thành tham chiếu. Bất cứ khi nào tìm thấy kết nối đến “0”
hoặc “1” (trong câu lệnh “gán” hoặc trong pinlist chẳng
hạn), một phiên bản của ô thích hợp sẽ được tạo và kết nối
(có thể thông qua mạng mới) được tạo. Nếu các ô

18
TieHigh/TieLow không tồn tại trong thư viện, bạn sẽ cần để
xác định chúng.

TieLow cell

(Ô TieLow) Chỉ định tên của ô TieLow, ô này sẽ được kết nối với “0”.

Parse connectivity

(Structural Verilog) Phân tích cú pháp kết nối từ một letlist Verilog sau đó hiển
thị nó dưới dạng các chế độ xem Spice.
(Phân tích cú pháp kết nối)

Preserve text (Verilog-A) Sao chép nguyên văn văn bản cho mỗi mạch con từ tệp
Verilog đầu vào, cũng như ô cao nhất, thành các mạch con
(Lưu giữ văn bản)
riêng biệt. Việc này có ích để nhập một thư viện các định
nghĩa có trong một tệp duy nhất.

8.8. Nhập tệp CDF

Nhập CDF có thể được sử dụng để nhập các tham số vào một Ô từ tệp CDF của Hệ thống
Thiết kế Cadence. Để thực hiện việc này, hãy gọi Tệp => Nhập => Nhập CDF

From file Tên của tệp CDF để nhập. Một tệp CDF có thể chứa tham
số cho nhiều thư viện và ô, với tiêu đề cho biết ô và thư viện

19
cho các tham số theo sau.

Directory Tên thư mục chứa tệp CDF. Một thư mục có thể chứa nhiều
tệp CDF, mỗi tệp chứa dữ liệu tham số cho một hoặc nhiều
(Danh mục)
ô.

File Extension Phần mở rộng tệp của tệp CDF để đọc trong thư mục được
chỉ định.
(Phần mở rộng tệp)

Also search subdirectories Khi chọn lệnh này, L-Edit sẽ tìm kiếm tất cả các thư mục
bên dưới thư mục đã nhập.
(tìm kiếm thư mục con)

Create cells missing in design Khi chọn lệnh này, S-Edit sẽ tạo một ô mới nếu ô trong tệp
CDF không tồn tại trong cơ sở dữ liệu.
(Tạo các ô bị thiếu trong thiết
kế)

Import target design Nhập tên của thiết kế vào tệp CDF.

(Nhập thiết kế mục tiêu)

8.9 Xuất một thiết kế

S-Edit có thể xuất thiết kế của bạn hoặc bất kỳ phần nào của nó sang nhiều dạng netlists
để mô phỏng hoặc định dạng. Khi bạn đã xuất một mạch, bạn có thể sử dụng T-Spice để
mô phỏng nó và W-Edit để xem đầu ra dạng sóng, trực tiếp từ S-Edit.

S-Edit ghi một danh sách cho cửa sổ hiện tại và tất cả các bản sao của nó, trừ khi bất kỳ
trường hợp nào trong số này chứa các thuộc tính đầu ra mô tả chúng như các cửa sổ ban
đầu. Các phần sau cung cấp thông tin chi tiết về S-Edit's sẽ xuất chính xác tùy theo loại
netlists được xuất.

Trước khi xuất một giản đồ sang EDIF, SPICE,Verilog và VHDL, S-Chỉnh sửa tự động
thực hiện kiểm tra quy tắc thiết kế . Nếu có từ một lỗi được tìm thấy, quá trình xuất sẽ bị
hủy bỏ.

8.10 Xuất tệp SPICE

20
Khi bạn xuất tệp SPICE (netlist ), bạn có thể chọn một số tùy chọn liên quan đến thăm dò
dạng sóng. Bạn cũng có thể chọn có tắt lệnh .END trong đầu ra SPICE. Nếu bạn dự định
bao gồm tệp netlist trong các tệp SPICE khác, bạn nên kiểm tra Exclude .model.

Lưu ý:

Tools > Start Simulation và File > Export SPICE, cả hai đều xuất tệp SPICE, độc lập
và không được đồng bộ hóa. Do đó, có thể điều chỉnh hai bộ đầu ra SPICE hoàn toàn
khác nhau thuộc tính cho cùng một cửa sổ.

Thứ tự sắp xếp tannerbetical

Thứ tự sắp xếp mặc định là "Tannerbetical", trong đó các ký tự chữ cái được sắp xếp
đầu tiên, sau đó là bất kỳ số nào trong tên dưới dạng số, tức là C1, C2, C10, C11. Sắp xếp
theo thứ tự bảng chữ cái thông thường sẽ là C1, C10, C11, C2.

Điều này áp dụng cho các thiết bị trong danh sách đã xuất được tạo từ S-Edit (thông qua
xuất hoặc sử dụng T-Spice); đầu ra .op và các tham số tín hiệu nhỏ trong tệp đầu ra; và
trong mỗi nhóm thiết bị có cùng giá trị SPICE.ORDER.

Để xuất tệp SPICE, sử dụng File > Export > Export SPICE

21
Cách đơn giản nhất để đặt mặc định cho đường dẫn tìm kiếm, vị trí thư viện và các thư
viện là chuyển các thuộc tính từ ô này sang ô khác trong hoặc giữa các thiết kế. Chỉ cần
chuyển đến ô nguồn và không có gì được chọn, nhấp chuột phải vào tham số SPICE và
chọn "Copy tree", sau đó trong ô bạn muốn chuyển các thuộc tính sang, hãy dán các lệnh
vào cửa sổ lệnh.

To file Nhập hoặc duyệt đến tên tệp bạn muốn xuất.

(Nộp file ) Nhập hoặc duyệt đến tên tệp bạn muốn xuất.

Note Một dấu gạch chéo ngược không nên được sử dụng làm
dấu phân tách đường dẫn trong S-Edit, vì người đánh
(ghi chú)
giá sẽ coi nó như một ký tự thoát. Dấu phân cách đường
dẫn phải là dấu gạch chéo về phía trước hoặc kép dấu
gạch chéo ngược.

Confirm overwrite Khi được chọn, tệp xuất sẽ tự động thay thế lên tệp hiện
có cùng tên.
(Xác nhận ghi đè)

22
Export Source Nhập Design, Cell và Connectivity View bạn muốn
xuất.
(Nguồn xuất)

Export as Top Level Cell -xác định ô này là cấp cao nhất trong
thiết kế của bạn trong đầu ra.
(Xuất tệp như)
Subcircuit Definition- xác định danh sách mạng là một
mạch con bằng

.SUBCKT name pin1 [pin2 ...] [par1=val1


par2=val2 ...] .ENDS [name]

Export mode chọn hierarchical hoặc flat.

(Chế độ xuất )

Exclude .model - Khi được chọn, hãy loại trừ câu lệnh .model nếu có
câu lệnh được xác định, từ đầu ra.
(Loại trừ. Model )
- Tùy chọn này chỉ áp dụng cho các thiết kế có các ô có
kết nối được xác định bằng cách nhập danh sách tệp
SPICE. Khi một danh sách tệp được nhập, một định
nghĩa mô hình được tạo nội bộ cho các thiết bị ban đầu.
Đến ngăn không cho định nghĩa mô hình đó được xuất
dưới dạng .model , đánh dấu vào ô này. Nó thường
được dung để loại trừ. Model xác định trong trường hợp
các mô hình đó được bao gồm từ bên ngoài các tập tin
thư viện. (Xem thêm “thuộc tính .OUTPUT sử dụng
TCL” trên trang 184.)

Exclude .end Khi được chọn, hãy tắt câu lệnh .end trong đầu ra
SPICE tập tin.
(Loại trừ .end)

Excludesimulation Chặn đầu ra thiết lập mô phỏng S-Edit SPICE


commands
từ tệp SPICE , ví dụ: khi các tệp được bao gồm sẽ thêm
(Loại trừ mô phỏng) bóng bán dẫn hoặc các thành phần khác làm mất hiệu

23
lực LVS.

Exclude global pins on - Khi được kiểm tra, các cổng toàn cầu không được mở
subcircuits rộng trong mạch phụ định nghĩa và lệnh gọi và thay vào
đó, một câu lệnh .global được thêm vào đường dây.
(Loại trừ các ghim chung
trên subcircuits) -Lưới có nắp bị loại trừ vì chúng có định nghĩa

toàn cầu. Netcaps bị bỏ qua. Mạng cục bộ có cùng tên


với mạng toàn cầu sẽ được kết nối với mạng toàn cầu.

Exclude definitions of empty Khi được chọn, hãy loại trừ các định nghĩa về
cells
các dòng con trống (là cần thiết của bộ định
(Loại trừ các định nghĩa của
tuyến SDL).
ô trống)

Exclude instance location Khi được chọn, không ghi tọa độ vị trí phiên bản mà
được mở đầu bằng một ký hiệu vào danh sách tệp.
(Loại trừ vị trí phiên bản)
(Để tránh lỗi trong các công cụ chẳng hạn như Eldo.)

Wrap lines to ___ characters Nhập số ký tự mà tại đó văn bản đầu ra sẽ thành một
dòng mới.

Export control property Tên thuộc tính chứa các thuộc tính phụ (Xem “Thuộc
tính xuất SPICE” bên dưới):
(Xuất thuộc tính kiểm soát )
 .OUTPUT
 .PRIMITIVE
 .ORDER
 .DEFINITION
 .PREFIX
 .PINORDER
 .MODEL
 .PARAMETERS

Nếu trống, S-Edit sẽ sử dụng SPICE.OUTPUT mặc


định.

Các dấu phân tách hợp lệ là dấu cách (), dấu phẩy (,) và

24
dấu chấm phẩy (;).

Khi bạn xuất một ô sang tệp SPICE để sử dụng với L-


Edit DevGen hoặc HiPer DevGen, thuộc tính Kiểm soát
xuất khẩu phải được đặt thành SDL. Điều này dành
riêng cho các thư viện Tanner EDA; người dùng nên
sử dụng giá trị dựa trên thư viện của họ. (Nếu “SDL”
không có trong danh sách thả xuống, chỉ cần nhập nó
vào.)

8.10.1 Thuộc tính xuất SPICE

Lưu ý rằng bạn có thể chỉ định kiểu xem được xuất khi bạn xuất SPICE. Nếu bạn không
làm một lựa chọn thứ tự mặc định là giản đồ, SPICE rồi đến Verilo

Xuất SPICE đi ngang qua cấu trúc phân cấp thiết kế từ ô được chỉ định và ghi một bản
khởi tạo thiết bị hoặc khởi tạo mạch con cho mọi trường hợp trong giản đồ. Đối với mỗi
mạch phụ duy nhất được cài đặt, nó viết một định nghĩa mạch con. Định nghĩa mạch con
bao gồm một tiêu đề mạch con, một thiết bị hoặc khởi tạo mạch con cho mọi trường hợp
trong sơ đồ của mạch con đó và một câu lệnh .ends.

SPICE netlisting được kiểm soát bởi nội dung của một số thuộc tính. Thông thường,
chúng được đặt trên một và cung cấp danh sách mạng mặc định. Chúng cũng có thể bị ghi
đè trên cơ sở từng trường hợp, để cho phép xuất khẩu tùy chỉnh. Bạn có thể chỉ định
nhiều thuộc tính SPICE và thứ tự kiểm soát SPICE các thuộc tính để sử dụng, do đó nếu
SPICE.OUTPUT và .ORDER được chỉ định không tồn tại, việc xuất quy trình tiếp tục
đến quy trình tiếp theo theo thứ tự. Bằng cách này, nếu bạn muốn sử dụng
SPICE2.OUTPUT trên biểu tượng, bạn không cần phải có SPICE2 trên tất cả các biểu
tượng.

25
Các thuộc tính kiểm soát đầu ra SPICE là:

 “Thuộc tính .OUTPUT sử dụng TCL” (trang 184) — định dạng thuộc tính điều
khiển để xuất danh sách mạng
 “Thuộc tính .PRIMITIVE” (trang 185) — đặc tính kiểm soát xuất danh sách để xác
định các phần tử ban đầu.
 “Thuộc tính .ORDER” (trang 185) — các thuộc tính kiểm soát xuất danh sách để
chỉ định thứ tự tuần tự của dòng xuất.
 “Thuộc tính .DEFINITION” (trang 185) — thuộc tính điều khiển xuất danh sách
sang định dạng mạch con.

Các thuộc tính này phải được tạo như một thuộc tính con của một thuộc tính. Ví dụ, một
biểu tượng có thể có các thuộc tính trong đó SPICE1.OUTPUT chỉ định một tập hợp các
tham số đầu ra và SPICE2.OUTPUT có thể chỉ định một tập hợp các tham số đầu ra khác.
Tương tự, SPICE1.PRIMITIVE và SPICE2.PRIMITIVE có thể thể hiện các cấp độ khác
nhau mà tại đó việc truyền qua hệ thống phân cấp sẽ được tiến hành. Sau đó bạn sẽ nhập
SPICE1 hoặc SPICE2 trong thuộc tính Kiểm soát xuất khẩu (Export control property)để
chỉ định .OUTPUT và .PRIMITIVE các thuộc tính để sử dụng khi bạn xuất SPICE.
Trong hầu hết các trường hợp, sẽ chỉ có một tập hợp .OUTPUT và Thuộc tính
.PRIMITIVE. (Xem “Thuộc tính Kiểm soát Hành vi Xuất Verilog” trên trang 194 để biết
thêm thông tin.)

S-Edit sẽ xuất một netlist SPICE phân cấp vào tệp được chỉ định theo các quy tắc sau:

 Nếu một ô chứa thuộc tính SPICE.OUTPUT trên dạng xem biểu tượng của nó, S-
Edit sẽ diễn giải thuộc tính giá trị và ghi giá trị đã diễn giải của nó vào tệp, theo sau là
một dòng mới. S-Edit sẽ không tìm kiếm chế độ xem giản đồ của ô cho các trường hợp bổ
sung.

Nếu chế độ xem biểu tượng của ô không chứa thuộc tính SPICE.OUTPUT, S-Edit:

 Viết một cuộc gọi mạch con với tên của ô được cài đặt sẵn.
 Viết định nghĩa mạch con bằng cách kiểm tra các ô được hiển thị trên các hình
chiếu giản đồ theo bảng chữ cái đặt hàng và viết ra từng trường hợp mà nó gặp phải.

26
 Tạo các dòng .subckt và .ends chính xác bao quanh mỗi mạch con. Bạn không thể
tùy chỉnh các dòng .subckt hoặc .ends; tuy nhiên, bạn có thể thay đổi thứ tự các cổng
không phải toàn cầu bằng văn bản.
 Nếu một ô chứa các cá thể nhưng không có cổng hoặc mạng toàn cục được truyền,
S-Edit sẽ tạo ra một mạch con cuộc gọi không có cổng.
 Nếu một ô không chứa cá thể nhưng có chứa các cổng hoặc mạng toàn cục được
truyền, S-Edit sẽ ghi rằng ô vào danh sách mạng dưới dạng một mạch con trống.
 Nếu một ô không chứa cá thể, cổng hoặc mạng toàn cục được truyền, S-Edit sẽ bỏ
qua cá thể đó.
 S-Edit ghi ô cấp cao nhất làm mạch chính. Nó là khối cuối cùng của mạch S-Edit
ghi vào tập tin .
 Thuộc tính có giá trị null không được xuất.

S-Edit sẽ nối bất kỳ thuộc tính nào trên biểu tượng mạch con ngoại trừ các thuộc tính đầu
ra cho mạch con khối định nghĩa như các tham số của mạch con.

8.10.2 Thuộc tính OUTPUT sử dụng TC

Thuộc tính SPICE.OUTPUT được sử dụng để kiểm soát cách các thể hiện được ghi vào
netlist SPICE. Trong đặc biệt, thuộc tính đầu ra SPICE được sử dụng để kiểm soát cách
các thiết bị đầu cuối, tên mô hình và thuộc tính được viết bằng thiết bị hoặc mạch phụ.
Giá trị của thuộc tính đầu ra SPICE có thể chứa biểu thức tham chiếu đến cổng, biểu thức
TCL hoặc các thuộc tính khác. Giá trị của các biểu thức này sau đó được thay thế và kết
quả được xuất sang SPICE. Giá trị SPICE.DEFINITION luôn là được lấy từ biểu tượng,
không bao giờ từ phiên bản, ngay cả khi giá trị phiên bản mới hơn.

Đánh giá là một quá trình hai bước trong đó các thuộc tính đầu tiên được thay thế sau đó
mã TCL nội tuyến được thực thi.

Một ngôn ngữ tương đương với ngôn ngữ thuộc tính chung được sử dụng cho đầu ra
SPICE. Niềng răng là tùy chọn, và nên được sử dụng khi tên thuộc tính có khoảng trắng
hoặc khi tiếp giáp một thứ gì đó ngay sau mã thông báo. S-Edit tìm kiếm thuộc tính người
dùng trước tiên, sau đó là thuộc tính hệ thống. Những điều sau đây có thể được sử dụng:

%{N} Thay thế tên mạng được kết nối với chân
N. Tham chiếu đến một chân không tồn

27
tại trong .OUTPUT được tham chiếu đến
một thuộc tính tại cùng một mức trên
phiên bản.

${P} Thay thế giá trị của thuộc tính P trên cùng
một trường hợp với Thuộc tính
SPICE.OUTPUT.

?{P} Chỉ trở thành P và tham chiếu thuộc tính P


trực tiếp ở trên trong hệ thống cấp bậc

@{P} Chỉ trở thành P và tham chiếu đến thuộc


tính P ở trên trong hệ thống phân cấp, tìm
kiếm từ đầu cấu trúc phân cấp. xuống cho
đến khi giá trị là đạt.

%% Một lối tắt cho tất cả các mạng được kết


nối với các cổng của thiết bị trong Lệnh
"Tannerbetical". (Xem “Thứ tự sắp xếp
theo tannerbetical” trên trang 180.)

$$ Một phím tắt cho tất cả các thuộc tính


IsInterface = True của thiết bị.

[ string ] Chuyển chuỗi có trong dấu ngoặc tới trình


thông dịch TCl cho đánh giá. Sử dụng dấu
ngoặc trống [] để trả về một chuỗi trống
nếu SPICE đầu ra không được mong
muốn.

Nếu thuộc tính SPICE.OUTPUT không được yêu cầu và không có, thì một lệnh gọi mạch
phụ SPICE sẽ được phát ra, và tất cả các thuộc tính giao diện được thêm vào. Nếu
SPICE.OUTPUT hiện diện, nhưng mở rộng thành một chuỗi trống, không có đầu ra nào
được ghi.

8.10.3 .PRIMITIVE property (Thuộc tính .PRIMITIVE)

28
Thuộc tính SPICE.PRIMITIVE thuộc tính có giá trị TRUE trên một bản sao khiến quá
trình truyền tải dừng lại ở cấp này của hệ thống phân cấp (tức là trang sơ đồ KHÔNG
được xuất, cũng như không có bất kỳ dòng con nào được nâng cấp trong nó), và không có
định nghĩa nào được viết cho ký hiệu được đề cập.

8.10.4 .ORDER property (Thuộc tính .ORDER)

Thuộc tính SPICE.ORDER với các giá trị số thực trên một phiên bản kiểm soát thứ tự
tương đối trong đó Các câu lệnh SPICE được phát ra. Các phiên bản được viết bằng giá
trị SPICE.ORDER tăng dần. SPICE.ORDER có thể là một đôi. (Xem thêm “Thứ tự sắp
xếp theo tannerbetical” trên trang 180).

8.10.5 .DEFINITION propert (Thuộc tính .DEFINITION)

Thuộc tính SPICE.DEFINITION được sử dụng trong định nghĩa của một mạch con.
Thông thường, đây là một “.Subckt”, với một số tập hợp con các tham số như được hiển
thị bên dưới

.SUBCKT name pin1 [pin2 ...] [par1=val1 par2=val2 ...]

.ENDS [name]

Giá trị SPICE.DEFINITION luôn được lấy từ biểu tượng, không bao giờ lấy từ một thể
hiện. S-Edit sẽ mất thuộc tính biểu tượng và bỏ qua thuộc tính cá thể bị ghi đè.

Thuộc tính điều khiển SPICE nhanh

Ngoài ra, bạn có thể sử dụng các thuộc tính điều khiển sau mà không yêu cầu cú pháp đầy
đủ của Thuộc tính .OUTPUT và .DEFINITION.

Nếu có xung đột, SPICE.OUTPUT chiếm ưu thế trừ khi một chuỗi chứa %% hoặc $$.
Nếu là hiện tại, S-Edit tìm kiếm một thứ tự ghim để sử dụng nếu nó tồn tại, nếu không, tất
cả các ghim sẽ bị ghi ra ngoài. Tương tự, $$ kích hoạt tìm kiếm danh sách tham số; nếu
một trong những không được tìm thấy tất cả các tham số được viết ra.

8.10.6 .PREFIX property (Thuộc tính .PREFIX)

Thuộc tính SPICE.PREFIX được sử dụng để tự động chỉ định tiền tố khi viết một thể
hiện. Vì ví dụ, SPICE.PREFIX cho MOSFET sẽ là:

SPICE.PREFIX = M

29
8.10.7 .PINORDER property (Thuộc tính .PINORDER)

Thuộc tính SPICE.PINORDER được sử dụng để chỉ định danh sách các chân được ghi
cho một thiết bị hoặc mạch phụ ví dụ và định nghĩa mạch con. Danh sách mã pin cho
MOSFET sẽ là:

SPICE.PINORDER = D G S B

Phải được viết trong danh sách ghim với một phạm vi được chỉ định ở định dạng <start:
stop> hoặc <start: stop: step>. Thứ tự của xe buýt phải giống với thứ tự pin. Ví dụ, một
biểu tượng với bus đầu vào IN <0: 7>, bus đầu ra OUT <0: 7> và các kết nối VDD và
GND:

SPICE.PINORDER = IN OUT VDD GN

tương đương với việc chỉ định điều sau trong thuộc tính SPICE.OUTPUT:

% {IN <0: 7>}% {OUT <0: 7>}% {VDD}% {GND}

8.10.8 .MODEL property(Thuộc tính .MODEL)

Thuộc tính SPICE.MODEL được sử dụng để chỉ định tên kiểu máy được viết cho thiết bị
hoặc mạch phụ ví dụ, hoặc cho một định nghĩa mạch con. Giá trị này được đánh giá và
viết ra.

Ví dụ: sử dụng phần sau để viết NMOS làm tên kiểu máy:

SPICE.MODEL = NMOS

Hoặc, sử dụng phần sau để viết giá trị của tên mô hình thuộc tính.

SPICE.MODEL = $modelname

8.10.9 .PARAMETERS property (Thuộc tính .PARAMETERS)

Thuộc tính SPICE.PARAMETERS được sử dụng để chỉ định danh sách các tham số được
viết cho một thiết bị hoặc ví dụ về mạch con, và cả định nghĩa về mạch con.
SPICE.PARAMETERS là một danh sách các tham số, như :

SPICE.PARAMETERS = Prop1= Prop2= Prop3= …

Danh sách các tham số này sẽ được viết là:

Prop1=Prop1_value Prop2=Prop2_value Prop3=Prop3_value

30
Các quy tắc sau áp dụng cho SPICE.PARAMETERS:

 Một dấu gạch chéo ngược không nên được sử dụng làm dấu phân tách đường dẫn
trong S-Edit, vì người đánh giá sẽ xử lý nó như một nhân vật chạy trốn. Dấu phân cách
đường dẫn phải là dấu gạch chéo về phía trước hoặc dấu gạch chéo ngược kép.
 Dấu “=” sau tên thuộc tính cho biết rằng thuộc tính sẽ được viết là PropName =
PropValue.
 “$” Sau tên thuộc tính cho biết rằng chỉ có giá trị thuộc tính mới được ghi.
 Dấu “~” sau tên thuộc tính chỉ ra rằng thuộc tính sẽ được viết là PropName =
PropValue nếu giá trị thuộc tính không phải là giá trị (biểu tượng) mặc định. Nếu giá trị
thuộc tính là giá trị mặc định, thì không có gì được viết.
 Các ký tự “=” hoặc “$” có thể được xuất ra bằng cách sử dụng “\” làm ký tự thoát.
“\ =” Đầu ra “=” và “\ $” đầu ra “$”.
 Nếu giá trị không tồn tại (chuỗi trống) thì không có gì được xuất cho tham số đó.
(Điều này giúp loại bỏ cần viết thuộc tính bằng lệnh “se”.)
 Nếu giá trị là một biểu thức (các toán tử “+”, “-”, “*” hoặc “/”) thì giá trị được đặt
trong một dấu ngoặc kép.

* Instance Calls:
Khi viết một phiên bản, Nếu SPICE.OUTPUT không tồn tại, bạn có thể tạo một phiên
bản nội bộ như theo sau và sau đó viết ra SPICE.OUTPUT (do người dùng chỉ định hoặc
được xây dựng bên trong) theo các thay thế được liệt kê.

SPICE.OUTPUT = ${SPICE.PREFIX}${Name} %% ${SPICE.MODEL} $$

Ở đó:

[1] Nếu SPICE.PREFIX không tồn tại, thì hãy sử dụng ‘X’.

[2] Nếu %% tồn tại trong SPICE.OUTPUT thì nếu danh sách SPICE.PINORDER cũng
tồn tại, hãy sử dụng nó để mở rộng %%. Nếu không, hãy viết tất cả các chân theo thứ tự
Tannerbetical.

[3] Nếu SPICE.MODELdoes không tồn tại, hãy sử dụng “MasterCell”

31
[4] Nếu $$ tồn tại trong SPICE.OUTPUT thì nếu danh sách SPICE.PARAMETERS tồn
tại, hãy sử dụng nó để mở rộng $$, nếu không thì viết tất cả các thuộc tính với
IsInterface = True cho $$.

Để có hiệu suất tốt hơn, nếu giá trị của thuộc tính được ghi là giá trị mặc định, thì không
ghi nó ra ngoài.

8.10.10 Định nghĩa mạch con

Nếu SPICE.DEFINITION không tồn tại, hãy xây dựng một bên trong như hình bên
dưới, sau đó viết ra định nghĩa (hoặc do người dùng chỉ định hoặc định nghĩa được xây
dựng nội bộ) với các thay thế sau:

SPICE.DEFINITION = .subckt ${SPICE.MODEL} %% $$

Ở đó:

[1] Nếu SPICE.MODEL không tồn tại, hãy sử dụng “MasterCell”

[2] Nếu %% tồn tại trong SPICE.DEFINITION thì nếu danh sách SPICE.PINORDER
tồn tại, hãy sử dụng nó để mở rộng %%, nếu không thì viết tất cả các chân theo thứ tự
Tannerbetical

[3] Nếu $$ tồn tại trong SPICE.DEFINITION thì nếu danh sách SPICE.PARAMETERS
tồn tại, hãy sử dụng nó để mở rộng $$, nếu không thì viết tất cả các thuộc tính với
IsInterface = True cho $$.

8.11 Thuộc Tính PARAMETERS

SPICE.PARAMETERS được sử dụng để chỉ định danh sách các tham số được viết cho
một thiết bị hoặc
trường hợp mạch con và cũng để định nghĩa mạch con. SPICE.PARAMETERS là một
danh sách các tham số, chẳng hạn như:
SPICE.PARAMETERS = Prop1= Prop2= Prop3= …
Danh sách các tham số này sẽ được viết dưới dạng:
 Một dấu gạch chéo ngược không nên được sử dụng làm dấu phân cách đường dẫn
trong S-Edit, vì trình đánh giá sẽ coi nó như một ký tự thoát. Dấu phân cách đường dẫn
phải là dấu gạch chéo về phía trước hoặc dấu gạch chéo ngược kép.
 Dấu “=” sau tên thuộc tính cho biết rằng thuộc tính sẽ được viết là PropName =
PropValue.
 “$” Sau tên thuộc tính cho biết rằng chỉ có giá trị thuộc tính mới được ghi.

32
 Dấu “~” sau tên thuộc tính chỉ ra rằng thuộc tính sẽ được viết là PropName =
PropValue nếu giá trị thuộc tính không phải là giá trị (biểu tượng) mặc định. Nếu giá trị
thuộc tính là giá trị mặc định, thì không có gì được ghi.
 Các ký tự “=” hoặc “$” có thể được xuất ra bằng cách sử dụng “\” làm ký tự thoát.
“\ =” Đầu ra “=” và “\ $” đầu ra “$”.
 Nếu giá trị không tồn tại (chuỗi trống) thì không có gì được xuất cho tham số đó.
(Điều này giúp loại bỏ sự cần thiết phải viết các thuộc tính bằng lệnh “se”.)
 Nếu giá trị là một biểu thức (các toán tử “+”, “-”, “*” hoặc “/”) thì giá trị được đặt
trong đơn dấu nháy.
*Instance Calls
Khi viết một phiên bản, Nếu SPICE.OUTPUT không tồn tại, bạn có thể tạo một phiên
bản bên trong như sau và sau đó viết ra SPICE.OUTPUT (do người dùng chỉ định hoặc
được xây dựng bên trong) theo các thay thế được liệt kê.
SPICE.OUTPUT = $ {SPICE.PREFIX} $ {Name} %% $ {SPICE.MODEL} $$
Trong đó:
[1] Nếu SPICE.PREFIX không tồn tại, hãy sử dụng 'X'.
[2] Nếu %% tồn tại trong SPICE.OUTPUT thì nếu danh sách SPICE.PINORDER cũng
tồn tại, hãy sử dụng nó để mở rộng %%.
[3] Nếu không, hãy viết tất cả các chân theo thứ tự Tannerbetical.
[4] Nếu SPICE.MODELdoes không tồn tại, hãy sử dụng “MasterCell”
[5] Nếu $$ tồn tại trong SPICE.OUTPUT thì nếu danh sách SPICE.PARAMETERS ,
hãy sử dụng nó để mở rộng $$,nếu không hãy viết tất cả các thuộc tính với IsInterface =
True cho $$.
Để có hiệu suất tốt hơn, nếu giá trị của thuộc tính được ghi là giá trị mặc định, thì không
ghi nó ra ngoài.
8.11.1 Định nghĩa mạch con

Nếu không tồn tại SPICE.DEFINITION, hãy xây dựng một định nghĩa bên trong như
hình dưới đây, sau đó viết định nghĩa (hoặc do người dùng chỉ định hoặc một định nghĩa
được xây dựng bên trong) với các thay thế sau:
SPICE.DEFINITION = .subckt $ {SPICE.MODEL } %% $$
Trong đó:
[1] Nếu SPICE.MODEL không tồn tại, hãy sử dụng “MasterCell”
[2] Nếu %% tồn tại trong SPICE.DEFINITION thì nếu danh sách SPICE.PINORDER
tồn tại, hãy sử dụng nó để mở rộng %%, nếu không thì ghi tất cả các chân theo thứ tự
Tannerbetical.

33
[3] Nếu $$ tồn tại trong SPICE.DEFINITION thì nếu danh sách SPICE.PARAMETERS
tồn tại, hãy sử dụng nó để mở rộng $$,nếu không hãy viết tất cả các thuộc tính với
IsInterface = True cho $$.
8.11.2 Các ví dụ về đầu ra SPICE

Ví dụ 1: MOSFET
Một biểu tượng MOSFET thường sẽ có các thuộc tính sau:
SPICE.OUTPUT = M $ {Name}% D% G% S% B $ MODEL W = $ WL = $ L AS = $
AS AD = $ AD PS = $ PS
PD = $ PD
SPICE.PRIMITIVE = true
Biểu tượng cũng sẽ thường có các thuộc tính cho MODEL, W, L, AS, AD, PS, PD. Hãy
xem xét một ví dụ
của MOSFET với các thuộc tính sau:
MODEL = PMOS
W = '24 * l '
L =' 2 * l '
AS =' 114 * l * l '
AD = '72 * l * l'
PS = '60 * l '
PD = '30 * l'
Tên của đối tượng là P4, và các chân cống, cổng, nguồn và số lượng lớn của đối tượng
được kết nối với
tương ứng QB, Q, Vdd và Vdd.
Khi câu lệnh đầu ra SPICE ở trên được đánh giá, các bước sau sẽ xảy ra:
[1] Đối với $ Name, hãy thay thế giá trị của thuộc tính “Name” nằm trên cùng một
trường hợp với thuộc tính SPICE.OUTPUT. Thuộc tính “Name” thường không tồn tại
dưới dạng thuộc tính người dùng, nhưng tồn tại dưới dạng thuộc tính hệ thống và là tên
của phiên bản, trong trường hợp này là P4.
[2] Đối với% D% G% S% B, hãy thay thế tên của các lưới được kết nối với các cổng D,
G, S và B của ví dụ, trong trường hợp này là QB, Q, Vdd, Vdd.
[3] Đối với $ MODEL W = $ WL = $ L AS = $ AS AD = $ AD PS = $ PS PD = $ PD,
thay thế các giá trị của các thuộc tính này.
Sau đó, câu lệnh thiết bị SPICE được viết cho trường hợp này sẽ là:

34
MP4 QB Q Vdd Vdd PMOS W = '24 * l 'L =' 2 * l 'AS =' 114 * l * l 'AD = '72 * l * l' PS
= '60 * l '
PD = '30 * l'
Thuộc tính SPICE.PRIMITIVE = true ngăn không cho ghi định nghĩa mạch con cho
MOSFET.
Ví dụ 2: MOSFET với sự thay thế thuộc tính
Hãy xem xét lại thuộc tính SPICE.OUTPUT cho một MOSFET:
SPICE.OUTPUT = M $ {Name}% D% G% S% B $ MODEL W = $ WL = $ L AS = $
AS AD = $ AD PS = $ PS
PD = $ PD
Trong ví dụ trên, bản thân các thuộc tính MODEL, W, L, AS, AD, PS, PD có thể sử dụng
chung ngôn ngữ thuộc tính. Ví dụ: các thuộc tính sau tồn tại trên một phiên bản
MODEL = PMOS
W = '? Width'
L = '2u'
AS = '$ W * 3u'
AD = '$ W * 3u'
PS = '2 * $ W + 6u'
PD = '2 * $ W + 6u'
Và thuộc tính Width = 20u tồn tại trên phiên bản của ô chứa MOSFET. Sau đó,
câu lệnh thiết bị SPICE được viết cho trường hợp này sẽ là:
MP_4 QB Q Vdd Vdd PMOS W = '20u' L = '2u' AS = '20u * 3u' AD = '20u * 3u' PS = '2
* 20u +
6u 'PD =' 2 * 20u + 6u '
Ví dụ 3: Đầu ra có điều kiện
Trong ví dụ trên, các thuộc tính được giả định là luôn tồn tại. Nếu một thuộc tính không
tồn tại, sự thay thế sẽ dẫn đến một chuỗi trống. Điều này có thể tạo ra các kết quả không
mong muốn trong đầu ra SPICE, chẳng hạn như “AD =” nếu không có giá trị nào cho
AD.
Lệnh TCL có thể được chèn vào chuỗi đầu ra SPICE bằng cách đặt lệnh TCL trong dấu
ngoặc vuông. Lệnh xây dựng trong TCL “se” thực hiện đánh giá có chọn lọc và có thể
được sử dụng để thực hiện đầu ra có điều kiện, như trong thuộc tính SPICE.OUTPUT
bên dưới:
SPICE.OUTPUT = M $ {Name}% D% G% S% B $ MODEL W = $ WL = $ L [se $ AS
{AS = $ AS}] [
se $ AD {AD = $ AD}] [se $ PS {PS = $ PS}] [se $ PD {PD = $ PD}]
Ở đây, nếu thuộc tính $ AS được phân giải với giá trị AS_value, thì [se $ AS {AS = $
AS}] sẽ trả về
AS = AS_value. Nếu $ AS không giải quyết được bất kỳ điều gì, vì thuộc tính AS không
tồn tại, thì [se$ AS {AS = $ AS}] sẽ trả về một chuỗi trống.
Ví dụ 4: Điều khiển đầu ra của
mạch con Thuộc tính SPICE.OUTPUT cũng có thể được sử dụng để điều khiển đầu ra
của các mạch con, cũng như của các thiết bị nguyên thủy. Nếu không có câu lệnh đầu ra

35
SPICE nào tồn tại trên một cá thể, thì cá thể đó được viết dưới dạng khởi tạo mạch con,
với tiền tố “X” và tất cả các thuộc tính được đánh dấu là thuộc tính giao diện thuộc
tính(phụ IsInterface = true) được viết ra.
Nếu cần, đầu ra có thể được chỉ định rõ ràng:

SPICE.OUTPUT = X $ {Name} %% $ {MasterCell} P1 = $ P1 P2 = $ P2


Ở đây Name và MasterCell là thuộc tính hệ thống đề cập đến tên phiên bản và tên ô
tương ứng. %% xuất ra tất cả các mạng được kết nối với các cổng của mạch phụ.
Ví dụ 5: Khối
Tiêu đề một khối tiêu đề là một thể hiện được sử dụng để hiển thị thông tin về một ô. Nó
tham chiếu đến các thuộc tính và hiển thị thông tin về ô mà nó được thể hiện. Một khối
tiêu đề thường sẽ có các thuộc tính:
Cell =? {Cell}
Info =? {Info}
Author =? {Author}
SPICE.OUTPUT = []
SPICE.PRIMITIVE = true
Khối tiêu đề sử dụng các thuộc tính với? tham chiếu để tham chiếu đến các thuộc tính ô
mẹ.Giá trị SPICE.OUTPUT [] được sử dụng để trả về một chuỗi rỗng, trong trường hợp
này vì Spice đầu ra không mong muốn cho trường hợp này.

8.11.3 Truyền thông số mạch con cho ô gốc

Khi bạn xuất một danh sách mạng SPICE, S-Edit có thể chuyển các giá trị của các thuộc
tính được chỉ định trong các ô cấp cao xuống hệ thống phân cấp thiết kế đến khối định
nghĩa mạch con của ô khởi tạo hoặc ổn định.
Một thuộc tính đủ điều kiện để truyền tham số mạch con khi nó đáp ứng các điều kiện
sau:
 Nó không xuất hiện trên biểu tượng của ô nguyên thủy - nghĩa là, một biểu tượng
chứa thuộc SPICE.OUTPUT tính.
 Nó không xuất hiện trên biểu tượng của ô cấp cao nhất.
 Tên của nó được liệt kê trong giá trị của thuộc SPICE.PARAMETER tính.
Các bước trong quy trình truyền tham số mạch con
[1] Mở ô cấp cao và chuyển sang chế độ xem biểu tượng, nếu cần. Thêm thuộc tính có
giá trị chứa tham số bạn muốn truyền xuống hệ thống phân cấp.
[2] Thêm thuộcSPICE.PARAMETER tínhcó giá trị chứa tên hoặc tên của các thuộc tính
bạn muốn chuyển vào mạch con.
[3] Chuyển sang chế độ xem giản đồ, chọn một phiên bản của ô mà bạn muốn truyền
tham số và thay thế giá trị của thuộc tính của ô gốc bằng tên của thuộc tính trong ô phiên
bản hoặc cấp cao, có giá trị của bạn. muốn truyền lại hệ thống phân cấp.
[4] Cuối cùng, xuất một danh sách mạng SPICE. S-Edit sẽ bao gồm các giá trị của thuộc
tính ô cấp cao trongô đẳng cấp khối định nghĩa mạch con của. Nó cũng sẽ ghi lại các ghi
đè giá trị thuộc tính trong các trường hợp.
8.11.4 Xuất kết nối nút toàn cầu

36
Khi S-Edit xuất một danh sách mạng SPICE, nó sẽ ghi ra các kết nối nút toàn cầu bằng
cách thêm các cổng “ẩn” vào biểu tượng của mỗi ô và các bản sao của biểu tượng đó. Do
đó, các kết nối toàn cầu tương thích với bất kỳ mô phỏng SPICE mà không cần sử dụng
các lệnh nút phức tạp.
Sau đây là đoạn trích từ tệp SPICE đã xuất có chứa các nút toàn cầu. Văn bản bị bỏ qua
được biểu thị bằng dấu chấm lửng (…). Định nghĩa mạch con cho OR2 liên quan đến các
nútngười dùng xác định A, Bvà Y do, và hai nút bổ sung, Gnd và Vdd, được tạo bởi S-
Edit để truyền các nút toàn cục tương ứng
vào các lệnh gọi tới mạch con OR2 bên trong định nghĩa của lõi.
.SUBCKT OR2 AB Gnd Vdd Y
M54 Y N8 Gnd Gnd NMOS W = 22u L = 2u AS = 66p AD = 66p PS = 24u PD = 24u
M55 Y N8 Vdd Vdd PMOS W = 22u L = 2u AS = 66p AD = 66p PS = 24u PD = 24u
M56 N8 B Gnd Gnd NMOS W = 22u L = 2u AS = 66p AD = 66p PS = 24u PD = 24u
M57 N8 A N11 Vdd PMOS W = 22u L = 2u AS = 66p AD = 66p PS = 24u PD = 24u
M58 N8 A Gnd Gnd NMOS W = 22u L = 2u AS = 66p AD = 66p PS = 24u PD = 24u
M59 N11 B Vdd Vdd PMOS W = 22u L = 2u AS = 66p AD = 66p PS = 24u PD = 24u
.ENDS
.SUBCKT core CLOCK DONT_EW ... YELLOW_EW YELLOW_NS
XAND2_1 N4 RED_NS Gnd Vdd GREEN_EW AND2
XOR2_1 TEST_POINT N5 Gnd Vdd N4 OR2
XAND2_2 N4 RED_EW Gnd Vdd GREEN_NS AND2
...
XDFFC1_7 RESETB CLOCK N66 Gnd N65 N66 Vdd DFFC1
.ENDS
8.11.5 Xuất tệp EDIF

S-Edit có thể xuất sơ đồ EDIF giữ lại hệ thống phân cấp, thuộc tính và tất cả văn bản. Sử
dụng Tệp> Xuất> Xuất lệnh EDIF. Nếu chế độ xem trên cùng để xuất là chế độ xem
SPICE, chỉ xuất danh sách mạng. Nếu không thì, xuất cả lược đồ và danh sách dòng.

To file Nhập hoặc duyệt tên của tệp EDIF sẽ được xuất.

37
Export source Chọn toàn bộ thiết kế và các thư viện của nó mà bạn
muốn xuất. Hoặc,chọn bắt đầu từ và sau đó chỉ định
kiểu Thiết kế, Ô, Dạng xem và Chế độ xem của chế độ
xem cấp cao nhất mà bạn muốn xuất .

Export libraries as Tham chiếu đầu ra-bên ngoài đến các cổng giao diện
trên thư việnthay vì toàn bộ thư viện.
Thư viện-xuất ra danh sách các ô có giao diện
Thư viện đơn - làm phẳng tất cả các ô của thư viện con
và các tham chiếu vào thiết kế ở cấp cao nhất được xuất,
không có thư viện bên ngoài hoặc người giới thiệu.

Export control property Nhập tên của thuộc tính có chứa .PRIMITIVE thuộc tính
phụ được sử dụng để dừng việc duyệt qua hệ thống phân
cấp thiết kế.

Xuất EDIF thông thường sẽ viết ra toàn bộ thiết kế ở mức độ đầy đủ của hệ thống phân
cấp. Để dừng xuất tại một phiên bản cụ thể, hãy đặt một thuộc tính có thuộc tính phụ
.PRIMITIVE có giá trị “true” trên biểu tượng của ô hoặc trên mỗi phiên bản của ô đó.
Nếu biểu tượng của ô chứa thuộc tính EDIF .PRIMITIVE = true, thì S-Edit:
 Viết định nghĩa ô EDIF cho ô mà không cần kiểm tra các trang sơ đồ của ô để biết
các trường hợp bổ sung. Định nghĩa ô sẽ chứa các cổng và cổng toàn cục.
 Xử lý ô như thể nó được dựng trong ô cấp cao nhất.
Nếu một ô không chứa thuộc tính EDIF PRIMITIVE = true trên trang biểu tượng của nó,
S-Edit sẽ kiểm tra tất cả giản đồ của ô và ghi từng trường hợp vào danh sách mạng.
 Nếu ô thể hiện không chứa cổng hoặc mạng toàn cục được truyền, S-Edit sẽ bỏ
qua phiên bản.
 Nếu ô thể hiện có chứa các cổng nhưng không có phiên bản nào, thì đó là một lỗi.
S-Edit viết một tin nhắn tới tệp netlist xác định ô có lỗi và nói rằng ô đó “yêu cầu định
nghĩa EDIF”. S-Chỉnh sửa cũng hiển thị một hộp thoại để cảnh báo bạn về lỗi.
 Sau khi viết tất cả các định nghĩa ô nguyên thủy, S-Edit sẽ viết một ô cấp cao nhất
chứa các phiên bản của tất cả nguyên thủy trong thiết kế và mạng lưới kết nối những
nguyên thủy này.
 S-Edit tạo ra các tên nút theo phạm vi, xác định duy nhất một nút bằng cách bao
gồm phân cấp của nó vị trí trong tên nút-ví dụ: inst1 / inst2 /.../ node_name, trong đó
inst1, inst2, v.v. là tên của các phiên bản theo thứ tự giảm dần từ cấp cao nhất của thiết kế
đến cấp của nút và node_name là tên của nút. Các tên nút cục bộ được xác định phạm vi
để hiển thị thứ bậc của các phiên bản từ cấp cao nhất đến cấp có chứa nút. Các tên nút
toàn cầu được đặt trong phạm vi hiển thị thứ bậc của các phiên bản từ ô chứa ký hiệu nút
toàn cục đến mức tại mà nút toàn cầu được giới hạn. Các nút toàn cầu chưa được khai

38
thác sẽ được viết mà không có phạm vi - nghĩa là, Gnd sẽ chỉ xuất hiện dưới dạng “Gnd”
trong tệp đầu ra.
 S-Edit sẽ tự động chuyển đổi bất kỳ tên nào không tương thích với các yêu cầu đặt
tên EDIF sang tên EDIF hợp pháp bằng cách sử dụng cấu trúc đổi tên.

Ví dụ
Tệp EDIF chỉ dành cho danh sách mạng kết thúc ở các ô tiêu chuẩn, thay vì ở cấp độ
bóng bán dẫn, là mong muốn khi bạn xuất EDIF cho vị trí và tuyến đường ô tiêu chuẩn.
Để làm điều này, hãy tạo một thuộc tính EDIF.PRIMITIVE = true (khoảng thời gian biểu
thị PRIMITIVE là thuộc tính phụ của EDIF) trên mỗi tiêu chuẩn biểu tượng ô, rồi nhập
EDIF làm thuộc tính Điều khiển xuất.
Thông thường, một giản đồ EDIF đi qua tất cả các đường xuống hệ thống phân cấp là kết
quả mong muốn khi bạn xuất EDIF để xem trong một công cụ khác. Trong trường hợp
này, hãy để trống thuộc tính Kiểm soát xuất

8.11.6 Xuất Tệp Xác Minh

To file Nhập hoặc duyệt qua tên của tệp netlist sẽ được xuất.

39
Các tệp hợp lệ loại là .v, .va và .verilog

Export source Nhập dạng xem thiết kế, ô và kết nối mà bạn muốn
xuất.

Export all cells Chọn hộp này để xuất tất cả các ô trong một thiết kế.

Additional commands Các thuộc tính trong trường này được viết nguyên văn
sau khối tiêu đề, trên một dòng đơn.
preceding netlist

Additional commands Các giá trị trong trường này được ghi ở cuối đầu ra Xác
minh.
following netlist

Options Sử dụng hộp kiểm Xuất các chân toàn cục trên các
khóa con để bỏ qua các cảng toàn cầu trong danh sách
ròng trong quá trình xuất khẩu để chúng không được
xuất dưới dạng thông số.

Export control property Nhập tên Thuộc tính có chứa thuộc tính phụ
.PRIMITIVE được sử dụng để dừng việc duyệt qua hệ
thống phân cấp thiết kế.

8.11.7 Thuộc tính kiểm tra Xuất Verilog

Trong một số trường hợp, bạn có thể muốn xác định một phần tử chứa chế độ xem giản
đồ dưới dạng yếu tố. Tình huống này thường xảy ra nhất với các thư viện ô tiêu chuẩn
chứa các ô có các sơ đồ mức bóng bán dẫn kèm theo.
Để xác định ô có chứa giản đồ dưới dạng nguyên thủy, chẳng hạn như ô NAND, hãy đặt
một thuộc tính trên biểu tượng của ô có thuộc tính con có tên là PRIMITIVE và giá trị là
TRUE, đồng thời xác định thuộc tính đó đặt tên là thuộc tính kiểm soát xuất trong hộp
thoại Export Verilog. Thông thường, bạn sẽ tạo một thuộc tính được gọi là VERILOG, có
GIỚI HẠN thuộc tính con và giá trị ĐÚNG, nhưng bất kỳ tên nào cũng có thể được sử
dụng tại chỗ của “VERILOG.
VERILOG.OUTPUT
Trình xuất Verilog được kiểm soát bởi một số thuộc tính người dùng bao gồm
VERILOG.OUTPUT, VERILOG.PRIMITIVE và VERILOG.DEFINITION. Phần
"VERILOG" của các thuộc tính này có thể được thay thế bằng tiền tố do người dùng

40
cung cấp trong hộp thoại Tệp> Xuất> Verilog. Lưu ý rằng VHDL và SPICE hoạt động
theo cùng một cách.
Tùy chọn đầu ra Verilog trong S-Edit tạo ra một lệnh gọi mạch con cho mọi cấp trong hệ
thống phân cấp thiết kế. Các ô S-Edit có ký hiệu nhưng không có sơ đồ nào được coi là
phần tử nguyên thủy và không có định nghĩa vềcác phần tử này được ghi vào tệp đầu ra
Verilog. Giả định rằng những yếu tố nguyên thủy này là được chứa trong các thư viện
Verilog do người dùng cung cấp, nếu chúng được yêu cầu.
Nếu một phiên bản chứa thuộc tính VERILOG.OUTPUT, thuộc tính này sẽ được đánh
giá và xuất sang tệp đầu ra Verilog, thay vì lệnh gọi mạch phụ mặc định. Trong trường
hợp đặc biệt của một chuỗi rỗng (có được bằng cách đặt giá trị thuộc tính thành [], giá trị
này đánh giá trong TCL là “không có gì”) không có ký tự xuống dòng nên được thêm vào
do đó nó như thể vật phẩm hoàn toàn không tồn tại. Giống như tất cả các thuộc tính của
người dùng, VERILOG.OUTPUT được kế thừa từ định nghĩa ký hiệu.
VERILOG.OUTPUT chủ yếu hữu ích để xuất nhận xét, tuyên bố chung và báo cáo đầu ra
mục đích đặc biệt. VERILOG.OUTPUT = [] cũng được sử dụng với
VERILOG.PRIMITIVE = true để ngăn ký hiệu hoặc ô (ví dụ: khối tiêu đề, điều khiển
SPICE ví dụ hoặc ô như VDD) từ được xuất.
Trình xuất Verilog nhận ra hai thuộc tính trên chế độ xem giản đồ và xuất giá trị của
chúng khi xuất Verilog. Giá trị của VERILOG.PROLOG, tương tự như
Spice.General.Additional Commands, được viết nguyên văn sau khối tiêu đề, trên một
dòng. Ví dụ: bạn có thể sử dụng nó để hướng dẫn Verilog netlister để thêm một tuyên bố
về tỷ lệ thời gian khi lập danh sách ròng. VERILOG.EPILOG xuất giá trị tại kết thúc
xuất.
VERILOG.DEFINITION
Nếu một biểu tượng chứa thuộc tính VERILOG.DEFINITION, thuộc tính đó được đánh
giá và xuất, một thời gian, như một định nghĩa. Điều này chủ yếu hữu ích cho việc đưa
vào có điều kiện các tệp và / hoặc các mô hình bên ngoài.
VERILOG.MODEL
Cuối cùng, chúng tôi có một thuộc tính VERILOG.MODEL được đánh giá và sử dụng để
thay thế tên ô trong cả định nghĩa và từng trường hợp, trừ khi
VERILOG.PRIMITIVE, .DEFINITION hoặc .OUTPUT thuộc tính tồn tại — nếu có,
chúng sẽ được ưu tiên.
8.12 Xuất tệp VHDL

Lưu ý rằng theo mặc định, vi phạm ánh xạ cổng VHDL được đặt thành Bỏ qua

41
file Nhập hoặc duyệt qua tên của tệp netlist sẽ được xuất

Nguồn xuất Nhập Dạng xem thiết kế , ô và kết nối mà bạn muốn


xuất.

Tùy chọn Chọn hộp để Loại trừ các chân chung trên các mạch
con khỏi

xuất khẩu.

Xuất thuộc tính kiểm soát Nhập tên Thuộc tính có chứa thuộc tính phụ
.PRIMITIVE được sử dụng để dừng truyền qua hệ
thống phân cấp thiết kế

* Kiểm tra Xuất VHDL


S-Edit sẽ viết thông tin kết nối trong một thiết kế ở định dạng VHDL theo như sau:
(xem thêm “Thuộc tính Kiểm soát Hành vi Xuất Verilog” trên trang 194 ):

 Nếu một ô thể hiện có chứa thuộc tính VHDL.PRIMITIVE trên chế độ xem biểu
tượng của nó, S-Edit sẽ viết một kiến trúc trống VHDL, bạn có thể chỉnh sửa trong mã

42
VHDL thành cung cấp một định nghĩa về cấu trúc. S-Edit sẽ không tìm kiếm thêm các
chế độ xem giản đồ của ô các trường hợp.

 Để ngăn biểu tượng hoặc ô, ví dụ như khối tiêu đề hoặc phiên bản điều khiển
SPICE hoặc các ô như VDD, từ khi được xuất, hãy sử dụng VHDL.PRIMITIVE =
true để không tạo định nghĩa và VHDL.OUTPUT = [] nên một lệnh gọi mạch con
không được tạo ra.

Nếu chế độ xem biểu tượng của ô thể hiện không chứa thuộc tính VHDL.PRIMITIVE, S-
Edit:

 Viết một cấu trúc cấu trúc với tên của ô được cài đặt sẵn.

 Viết một cấu trúc cấu trúc bằng cách kiểm tra các ô được hiển thị trên các khung
nhìn sơ đồ và viết ra từng phiên bản mà nó gặp phải, cộng với khả năng kết nối của phiên
bản, để bạn có thể thuận tiện cung cấp một mô tả trong VHDL.

 Với các cổng VHDL được định nghĩa là cổng tín hiệu std_logic.

 Nếu một ô phiên bản nâng cao không chứa phiên bản nào, S-Edit sẽ bỏ qua phiên
bản. Nếu một ô phiên bản nâng cao chứa các cổng nhưng không có phiên bản nào, S-Edit
sẽ báo hiệu lỗi và ghi ô vào netlist như một thực thể có kiến trúc cấu trúc trống. S-Edit
ghi ô cấp cao nhất dưới dạng thực thể cấp cao nhất trong tệp VHDL.

Ghi chú:
Không giống như các định dạng danh sách mạng khác, danh sách mạng VHDL yêu cầu ô
cấp cao nhất có chế độ xem biểu tượng hợp lệ, với các cổng tương ứng với các cổng sơ
đồ của nó. Thông tin này được sử dụng để xác định thực thể cấp cao nhất.

8.13 Xuất tệp TPR

TPR là một định dạng netlist phẳng mà bạn có thể sử dụng để đặt và định tuyến thiết kế
của mình trong L-Edit.

43
Nộp Nhập hoặc duyệt qua tên của tệp netlist sẽ
được xuất.

Nguồn xuất Nhập Thiết kế , Ô và Dạng xem bạn


muốn xuất.

Xuất thuộc tính kiểm soát Nhập tên của thuộc tính đầu ra, thường chỉ
cần TPR.

Nếu một ô thể hiện có chứa thuộc tính TPR.OUTPUT, S-Edit sẽ tạo ra một danh sách
mang theo các quy tắc sau đây. Nó sẽ không kiểm tra giản đồ để tìm các trường hợp bổ
sung.

 Thuộc tính .OUTPUT có thể nhận hai giá trị, “C” và “CP”, trong đó “CP” được sử
dụng riêng cho ô đệm. Chúng phải có một thiết bị đầu cuối gọi là “Pad”.

 S-Edit tạo ra hai dòng cho ô và ghi chúng vào tệp. Dòng đầu tiên cho biết chính
thức các tham số cho ô thể hiện và dòng thứ hai cho biết giá trị của các tham số chính
thức tới tên nút trong trường hợp.

 S-Edit sẽ không tạo các cổng nút toàn cục cho ô.

44
 Thuộc tính TPR.OUTPUT có thể có bất kỳ tiền tố nào, sau đó được nhập vào điều
khiển Xuất

 S-Edit tạo ra các tên có phạm vi xác định duy nhất một cá thể bằng cách bao gồm
phân cấp chức vụ của nó. (Ví dụ: top / cell1 / cell2 /.../ instance_name, trong đó cell1,
cell2, v.v. là tên của các ô theo thứ tự giảm dần từ cấp cao nhất của thiết kế đến cấp có
chứa phiên bản.) Tên biểu tượng toàn cục được xác định phạm vi để hiển thị thứ bậc của
các thể hiện từ ô chứa biểu tượng toàn cầu đến mức mà mạng toàn cầu được giới
hạn. Lưới toàn cầu chưa được khai thác sẽ được viết không có phạm vi — nghĩa là, Gnd
sẽ chỉ xuất hiện dưới dạng “Gnd” trong tệp đầu ra.
Các phiên bản có TPR.OUTPUT = < giá trị trống > không được xuất.
 Nếu một ô thể hiện không chứa thuộc tính TPR.OUTPUT trên dạng xem biểu
tượng của nó, thì S-Edit sẽ tiếp tục để kiểm tra tất cả các ô theo thứ tự bảng chữ cái và
ghi từng trường hợp vào danh sách mạng.

 Nếu ô thể hiện không chứa cổng hoặc lưới toàn cục được truyền, S-Edit sẽ bỏ qua
cá thể đó.
 Nếu ô thể hiện không chứa cá thể nhưng có chứa các cổng, thì đó là một lỗi. S-
Edit viết một thông báo tới tệp netlist xác định ô có lỗi và nói rằng ô đó “yêu cầu TPR
Định nghĩa." S-Edit cũng hiển thị một hộp thoại cảnh báo lỗi.

*Định dạng tệp TPR

Tệp TPR là tệp văn bản ASCII được tạo tự động bởi S-Edit; chúng cũng có thể được tạo
ra với bất kỳ trình soạn thảo văn bản nào.

Cú pháp
Một phần của tệp netlist .tpr cho ví dụ về bargraph được hiển thị bên dưới.
Trong hai dòng trên, DataIn , DataInB và DataInUnBuf là tên của các cổng trong ô pad
PadInC (PortList). N68 , IPAD_9 / N2 và IPAD_9 / N1 là tên của các lưới được gắn vào
các cổng này(Đường dây). PAD_L9_SCO là tên được đặt cho vùng đệm. L9 xác định vị
trí của pad như là pad thứ chín từ trên cùng bên trái của padframe. Trong ba dòng
trên, A , B , Out và Sel là các cổng trong ô tiêu chuẩn Mux2 (PortList).
BARGRAPH_1 / BG64_1 / BG4_1 / N118 , BARGRAPH_1 / BG64_1 / BG4_1 /
N108 , N62 , BARGRAPH_1 / BG64_1 / S11 là tên của các lưới được gắn vào các cổng
này (NetList). Lưu ý rằng những mạng này tên bao gồm cấu trúc phân cấp của giản
đồ. Đây là cách mà S-Edit tạo ra Netlist .tpr "phẳng" . Dấu cộng ( + ) biểu thị sự tiếp tục
của dòng trước đó.

Các ô đệm được xác định theo định dạng:


Dòng bình luận
$ TPR được viết bởi trình biên tập giản đồ Tanner Research, S-Edit

45
$ Phiên bản: 2.0 Beta 5 ngày 7 tháng 1 năm 1998 16:07:16
Định nghĩa ô đệm
Định nghĩa phiên bản
CP PadOut DataOut Pad;
UPadOut_1 N2 PAD_B1_L31;
:
CP PadInC DataIn DataInB DataInUnBuf Pad;
UPadInC_1 N68 IPAD_9 / N2 IPAD_9 / N1 PAD_L9_SCO;
:
Đệm đất
CP PadGnd Pad;
UPadGnd_1 PAD_R8_GND;
Bàn phím điện
CP PadVdd Pad;
UPadVdd_1 PAD_L6_VDD;
:
Định nghĩa ô
Định nghĩa phiên bản
C INV A Ra;
UINV_3 BARGRAPH_1 / BG64_2 / N9 BARGRAPH_1 / BG64_2 / SFT3;
:
C Mux2 AB Hết Sel;
UMux2_1 BARGRAPH_1 / BG64_1 / BG4_1 / N118 BARGRAPH_1 / BG64_1 /
BG4_1 / N108
N62
+ BARGRAPH_1 / BG64_1 / S11;
CP <tên bàn phím> <pin1> <pin2> … Pad
U <gateUID> <net1> <net2> … Pad_ <PadPosition>
Các ô tiêu chuẩn được xác định theo định dạng:
C <tên máy> <pin1> <pin2> …
U <gateUID> <net1> <net2> …

Một .tpr tập tin phải phù hợp với các quy tắc sau:

 Tất cả các tín hiệu được định tuyến trong lõi hoặc từ lõi đến khung đệm được yêu
cầu được liệt kê, ngoại trừ các kết nối tín hiệu Vdd và Gnd đến các tấm đệm.

 Đối với mỗi ô, PortList và NetList phải có cùng số phần tử.

46
 Tên “PAD” trong PortList của ô pad đề cập đến vùng liên kết thực tế của pad và là
không thực sự tham gia vào quá trình sắp xếp và định tuyến. Các ô đệm phải có tín
hiệu được đánh dấu"TẬP GIẤY."
 Vùng liên kết của miếng đệm có thể chứa vị trí của miếng đệm trên khung đệm. Ví
dụ, “B1” là viết tắt của phần đệm ngoài cùng bên trái ở phía dưới cùng của khung đệm (L
= Left, B = Bottom, R = Đúng, T = Top).
 Nguồn điện và tấm lót tiếp đất không cần phải có trong danh sách mạng. Nếu
chúng không được bao gồm, SPR sẽ đặt chúng tự động. Các phần được liệt kê trong tệp
phải khớp với các ô có trong thư viện bố cục. Để phù hợp, tên của phần phải giống với
tên của ô thư viện (trừ trường hợp) và mọi tín hiệu được liệt kê trong mô tả phần phải có
ít nhất một cổng cùng tên ở đâu đó trong ô thư viện.

47

You might also like