Metastability và mô phỏng

N

navi_s

Guest
Xin chào,

Tôi có một câu hỏi.Làm thế nào bạn mô phỏng ở hai ví dụ quá trình không đồng bộ, và làm thế nào bạn tránh "X" tuyên truyền vấn đề xảy ra khi metastability?

Cảm ơn bạn đã cho câu trả lời của bạn.

BR

 
Vì vậy, ý tưởng của tôi là những gì.Khi mô phỏng là chạy, và bạn có quá trình không đồng bộ, VERI thường là xảy ra rằng một số thiết lập hay tổ chức vi phạm xảy ra.Khi nó xảy ra, thông thường các Flip-Flop của đi vào "nhà nước" X.Và nếu "X" là được nhân đôi khi gây ra không mong muốn hành vi mạch.
Vì vậy, câu hỏi là cách bạn tránh điều này "X" tuyên truyền.

BR

 
có thể có một số giải pháp ......
1.không để tình trạng như vậy xảy ra, sử dụng synchronizers tại chỗ thực hành. (trên thực tế điều này là tốt nhất)
2.kiểm tra thư viện của bạn thất bại, chủ yếu là thất bại cứng được sử dụng từ đó tránh được tình trạng thu hẹp. (có thời gian cửa sổ là rất)
3.đi đến netlist sửa chữa vấn đề (rất đau đớn)

để tránh bị trong tình trạng như vậy bằng cách sử dụng bất cứ khi nào thích hợp synchronizers asyn chuyển là ở đó.

-Manmohan

 
Hi, navi_s

Nếu bạn không muốn X được porpagation, bạn có thể vô hiệu hóa việc tạo ra X bởi vô hiệu hóa việc kiểm tra thời gian trên FF này.Các FF đầu tiên của đồng bộ hoá luôn luôn có cơ hội để gặp gỡ các thiết lập / tổ chức voilation thời gian trong bố trí mô phỏng bài.Đó chỉ là công việc của các FF.Ví dụ, bạn có thể chạy ncverilog với nctfile "tên tập tin".nctfile là danh sách các FFS bạn muốn disalbe kiểm tra thời gian.Tôi nghĩ rằng đó là cách để mô phỏng tương tự khác để tránh tình trạng này.

Trân trọng,
Jarod

 
Hãy tham khảo bài viết Solvnet Synopsys
https: / / solvnet.synopsys.com/retrieve/022278.htmlControl timings trong VCSVCS / VCSMX có thể vô hiệu hóa sự chậm trễ đường dẫn module cũng như thời gian kiểm tra ở các cấp độ khác nhau của viz granularity.trên toàn bộ thiết kế, trên một module cụ thể hoặc trên một vòng cung thời gian cụ thể trong một trường hợp cụ thể.

1.Vô hiệu hóa sự chậm trễ và kiểm tra thời gian trên toàn bộ thiết kế.Sử dụng các biên dịch sau thời gian tùy chọn

Nospecify
Điều này ngăn chặn con đường sự chậm trễ module và kiểm tra xác định thời gian trong khối.

Notimingcheck
Điều này ngăn chặn sự kiểm tra xác định thời gian trong khối.2.Vô hiệu hóa sự chậm trễ và kiểm tra thời gian cho mỗi mô-đun hoặc dụ cơ sở

Bạn có thể vô hiệu hóa thời gian chú thích có chọn lọc bằng cách sử dụng tập tin cấu hình
đó là thông qua để VCS dòng lệnh thông qua optconfigfile

Cú pháp:
Optconfigfile <configFileName>Cú pháp cho tập tin cấu hình
-------------------------------------------------- -

module (list_of_module_identifiers) (list_of_attributes);

hoặc

Ví dụ (list_of_hierarchical_names) (list_of_attributes);trong đó:

module là từ khóa đó quy định rằng các thuộc tính trong bản Tuyên Bố này
áp dụng cho tất cả các trường hợp của các module trong danh sách, quy định của module
nhận diện.

list_of_module_identifiers là một danh sách cách nhau bằng dấu phẩy bộ nhận dạng mô-đun
kèm theo trong dấu ngoặc nhọn: ()

list_of_attributes là một danh sách cách nhau bằng dấu phẩy của các thuộc tính liên quan đến thời gian
kèm theo trong dấu ngoặc nhọn: ()

Ví dụ là một từ khoá đó quy định rằng các thuộc tính trong bản Tuyên Bố này
áp dụng cho các ví dụ cụ thể được xác định bởi các tên theo thứ bậc.

list_hierarchical_names là một danh sách cách nhau bằng dấu phẩy các tên theo thứ bậc của
module trường hợp, tín hiệu kèm theo trong dấu ngoặc nhọn: ()

Danh sách các thuộc tính hợp lệ cho thời gian như sau:

noIopath: Attribute từ khoá đó quy định cụ thể vô hiệu hóa đường dẫn module sự chậm trễ
trong trường hợp mô-đun chỉ định.
noSpecify: Attribute từ khoá đó quy định cụ thể vô hiệu hoá các chỉ định trong khối
quy định các trường hợp mô-đun.
noTiming: Attribute từ khoá đó quy định cụ thể vô hiệu hóa trong thời gian kiểm tra
quy định các trường hợp mô-đun.

3.Vô hiệu hoá thời gian kiểm tra tại thời gian chạy ở dấu nhắc ucli

Để có được đến lúc runtime ucli nhắc bạn cần phải lập thiết kế với
-Debug hoặc debug_pp-tại thời gian biên dịch.Tại dấu nhắc ucli, chỉ rõ sau đây
lệnh:

tcheck <instance|port> <tcheck_type> <-msg |-xgen> [-bật |-vô hiệu hóa] [-r]

đâu

<instance|port> là một thứ bậc tên đường dẫn đầy đủ của một trường hợp hoặc một
instance_port

<tcheck_type> là một trong
[Tất cả | HOLD | | SETUP SETUPHOLD | RỘNG | PHỤC HỒI | diệt | RECREM | giai | nghiêng]

-Xgen>-msg | <Tùy chọn điều khiển hành vi mô phỏng khi kiểm tra thời gian
vi phạm được phát hiện như sau:

-Msg vô hiệu hóa hoặc cho phép một sự vi phạm cảnh báo thời gian trên sơ thẩm định
hoặc cảng-xgen vô hiệu hóa hoặc cho phép một notifier toggling trên Ví dụ quy định hoặc
cảng

[-R] Tùy chọn thay đổi tất cả các kiểm tra thời gian cho các trường hợp quy định và
tất cả các trường tiểu đệ quy

 

Welcome to EDABoard.com

Sponsor

Back
Top