Cách Sử Dụng Modelsim

*

Bạn đang xem: Cách sử dụng modelsim

Diễn đàn kỹ thuật điện tử›Kỹ Thuật Máy Tính›Ngôn ngữ mô tả phần cứng và thiết kế vi mạch
*
Hướng dẫn mô phổng ModelSim(HDL)
Nhận gia công mạch in PCB từ 1 đến 44 lớp Nhận đặt hàng các sản phẩm từ Texas Instruments Sản phẩm của diễn đàn Kênh video riêng của diễn đàn Thiết kế - Thi công dự án điện tử theo yêu cầu
*
*
*
*
*
*
*
*
*

*

Xem thêm: Cách Lấy Lòng Người Yêu Để Lấy Lòng Người Đàn Ông Của Mình, Cách Làm Hài Lòng Người Yêu

msp430
*
Moderators
*

Đầu tiên cài đặt ModelSim – hiện nay đã có các bản dành cho sinh viên miễn phí. Có thể tìm và download ở đây. http://model.com/content/modelsim-pe-stu...simulationCác bản có thể khác nhau về giao diện và một số tính năng, thư viện, …nhưng căn bản cách làm không khác nhau. Sau khi cài đặt xong, chúng tathực hiện như sau: Bước 1: Khởi động ModelSim có giao diện sau
*
" /> Bước 2: Vào File/New/Project…
*
" /> Project Location: chọn thư mục lưu project (Chú ý rằng việc tạo một thư mục mới cũng phải dùng ModelSim. Nếu bạn tạo thư mục mới thông thường từ WINDOWN thì sau này sẽ không chạy mô phỏng được - xem hình sau)
*
" /> Project Name: Gõ tên project (phải trùng với tên file top mà bạn tínhmô phỏng) Default Library Name: các bạn để nguyên, Ở đây tôi làmmột encoder_16_4. Nhấn OK
*
" /> Bước 3: Sau khi Nhấn OK - có khung sau:
*
" /> Create new file: Tạo file mới. Add Existing file: Thêm file có sẵn (ví dụ: bạn đã viết file verilog sẵn và để đâu đó, bạn chỉ cần copy fileđó vào thư mục mà bạn tạo project, bấn vào đây để thêm file đó vào) Ở đây tôi tạo file mới
*
" />File name: Tên file Add file as type: Chọn loại file cần tạo Folder: Cứ để Top Level Nhấn OK. Trong cửa sổ WorkSpace xuất hiện file cần tạo với trạng thái “?” (nghĩa là chưa được tổng hợp, kiểm tra).
*
" /> Nếu cần tạo thêm file khác thì làm lại bước 3. Xong ta Close để sang bước 4. Bước 4: Viết RTL code - Nhấp đôi chuột vào tên file trong cửa sổ Workspace sẽ hiện ra cửa sổ edit để viết RTL code.
*
" /> Bước 5: Compile thiết kế - Nhấp chuột phải vào tên file vừa viết code xong. ChọnCompile Selected: Chỉ kiểm tra file chọn. Compile All: Kiểm tra tất cả các file trong cửa sổ workspace.
*
" /> Bước 6: Sửa lỗi (nếu có). Nếu có lỗi, ModelSim sẽ hiện dòng chữ đỏ thông báo. Nhấp đôi chuột vào nó để tìm vị trí lỗi và sửa.
*
" /> Sửa và Compile lại cho đến khi có dòng thông báo successful màu xanh
*
" /> Thế là chúng ta hoàn thành phần viết RTL code và compile thiết kế trong ModelSim. Sau khi tạo xong một project, viết RTL code và compile. Khâu tiếp theo là chúng ta mô phỏng kiểm tra. Ví dụ được thực hiện ở đây là encoder_16_4, ngõ ra sẽ chỉ vị trí của ngõ vào được tích cực và nếu có hơn hai ngõ vào bằng 1 thì ngõ ra bằng 0.Bảng giá trị của encoder_16_4:
*
" />Trước hết đây là RTL code của encoder_16_4:module encoder_16_4(enable, // tin hieu cho phepbinary_out, // 4 bit ngo raencoder_in // 16-bit ngo vao);//ngo vaoinput enable;input <15:0> encoder_in;//ngo raoutput <3:0> binary_out;//kieu ngo ra reg <3:0> binary_out;//chuong trinh chinhalways
(enable or encoder_in)beginbinary_out = 0;if (enable) begincase (encoder_in)16"h0002 : binary_out = 4"d1;16"h0004 : binary_out = 4"d2;16"h0008 : binary_out = 4"d3;16"h0010 : binary_out = 4"d4;16"h0020 : binary_out = 4"d5;16"h0040 : binary_out = 4"d6;16"h0080 : binary_out = 4"d7;16"h0100 : binary_out = 4"d8;16"h0200 : binary_out = 4"d9;16"h0400 : binary_out = 4"d10;16"h0800 : binary_out = 4"d11;16"h1000 : binary_out = 4"d12;16"h2000 : binary_out = 4"d13;16"h4000 : binary_out = 4"d14;16"h8000 : binary_out = 4"d15;endcaseendendendmoduleĐể mô phỏng kiểm tra ta thực hiện như sau:Bước 1: Tạo testbenchNhấp chuột phải vào vùng trống của cửa sổ Workspace. Chọn Add to project/New file…
*
" />Cửa sổ Create Project File xuất hiện
*
" />Điền tên file (tb_encoder_16_4) và chọn loại file cần tạo (verilog). Nhấn OK. Cửa sổ edit xuất hiện và chúng ta gõ file testbench vào
*
" />Đây là nội dung file testbench (viết cơ bản theo hướng dẫn ở topic “Help me – viết testbench”)module tb_encoder_16_4;//ngo vao gan gia tri testreg enable;reg <15:0> encoder_in;//ngo ra quan satwire <3:0> binary_out;//goi module testencoder_16_4 encoder(enable, // tin hieu cho phepbinary_out, // 4 bit ngo raencoder_in // 16-bit ngo vao);//phan gan gia tri testinitialbeginenable = 1"b0;encoder_in = 16"h0001;#500enable = 1"b1;#200encoder_in = 16"h0002;#200encoder_in = 16"h0004;#200encoder_in = 16"h0008;#200encoder_in = 16"h0010;#200encoder_in = 16"h0020;#200encoder_in = 16"h0040;#200encoder_in = 16"h0080;#200encoder_in = 16"h0100;#200encoder_in = 16"h0200;#200encoder_in = 16"h0400;#200encoder_in = 16"h0800;#200encoder_in = 16"h1000;#200encoder_in = 16"h2000;#200encoder_in = 16"h4000;#200encoder_in = 16"h8000;#200encoder_in = 16"h1010;endendmoduleBước 2: Compile file testbench (như compile file RTL code)
*
" />Xuất hiện dòng báo successful là đã xong
*
" />Bước 3: Chạy mô phỏngTrong cửa sổ Workspace chọn thẻ Library, chọn mục work ta sẽ thấy hai file đã được compile như sau
*
" />Nhấp đôi chuột vào dòng có tên file testbench để bắt đầu chạy mô phỏng. Sau khi nhấp đôi chuột ta có kết quả như sau
*
" />Trong hình trên, ô bên phải ta thấy hai dòng có chữ “Loading” báo đã tải thành công hai file bao gồm file thiết kế encoder_16_4 và file testbench tb_encoder_16_4.Bước 4: Chỉnh khoảng thời gian cho một lần chạy mô phỏngTừ bước này, chỉ cách chạy mô phỏng theo từng khoảng thời gian đểchúng ta có thể dễ dàng quan sát. Xem hình sau để biết chỗ chỉnh khoảngthời gian cho 1 lần chạy mô phỏng (tại hạ chỉnh 1000us – mặc định là 100us)
*
" />Bước 5: Bật cửa sổ tín hiệu “Signals”vào View/Signals
*
" />Cửa sổ sau xuất hiện
*
" />Trong cửa sổ “Signals” vô Add/Wave để hiển thị các tín hiệu trong thiết kế lên cửa sổ chạy dạng sóng Wave
*
" />Bước 6: Chạy dạng sóngCửa sổ Wave
*
" />Bấm nút RUN (khoang tròn màu vàng) để chạy dạng sóng. Một lần bấm dạng sóng sẽ chạy 1 khoảng thời gian bằng khoảng thời gian chúng ta đã thiết lập
*
" />
*
" />Bước 7: Xem kết quảTa thấy kết quả mô phỏng đúng ý đồ thiết kế