Bài 1 – Mô phỏng cơ bản: Tạo thư viện thiết kế

Một phần của tài liệu Các hệ phần mềm thiết kế chuyên dụng, Tự động thiết kế điện tử và lập trình FPGA (Trang 115 - 124)

Trước khi mô phỏng một thiết kế, bạn phải tạo một thư viện và biên dịch mã nguồn vào đó.

1. Tạo một thư mục mới và copy các file tutorial vào đó.

Tạo một dự án

Thêm file vào dự án

Chạy mô phỏng

Gỡ rối kết quả

Biên dịch file

Đầu tiên tạo một thư mục mới cho bài tập này (Phòng khi những người học khác sẽ thực hành với những bài học này).

Verilog: Copy các file counter.v và tcounter.v từ /<install_dir>/examples vào thư mục mới tạo.

VHDL: Copy các file counter.vhd và tcounter.vhd từ /<install_dir>/examples vào thư mục mới tạo.

2. Khởi động ModelSim nếu cần thiết.

a. Gõ vsim tại một UNIX shell Prompt hoặc biểu tượng của ModelSim trong Windows

Khi mở ModelSim lần đầu, bạn sẽ thấy hộp thoại Welcome như Hình 4.1. Bấm nút Close

b. Chọn File > Change Directory, thay đổi đến thư mục vừa tạo ở bước 1 3. Tạo thư viện làm việc

a. Chọn File > New > Library

Một hộp thoại xuất hiện, Bạn sẽ đặt các tên vật lý và logic cho thư viện (Hình 4.2). Bạn có thể tạo một thư viện mới hoặc ánh xạ lên một thư viện đã tồn tại sẵn.

Ta sẽ tạo Thư viện mới cho bài này.

b. Gõ vào trường Library Name : work nếu chưa được tự đông nhập vào.

Hình 4.1: Hộp thoại Welcome to ModelSim

Hình 4.2: Hộp thoại tạo thư viện mới c. Gõ OK.

ModelSim tạo một thư mục gọi là work và ghi vào đó một file được định dạnh đặc biệt _info vào thư mục trên. File info phải có trong thư mục để phân biệt đây là một thư mục ModelSim. Không soạn thảo các nội dung của thư mục này từ hệ điều hành, mọi thay đổi phải được thực hiện bằng ModelSim.

ModelSim cũng được chèn vào cây thư mục ở Workspace (Hình 4.3) và các ghi lại ánh xạ thư viện để tham chiếu sau này trong file khởi tạo ModelSim (modelsim.ini).

Khi bạn ấn xong OK ở bước (c), ba dòng sau được in vào cửa sổ Main trong ô cửa sổ Transcrip:

vlib work

vmap work work

# Modifying modelsim.ini

Hai dòng đầu là dòng lệnh tương đương của các lệnh Menu mà bạn viện dẫn.

Hầu hết các chức năng kích hoạt menu sẽ báo lại kiểu tương đương dòng lệnh của chúng ở mẫu này. Dòng thứ 3 báo cho biết ánh xạ đã được ghi vào trong file khởi tạo ModelSim (modelsim.ini).

Hình 4.3: Thư viện làm việc mới tạo

Biên dịch thiết kế

Với thư viện vừa tạo, bạn đã sẵn sàng để biên dịch các file mã nguồn của mình.

Bạn có thể biên dịch bằng cách sử dụng các menu và hộp thoại qua giao diện đồ hoạ, ví dụ như ví dụ Verilog sau, hoặc bằng cách vào một lệnh tại dòng nhắc lệnh như ví dụ VHDL sau.

1. Verilog: Biên dịch counter.v và tcounter.v.

a. Chọn Compile > Compile

Hộp thoại Compile Source Files xuất hiện (Hình 4.4)

Nếu tuỳ chọn menu không sẵn sàng thì có thể một Project nào đó đang mở.

Nếu thế, đóng Prọject đó lại bằng cách chọn File > Close khi ô cửa Workspace được chọn.

b. Chọn counter.v, Giữ phím <Ctrl> và chọn tcounter.v.

c. Với 2 file đã chọn, bấm Compile.

Các file đã được dịch vào thư viện work d. Bấm Done.

VHDL: Biên dịch counter.vhd và tcounter.vhd.

a. Gõ dòng vcom counter.vhd tcounter.vhd vào dấu nhắc lệnh tại ModelSim>

prompt và gõ phím Enter.

2. Xem các phần thiết kế đã được dịch.

a. Trên thanh Library, bấm biểu tượng ‘+’ cạnh thư viện work và bạn sẽ thấy hai phần thiết kế (Hình 4.5). Bạn cũng có thể thấy kiểu của chúng (Modules, Entities, v.v) và các file nguồn được gạch dưới nếu kéo thanh cuốn về bên phải.

Hình 4.4: Hộp thoại biên dịch các file nguồn HDL.

Hình 4.5: Các moduleVerilog được biên dịch vào thư viện work

Hình 4.6: Tải thiết kế vào bộ mô phỏng.

1. Tải module test_counter vào bộ mô phỏng.

a. Kích đúp vào test_counter ở cửa sổ Main ở Workspace để tải thiết kế.

Bạn cũng có thể tải thiết kế bằng cách chọn Simulate > Start Simulation trên thanh Menu. Hộp thoại Start Simulation mở ra. Với thanh thiết kế được chọn, kích vào ký hiệu ‘+’ gần thư viện work để xem các module counter và test_counter.

Chọn module test_counter và bấm OK (Hình 4.6).

Khi thiết kế được tải lên, bạn sẽ thấy một ô tab mới tên là sim trên cấu trúc thư mục của thiết kế (Hình 4.7). Bạn có thể xem cây thư mục bằng cách kích lên dòng nào cần xem với các biểu tượng ‘+’ và ‘-’. Bạn cũng có thể xem ô tab tên Files mà có tất cả các file được bao gồm trong thiết kế.

Hình 4.7: Tải thiết kế với hộp thoại Start Simulation

Hình 4.8: Ô tab biểu diễn một thiết kế Verilog.

Chạy trình mô phỏng

1. Đặt giao diện đồ hoạ người dùng để xem được hết các cửa sổ gỡ rối.

a. Chọn View > Debug Windows > All Windows.

Tất cả cửa sổ ModelSim được mở ra cho bạn nhiều cách quan sát khác nhau các dữ liệu thiết kế của mình và các công cụ gỡ rối khác nhau. Hầu hết các cửa sổ sẽ được mở như các ô cửa trong cửa sổ Main. Các cửa sổ Dataflow, List, và Wave sẽ mở như các cửa sổ độc lập. Bạn có thể cần phải di chuyển, định cỡ lại các cửa sổ cho vừa ý. Các ô cửa trong cửa sổ Main có thể được di chuyển để đứng độc lập.

2. Đặt các tín hiệu vào cửa sổ Wave (sóng).

a. Trong ô cửa Workspace, chọn thanh tab sim.

b. Kích phải vào test_counter để mở menu popup nội dung.

c. Chọn Add > Add to Wave (Hình 4.9).

Ba tín hiệu được đặt vào của sổ Wave.

3 Chạy mô phỏng.

a. Kích biểu tượng Run thanh công cụ của cửa sổ Main hoặc cửa sổ Wave.

Trình mô phỏng chạy ở 100 ns (Độ dài mô phỏng mặc định) b Gõ vào dấu nhắc VSIM> prompt ở cửa sổ Main : run 500

Trình mô phỏng đã được đặt lên tới 500 ns trong giới hạn tổng 600 ns (Hình 4.9).

Hình 4.9: Đặt các tín hiệu vào cửa sổ Wave.

Hình 4.10: Các dạng sóng được vẽ trong cửa sổ Wave.

c. Kích vào biểu tượng Run -All trên thanh công cụ của cửa sổ Main hoặc cửa sổ Wave.

Trình mô phỏng tiếp tục chạy đến khi bạn ra lệnh ngừng hoặc đến khi chạy đến một phát biểu dừng ở mã nguồn của bạn mà gây ra dừng quá trình mô phỏng

d. Kích biểu tượng Break.

Trình mô phỏng sẽ dừng lại.

Cài đặt các điểm dừng và các bước nhảy ở cửa sổ Source

Tiếp theo bạn sẽ xem qua một đặc điểm gỡ rối tương tác của môi trường ModelSim. Bạn sẽ đặt một điểm dừng ở cửa sổ Source, chạy trình mô phỏng, thực hiện các bước nhảy…Các điểm dừng có thể được đặt duy nhất trên các đường vẽ với các số dòng màu đỏ.

1. Mở counter.v ở cửa sổ Source

a. Chọn thanh tab Files ở cửa sổ Main của Workspace.

b. Kích đúp vào counter.v để đặt nó vào trong cửa sổ Source.

2. Đặt một điểm dừng trên dòng 31 của counter.v (Nếu đang mô phỏng các file VHDL, thì đặt ở dòng 30).

a. Cuốn xuống dòng 31 và kích lên số dòng.

Một chấm đỏ xuất hiện gần dòng 31 chỉ ra rằng một điểm dừng đã được đặt.

3. Cho phép, cấm và xoá điểm dừng.

a. Kích vào chấm đỏ để cấm điểm dừng. Nó sẽ trở thành một vòng tròn đen.

b. Kích vào vòng tròn đen để cho phép lại điểm dừng. Nó sẽ trở thành một chấm đỏ.

c Kích phải vào chấm đỏ và chọn Remove để xoá điểm dừng.

Điểm dừng.

d. Kích lại lên số 31 để tạo lại điểm dừng.

4. Khởi động lại trình mô phỏng

a. Kích lên biểu tượng Restart để tải lại các thành phần của thiết kế và đặt lại thời gian mô phỏng về không.

Hộp thoại xuất hiện cho bạn các tuỳ chọn xem những gì để giữ lại trong khi khởi động lại (Hình 4.11).

b. Kích vào Restart ở hộp thoại Restart.

Hình 4.11: Một điểm dừng ở cửa sổ Source

Hình 4.12: Hộp thoại Restart.

c. Kích lên biểu tượng Run -All.

Trình mô phỏng chạy đến khi gặp điểm dừng. Khi đó, trình mô phỏng dừng lại, làm sáng dòng lệnh với một mũi tên xanh ở màn hình Source (Hình 4.13), và nó tạo một bản tin Break trong ô cửa Transcript.

Khi chạy đến điểm dừng, bạn sẽ thường muốn biết một vài giá trị của tín hiệu.

Có một vài tuỳ chọn để kiểm tra các giá trị đó:

• Xem các giá trị ở cửa sổ Objects (Hình 4.14).

• Đặt con trỏ chuột lên trên biến count ở cửa sổ Source, và một "Hình cầu" sẽ hiện ra cùng với giá trị (Hình 4.14)

• Làm sáng biến count ở cửa sổ Source, kích phải vào nó, và chọn Examine từ trình đơn Pop_up

• Dùng lệnh kiểm tra giá trị đầu ra tới cửa sổ Main ở Transcript.

5 Thử các lệnh nhảy bước.

a. Kích biểu tượng Step trên thanh công cụ ở cửa sổ Main.

Đây là các bước đơn của bộ gỡ rối. Bạn tự chạy gỡ rối, đặt và bỏ các điểm dừng và dùng các lệnh Step, Step Over, và Continue Run đến lúc thoả mãn yêu cầu thiết kế của bạn.

Hình 4.13: Để con trỏ chuột lên một biến trong cửa sổ Source .

Hình 4.14: Các giá trị biểu hiện trong cửa sổ Objects

Một phần của tài liệu Các hệ phần mềm thiết kế chuyên dụng, Tự động thiết kế điện tử và lập trình FPGA (Trang 115 - 124)

Tải bản đầy đủ (PDF)

(231 trang)