Bài giảng Thiết kế logic số - Chương 3 (Phần 2)
Thiết kế logic số
(VLSI design)
TS. Hoàng Văn Phúc
Bộ môn KT Xung Số-Vi xử lý
11/2014
Nội dung
Nhắc lại bài trước: Cấu trúc FPGA
Qui trình thiết kế hệ thống số trên FPGA
Các ví dụ thiết kế
Thời lượng: 06 tiết
2
Nhắc lại về FPGA: Cấu trúc cơ bản
IO_PAD
IO_PAD
IO_PAD
…………………..
LOGIC BLOCK
LOGIC BLOCK
LOGIC BLOCK
…………………..
…………………..
LOGIC BLOCK
LOGIC BLOCK
LOGIC BLOCK
Interconnect
wires
IP_COREs, RAM,
ROM...
LOGIC BLOCK
LOGIC BLOCK
LOGIC BLOCK
…………………..
…………………..
IO_PAD
IO_PAD
IO_PAD
3
Tái cấu hình cho FPGA
SRAM-based:
- Hoạt động phụ thuộc nguồn điện cung cấp
- Khả năng tái cấu trúc linh hoạt
- Cho phép thực hiện các thiết kế lớn
4
Hoạt động của FPGA
Người dùng ghi giá trị vào bộ nhớ
cấu hình (configuration memory)
để định chức năng hệ thống:
Kết nối giữa CLBs và I/O cells
Mạch logic cần thực thi trên
CLBs
Các khối I/O
• Thay đổi nội dung bộ nhớ cấu hình Thay đổi chức năng hệ thống
• Việc thay đổi có thể thực hiện khi mạch đang chạy (run-time
configuration) Tính toán tái cấu hình (RC: reconfigurable computing)
5
Kiến trúc của Configurable Logic Blocks (CLBs)
Mỗi CLB bao gồm:
Look-up Tables (LUT): Bảng tra
Mạch Carry & Control
Các phần tử nhớ
Configurable Logic Block (CLB): Khối logic khả trình (có thể tái cấu hình)
6
Hệ thống nhúng (embedded system) trên FPGA
System on board
System on chip
(SoC)
Source: Internet
7
ASIC (Application Specific Integrated Circuit) và
FPGA (Field Programmable Gate Array)
ASIC (IC chuyên dụng)
FPGA
Chức năng cố định
Người dùng có thể định lại
cấu hình cho thiết kế
Thời gian thiết kế dài và Thời gian thiết kế ngắn và chi
chi phí cao phí thấp
Tốc độ và hiệu năng cao Tốc độ và hiệu năng thấp hơn
Tiết kiệm chi phí đối với Hiệu quả với số lượng sản
số lượng sản phẩm lớn phẩm nhỏ
8
Qui trình thiết kế với FPGA và ASIC
9
Đánh giá một thiết kế trên FPGA
Tốc độ (speed): thông qua tốc độ clock tối đa hoặc
độ trễ dài nhất của mạch tổ hợp (critical path)
Tài nguyên sử dụng: số lượng LUTs, slices, CLBs…
cần cho thiết kế
Thông lượng: số lượng bit dữ liệu có thể được xử lý
trong một đơn vị thời gian
Công suất tiêu thụ
10
Qui trình thiết kế trên FPGA (Tổng quan)
11
Qui trình thiết kế trên FPGA (chi tiết)
Design and implement a simple
unit permitting to speed up
encryption with RC5-similar cipher
with fixed key set on 8031
Specification (Mô tả bài toán)
microcontroller. Unlike in the
experiment 5, this time your unit
has to be able to perform an
encryption algorithm by itself,
executing 32 rounds…..
Mô tả VHDL (Source Files) hoặc sơ đồ mạch logic
Functional simulation
(Mô phỏng chức năng)
Library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity RC5_core is
port(
clock, reset, encr_decr: in std_logic;
data_input: in std_logic_vector(31 downto 0);
data_output: out std_logic_vector(31 downto 0);
out_full: in std_logic;
key_input: in std_logic_vector(31 downto 0);
key_read: out std_logic;
);
end RC5_core;
Post-synthesis simulation
(Mô phỏng sau tổng hợp)
Synthesis
(Tổng hợp)
12
Qui trình thiết kế trên FPGA (chi tiết)
Implementation
(Thực thi)
Timing simulation
(Mô phỏng về thời gian)
Configuration
(Cấu hình)
On board testing
(Kiểm tra trên mạch)
13
Technology mapping (Ánh xạ công nghệ)
Là việc ánh xạ từ chức năng logic vào cấu trúc phần
cứng cụ thể của FPGA
Mạch logic:
Đường tín hiệu:
14
Technology mapping (tiếp)
15
Phần mềm thiết kế trên FPGA của Xilinx
Phân cấp thiết kế Design/Files/Libraries
Source files/Summary …
Khung để gõ lệnh hoặc thể hiện nhanh kết quả chạy biên dịch thiết kế
ISE: Integrated Software Environment
16
Các thành phần chính của Xilinx ISE Suite
XST: Synthesis tool (Công cụ để tổng hợp thiết kế)
Implementation tool (Công cụ thực thi)
Generate programming file (Tạo file cấu hình)
Configuration (Cấu hình cho FPGA)
ISIM: trình mô phỏng tích hợp trong ISE (chức năng tương
tự modelsim)
Các thành phần khác: Plan-ahead, xPower analyzer …
Ngoài ra, gần đây Xilinx phát triển thêm Vivado Suite có các
thành phần hỗ trợ tổng hợp mức cao (high level synthesis)
cho phép tổng hợp thiết kế từ các ngôn ngữ bậc cao như C,
C++
17
VHDL vs. Schematic
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity compare_module is
port (value : in std_logic_vector(3 downto 0);
res : out std_logic);
end compare_module;
architecture Behavioral of compare_module is
signal std : std_logic_vector (4 downto 0);
begin
val <= '0' & value;
process (val, std)
begin
sub <= val - std;
res <= sub(4);
end process;
end Behavioral;
Độc lập với công nghệ
Dễ hơn trong quản lý thiết kế phức tạp
Dễ kiểm tra thiết kế hơn
HDL
Schematic: Thiết kế bằng sơ đồ nguyên lý
18
Synthesis (Tổng hợp thiết kế)
Synthesis
Generate netlist
(post simulation
model)
Create
Create RTL
schematic
Check syntax
& synthesis
Technology
schematic
(optional)
(optional)
(optional)
Kiểm tra cú pháp
và tổng hợp
Tạo sơ đồ
nguyên lý công
nghệ
Tạo netlist
Tạo sơ đồ
nguyên lý RTL
RTL = Structural HDL
Netlist: Bản mô tả thiết kế mạch dưới dạng text
19
Synthesis
UNISIM Library
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity compare_module is Port
value: in std_logic_vector (3 downto 0);
res : out std_logic);
end compare_module;
architecture Behavioral of compare_module is
signal std : std_logic_vector (4 downto 0);
begin
val <= '0' & value;
process (val, std)
begin
sub <= val - std;
res <= sub(4);
end process;
end Behavioral;
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Thiết kế logic số - Chương 3 (Phần 2)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_thiet_ke_logic_so_chuong_3_phan_2.pdf

