3.2. Phần mềm thiết kế ISE của Xilinx
3.2.8. Thiết kế sơ đồ nguyên lý mức đỉnh
Đôi khi dễ dàng thiết kế một cách trực quan khi chúng ta có một sơ đồ nguyên lý mức đỉnh mà nó biểu diễn một khối riêng của HDL. Những khối này có thể được nối với nhau theo cách thông thường. Đối với một thiết kế trong công cụ WebPACK ISE, toàn bộ project có thể dưới dạng sơ đồ nguyên lý cơ bản.
Mục này bàn đến phương pháp kết nối các module VHDL thông qua công cụ sơ đồ nguyên lý ECS. Để loại bỏ file top.hdl khỏi project, đánh dấu file trong the sources for Synthesis/Implementation View, nhấn phím phải chuột chọn remove sau đó nhấn yes trong hộp thoại kế tiếp xuất hiện.
Thao tác này sẽ đưa bạn quay trở lại giai đoạn khi mới chỉ có “counter.vhd” và
“stat_mac.vhd”. Cửa sổ Sources có dạng như hình vẽ sau:
Hình 3.51: Các file nguồn thành phần khi chưa có sơ đồ nguyên lý mức đỉnh 3.2.8.1. Tạo một thiết kế sơ đồ nguyên lý mức đỉnh
1. Từ menu Project chọn New Source ’! Schematic và đưa vào cái tên
“top_sch”
2. nhấn nút Next sau đó là Finish. Cửa sổ ECS Schematic Editor sẽ xuất hiện. Cũng sẽ có một Options tab trong cửa sổ Processes.
3. Trong cửa sổ Sources chọn “counter.vhd” Nếu không thấy thì kiểm tra lại xem đã đặt ở cửa sổ Synthesis/Implementation như hình vẽ (3.51).
4. Trong cửa sổ Sources chọn Processes tab và nhấn đúp lên Create Schematic Symbol từ mục Design Utilities. Điều này sẽ tạo ra một biểu tượng sơ đồ nguyên lý và thêm nó vào thư viện Schematic Editor.
5. Tạo một symbol khác cho state machine bằng cách chọn
“stat_mac.vhd” và nhấn vào Create Schematic Symbol
6. Quay trở lại Schematic editor. Những thư viện Symbol có thể được tìm thấy trên Symbol tab trong cửa sổ Sources
7. Thêm counter và state machine bằng cách nhấn lên thư viện (C/Designs/Traffic) trong cửa sổ Categories và chọn “Counter”. Kéo thả biểu tượng counter và stat_mac vào trong cửa sổ soạn thảo
Hình 3.52: Tạo sơ đồ nguyên lý mức đỉnh
Hình 3.53: Tạo các symbol cho các file nguồn HDL thành phần
Hình 3.54: Các symbol của các file nguồn HDL thành phần 1. Lựa chọn Add Wire từ thanh công cụ Drawing
2. Để thêm đường giữa hai chân, nhấn một lên chân của biểu tượng và một lên chân mô tả. ECS sẽ cho phép bạn chọn tự động hoặc nối bằng tay. Để thêm vào đường nối chỉ cần nhấn lên chân của biểu tượng để bắt đầu một đường nối. Nhấn đúp vào vị trí mà bạn muốn kết thúc đường nối.
3. Đường nối counter và state machine như sau
4. Chọn công cụ Add Net Names trong thanh công cụ Drawing
5. Gõ vào “clock” vào ô Name trong Options tab (trong cửa sổ Processes) và nhấn lên cửa sổ schematic editor
6. Đưa tên vào đường mà nó sẽ nối với các cổng vào ra của FPGA/CPLD, vị trí của tên đường ở vị trí cuối của đường để hở mạch. Hãy thêm vào tên đường như hình vẽ.
Hình 3.55: Kết nối các component
Hình 3.56: Đặt tên các tín hiệu 3.2.8.2. Đánh dấu các cổng vào ra
1 Lựa chọn Add I/O Marker từ thanh công cụ Drawing
2 Chọn kiểu Input và dán vào tất cả những chân tín hiệu vào. Lặp lại với những
Sơ đồ nguyên lý vừa hoàn thành có dạng như hình. Lưu ý rằng khi Add I/O Marker được lựa chọn thì Option cũng thay đổi theo. Bạn chọn Add an input marker đối với đầu vào và Add and output marker đối với đầu ra.
Hình 3.57: Sơ đồ nguyên lý hoàn thiện
Lưu trữ thiết kế (File ’!
Save). Kiểm tra cửa sổ Sources bạn sẽ thấy phần mềm ISE sẽ tự động nhận ra file sơ đồ nguyên lý là file mức đỉnh và tổ chức lại thiết kế tương ứng. Chọn
“top_sch.sch” và nhấn phím phải sau đó chọn Set as top module.
Trong Design Utilities của cây process bạn có thể nhận thấy VHDL đã được tạo ra từ sơ đồ nguyên lý khi “top_sch” được chọn từ cửa sổ source. Nhấn đúp lên View HDL Functional Model ta thấy như hình bên:
Hình 3.58: Mã nguồn HDL được tạo tự động từ sơ đồ nguyên lý
mức đỉnh
3.2.8.3. Mô phỏng thiết kế sơ đồ nguyên lý mức đỉnh 1. Chọn “top_sch.sch” trong cửa sổ Sources
2. Thêm vào một source testbench waveform bằng cách nhấn phím phải lên “top_sch.sch” và chọn New Source. Chọn Test Bench Waveform và tên của source này là “top_sch_tb”
3. Nhấn Next và chọn liên hệ với “top”. Nhấn Finish.
4. Khởi tạo thời gian như đã làm ở trên, dùng Clock High Time và Clock Low Time là 270ns và Input Setup Time và Output Valid Delay là 50ns. Thiết lập Initial Length of Test Bench là 100000ns
5. Trong giản đồ dạng sóng đưa vào đầu vào kích thích như sau:
Hình 3.59: Tạo file mô phỏng sơ đồ nguyên lý mức đỉnh
a. Đặt RESET dưới chu kỳ CLK 1 là “1”
b. Đặt RESET dưới chu kỳ CLK 1 là “0”
Hình 3.61: Cài đặt tín hiệu đầu vào 1. Nhấn File ’! Save để lưu trữ lại dạng sóng.
2. Với “top_sch_tb.tbw” đã được lựa chọn trong cửa sổ Sources (hãy chắc chắn Behavior Simulation view đang hiển thị), nhấn đúp lên Simulate Behavioral Model trong cửa sổ Process
Hình 3.62: Chạy mô phỏng
Hình 3.63: Kết quả mô phỏng
Sau khi đã thực hiện mô phỏng thiết kế, các bước tiếp theo là biên dịch, thcj thi và nạp kết quả xuống linh kiện hoặc bo mạch đích. Các bước thao tác như phần giới thiệu đầu tiên của chương.