Mô hình hoạt động Behavioral views: là mô hình mô tả hoạt động, chức năng của hệ thống dưới dạng mối quan hệ giữa đầu vào, đầu ra, và định thời mà không quan tâm đến cấu trúc bên trong
Trang 1BÀI GIẢNG MÔN
THIẾT KẾ LOGIC SỐ
Giảng viên: TS Nguyễn Ngọc Minh
Điện thoại/E-mail: 84-4- 3351 9391
Bộ môn: KTĐT-Khoa KTĐT
Trang 2TS Nguyễn Ngọc Minh
Khoa KTĐT1
Trang 34.6 MÁY TRẠNG THÁI ASM
4.7 PHƯƠNG PHÁP THIẾT KẾ TOP-DOWM
4.8 PHƯƠNG PHÁP THIẾT KẾ ĐỒNG BỘ
4.9 PHƯƠNG PHÁP THIẾT KẾ KHÔNG ĐỒNG BỘ
Trang 6Mô hình hoạt động (Behavioral views): là mô hình mô tả hoạt
động, chức năng của hệ thống dưới dạng mối quan hệ giữa đầu vào, đầu ra, và định thời mà không quan tâm đến cấu trúc bên
trong của hệ thống
+ Hình thức biểu diễn: được biểu diễn bởi mô tả chức năng, hoạt động của hệ
thống bằng ngôn ngữ tự nhiên, giản đồ thời gian (sơ đồ định thời), phương trình logic, bảng trạng thái, lưu đồ giải thuật, đồ hình trạng thái
+ Đây là mô hình có mức độ trừu tượng cao nhất, và thường rất thích hợp cho các mục đích mô phỏng, gỡ rối nhanh cho hệ thống.
Trang 7Mô hình cấu trúc (Structural views) : là mô hình mô tả cấu trúc
bên trong của hệ thống gồm các thành phần con và các kết nối
giữa chúng Mô hình này giống như sơ đồ khối hay mạch nguyên
Trang 8Mô hình vật lý (Physical views): là mô hình mô tả đặc tính vật lý
của hệ thống và thêm vào các thông tin chi tiết cho mô hình cấu trúc như xác định kích thước hay vị trí vật lý của các linh kiện trên
bo mạch hay trên phiến bán dẫn, cũng như các đường dẫn vật lý của mối đường kết nối
+ Hình thức biểu diễn: biểu diễn mạch in PCB của bo mạch hệ thống, layout của của IC…
+ Hệ thống số được mô tả ở mức độ chi tiết nhất, tới cấu trúc vật lý bán dẫn, cũng như cấu trúc bên trong những tài nguyên đã sẵn có trong cấu kiện, cách này tối ưu cho việc tổng hợp trên loại cấu kiện, công nghệ đã sử dụng.
Trang 9THỐNG SỐ
Trang 10Mô tả mức mạch điện (Circuit Level or Transistor Level): Đây là mức mô tả
có mức độ trừu tượng thấp nhất Hệ thống được mô tả theo mô hình cấu trúc sử dụng các cấu trúc cơ bản như Transistor, Điện trở, Tụ điện, … hay theo mô hình hoạt động sử dụng hệ phương trình vi phân
+ Ở mức mô tả này hệ thống số được tính toán như một hệ thống tương tự, mà trong đó tín hiệu tín toán theo mức điện áp biến đổi theo gian và có giá trị trong khoảng liên lục Hệ thống cũng có thể đươc mô tả theo mô hình vật lý sử dụng cấu trúc bán dẫn của các cấu kiện và kết nối giữa chúng.
Trang 11Mô tả mức logic (Logic Lever or Gate Level): Hệ thống được mô tả sử dụng
các cấu trúc cổng logic sơ bản như AND, OR, XOR, MUX, phần tử nhớ cơ bản như Flip-Flops… Tín hiệu được biểu diễn theo các mức logic ‘0’, ‘1’ và hoạt động vào- ra được tính toán theo hàm boolean
+ Ở mức mô tả này số lượng cổng NAND 2 đầu tương đương trong mạch được
sử dụng để đánh giá mức độ phức tạp của hệ thống.
Trang 12Mô tả mức RTL (Register Transfer Level – Mức truyền đạt thanh ghi): Hệ
thống được mô tả sử dụng các mô-đun chức cơ bản như: các bộ cộng, bộ so sánh, khối nhớ, thanh ghi, Mux, Demux… , hoạt động của hệ thống số được xác định bởi cách dữ liệu xử lý và chuyển đổi giữa các thanh ghi lưu trữ
+ Mô tả theo mô hình hoạt động ở mức này sử dụng những mô tả chung để xác định các phép toán chức năng và định tuyến dữ liệu, và sử dụng máy trạng thái FSM để mô tả hoạt động của hệ thống Đặc điểm quan trọng của mô tả mức RTL
là sử dụng tín hiệu clock chung cho các cấu trúc nhớ Mô hình vật lý cho mức mô
tả RTL được gọi chung là floorplan Nó rất hữu ích cho chung ta tìm ra những đường thấp nhất giữa các phần tử nhờ và xác định chu kỳ clock.
Trang 13Mô tả mức hệ thống (System Level or Processor Level): là mô tả có mức
trừu tượng cao nhất Các khối cơ bản được sử dụng để xây dựng hệ thống là
các khối IP (Intellectual Properties) như các bộ xử lý, bộ nhớ, giao tiếp bus,… Mô
tả theo mô hình hoạt động ở mức này giống như chương trình lập trình theo giải thuật như các ngôn ngữ lập trình bao bồm các bước tính toán và truyền thông
Trang 15Mô hình cấu trúc mức hệ thống điển hình của hệ thống
số Trong đó hệ thống số được xây dựng từ các khối chính như Vi xử lý, Bộ nhớ, giao tiếp bộ nhớ,…
Trang 16+ Khối xử lý trung tâm (CPU) :
Khối này gồm 2 thành phần:
Thực hiện các phép xử lý số liệu
của hệ thống số, chúng thường
gồm các khối thanh ghi, bộ đếm,
ghép kênh, ALU – khối tính toán số
học và logic
- Khối điều khiển (Control Unit):
Chức năng điều khiển chính cho
khối Datapath để thực hiện các
bước xử lý số liệu như mong muốn.
ISA (Instruction set Architecture – Kiến trúc tập lệnh): Tập lệnh để lập trình hoạt động cho CPU Thường chỉ có trong các
hệ thống phức tạp, đa dụng như các bộ vi xử lý
động mức RTL
Trang 18Mô tả theo mô hình cấu trúc là mô tả các phần
tử con bên trong hệ thống và sự kết nối của
các phần tử con đó
Ví dụ: Viết VHDL mô tả theo mô hình cấu trúc một
thanh ghi 4 bit được xây dựng từ 4 triger D
Trang 194.1.2 Phương pháp mô tả theo mô hình hoạt động
(Behavioral)
Mô hình hoạt động là mức độ mô tả trừu tượng nhất, cụ
thể là mô tả theo chức năng của hệ thống
Đặc điểm của phương pháp này là nhập thiết kế nhanh,
nhưng cấu trúc của phần cứng thường không rõ
Ví dụ: mô tả chức năng hệ
thống là: Nếu mỗi khi có một
sensor nào đó được kích hoạt,
Trang 20(Behavioral)
Ví dụ: mô tả chức năng hệ thống là: Nếu mỗi khi có
một sensor nào đó được kích hoạt, thì hệ thống kiểm
tra mã bàn phím Nếu sau 20 giây mà không có mã
bàn phím nhập đúng nhập vào thì còi báo động sẽ
architecture Behavioral of Security_1 is
constant Delay_Period : time := 20 s;
begin
process (Keypad,Front_Door,Rear_Door,Window) begin
if (Front_Door or Rear_Door or Window ) then
if (Keypad = “0011”) then Alarm_siren <= false ; else
Alarm_Siren <= True after Delay_Period ; end if ;
end if ; end process ;
Trang 214.1.3 Phương pháp mô tả theo mô
hình luồng dữ liệu RTL
a Mô tả mạch logic tổ hợp
Trang 22Tiến trình hoạt động theo clock có thể được mô tả
thành tiến trình đồng bộ hoặc tiến trình không đồng bộ
Trang 23bộ nhớ, khối điều khiển,
đường dữ liệu, điều
khiển vào/ra…
Kiểu mô tả này thường được dùng trong việc kiểm tra, mô phỏng hệ thống, cũng như cho việc tổng hợp với mức độ độc lập với công nghệ cao
Trang 24+ Khối xử lý trung tâm (CPU) :
thanh ghi, bộ đếm, ghép kênh,
ALU – khối tính toán số học và
logic
- Khối điều khiển (Control
Unit): Chức năng điều khiển
chính cho khối Datapath để thực
hiện các bước xử lý số liệu như
mong muốn.
ISA (Instruction set Architecture – Kiến trúc tập lệnh): Tập lệnh để lập trình hoạt động cho CPU Thường chỉ có trong các
hệ thống phức tạp, đa dụng như các bộ vi xử lý
Trang 25Ví dụ - Mô hình cấu trúc mức RTL
Trang 264.2.1 Khối Datapath
Datapath RTL gồm các khối thanh ghi và các khối mạch logic tổ
hợp, được mô tả bằng các tiến trình tổ hợp (combinatorial
process) và các tiến hoạt động theo clock (clocked process)
Trang 27mạch tuần tự và mạch tổ hợp độc lập
Kết hợp mạch tổ hợp và tuần tự trong một process
Trang 29Mạch logic tổ hợp có thể mô tả bằng các cấu trúc lệnh
song, tuy nhiên thường dùng các process tổ hợp Khi
sử dụng process tổ hợp tất cả các tín hiệu vào của
mạch tổ hợp phải được đưa vào danh sách tín hiệu
kích thích
Trang 30C<=A and B
Process n
process (C, ) begin
process n
process (
Rst
Sig1 Sig2
process n
process (
Rst
Sig1 Sig2
Process n4
Process n3
Mô hình kết nối của các Process
Trang 31Sơ đồ tổng quát chương trình thử Testbench đơn giản
Trang 32Sơ đồ tổng chương trình thử Testbench đầy đủ
Trang 33Trường hợp 1: Viết mô tả để tạo ra dạng tín hiệu đơn a như
hình vẽ dưới đây
Trang 34Trường hợp 2: Viết mô tả
xung clock 1, clock2 có chu
kỳ 100 ns
Trang 35Ví dụ tạo dạng sóng
Trang 36architecture mux21 of mux21
is signal aout : STD_LOGIC;
signal bout : STD_LOGIC;
signal nots : STD_LOGIC;
Ví dụ mô tả mạch Mux 2 sang
1 có sơ đồ mạch như sau:
nots
a
b
Trang 38Sử dụng cấu trúc lệnh song song
Trang 43WHEN/ELSE
Trang 47“WITH/SELECT/WHEN”
Trang 548 bit (tt)
Trang 558 bit
Trang 564.3.9 Mạch tạo bit parity chẳn từ dữ liệu 8 bit
Trang 574.3.9 Mạch tạo bit parity tổng quát
Trang 584.3.10 ALU
Trang 63Xung CLK cạnh xuống
Trang 67Flip-Flop T đơn giản
elsif (<clock>'event and <clock>='1') then <output> <= not(<output>);
end if;
Trang 72âm clock, có nạp không đồng bộ giá trị cố định “1111” mức tích cực thấp:
Trang 764.5.1Mô hình máy trạng thái Mealy
Trang 82VHDL mô tả bộ đếm lên/xuống 4 bit
Bấm vào đây xem đoạn chương trình
VHDL
Trang 83if <reset>='1' then <count> <= (others => '0');
elsif <clock>='1' and <clock>'event then
if <clock_enable>='1' then
if <load_enable>='1' then <count> <= <input>;
else
if <count_direction>='1' then <count> <= <count> + 1;
else <count> <= <count> - 1;
Trang 84Thiết kế bộ đếm Timer như sau:
Trang 85Lưu đồ giải thuật máy
trạng thái (Algorithmic
state machine: ASM
charts) là sự trừu tượng
hóa hành vi của máy tuần
Danh sách xuất theo điều kiện
Đường ra đến khối
Danh sách xuất Tên trạng thái
Trang 86Ví dụ: kết hợp lưu đồ
Trang 87Lưu đồ trạng thái ASM hệ Moore cho mạch đếm
Trang 88Lưu đồ trạng thái ASM hệ Mealy cho mạch đếm