TAILIEUCHUNG - Useful Modeling Techniques part 2

[ Team LiB ] Conditional Compilation and Execution A portion of Verilog might be suitable for one environment but not for another. The designer does not wish to create two versions of Verilog design for the two environments. | Team LiB Conditional Compilation and Execution A portion of Verilog might be suitable for one environment but not for another. The designer does not wish to create two versions of Verilog design for the two environments. Instead the designer can specify that the particular portion of the code be compiled only if a certain flag is set. This is called conditional compilation. A designer might also want to execute certain parts of the Verilog design only when a flag is set at run time. This is called conditional execution. Conditional Compilation Conditional compilation can be accomplished by using compiler directives ifdef ifndef else elsif and endif. Example 9-5 contains Verilog source code to be compiled conditionally. Example 9-5 Conditional Compilation Conditional Compilation Example 1 ifdef TEST compile module test only if text macro TEST is defined module test . . endmodule else compile the module stimulus as default module stimulus . . endmodule endif completion of ifdef directive Example 2 module top bus_master b1 instantiate module unconditionally ifdef ADD_B2 bus_master b2 b2 is instantiated conditionally if text macro ADD_B2 is defined elsif ADD_B3 bus_master b3 b3 is instantiated conditionally if text macro ADD_B3 is defined else bus_master b4 b4 is instantiate by default endif ifndef IGNORE_B5 bus_master b5 b5 is instantiated conditionally if text macro IGNORE_B5 is not defined endif endmodule The ifdef and ifndef directives can appear anywhere in the design. A designer can conditionally compile statements modules blocks declarations and other compiler directives. The else directive is optional. A maximum of one else directive can accompany an ifdef or ifndef. Any number of elsif directives can accompany an ifdef or ifndef. An ifdef or ifndef is always closed by a corresponding endif. The conditional compile flag can be set by using the define statement inside the Verilog file. In the example above we could define the flags by defining text .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.