<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Hardware Description Language
Hardware Description Language
</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>
Nội dung môn học
Nội dung môn học
1.
Giới thiệu chung về cơng nghệ IC khả trình
<b>2.</b>
<b>Thiết kế số (nhắc lại)</b>
3.
Ngôn ngữ mô tả phần cứng VHDL
4.
Thiết kế dùng IC khả trình của Xilinx và
Altera
</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>
2.2.3. Phương pháp mơ tả mạch Tuần Tự
• Mơ hình tổng quát nhất của mạch tuần tự gồm: các biến vào, các biến ra và
các trạng thái bên trong của mạch.
• Có thể sử dụng mơ hình máy trạng thái (Finite State Machine - FSM) để
phân tích và tổng hợp mạch tuần tự
</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>
2.2.3. Phương pháp mô tả mạch Tuần Tự
4
</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>
2.2.3. Phương pháp mơ tả mạch Tuần Tự
<b>Mơ hình Mealy</b>
mơ tả
hệ dãy thông qua 5 tham
số:
X = {x
<sub>1</sub>
, x
<sub>2</sub>
, ..., x
<sub>n</sub>
}
Y = {y
<sub>1</sub>
, y
<sub>2</sub>
, ..., y
<sub>l</sub>
}
S = {s
<sub>1</sub>
, s
<sub>2</sub>
, ..., s
<sub>m</sub>
}
F
<sub>S</sub>
(S, X)
F
(S, X)
<b>X là tập tín hiệu đầu vào</b>
<b>Y là tập tín hiệu đầu ra</b>
<b>S tập tín hiệu trạng thái trong của hệ</b>
<b>F</b>
<b><sub>S</sub></b>
<b> là hàm biến đổi trạng thái. </b>
<b>F</b>
<b><sub>S</sub></b>
<b> = F</b>
<b><sub>S</sub></b>
<b>(S, X)</b>
</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>
2.2.3. Phương pháp mơ tả mạch Tuần Tự
6
<b>Mơ hình Moore</b>
giống như mơ hình Mealy, nhưng khác
ở chỗ là F
<sub>Y</sub>
chỉ phụ thuộc vào S:
</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>
2.2.3. Phương pháp mô tả mạch Tuần Tự
• Có thể mơ tả hoạt động của các mạch logic tuần tự bằng biểu đồ trạng
thái (state diagram):
– Vịng trịn mơ tả trạng thái của mạch
– Mũi tên trên đó có ghi giá trị của tín hiệu vào dùng để mơ tả q
trình chuyển trạng thái
• Ví dụ:
</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>
2.2.4. Một số mạch Logic tuần tự
8
2.2.4.1. Bộ đếm
<b>1. Mạch đếm Không đồng Bộ (KĐB)</b>
<b> Mạch đếm n bit: dùng n flip-flop, có tối đa 2</b>
<b>n</b>
<b> trạng thái đếm</b>
<b> Xung CK của FF tầng sau được lấy từ một đầu ra của FF </b>
<b>tầng trước</b>
<b> Đếm lên</b>
<b> Đếm xuống</b>
<b>2. Mạch đếm đồng Bộ (ĐB)</b>
<b> Mạch đếm n bit: dùng n flip-flop, có tối đa 2</b>
<b>n</b>
<b><sub> trạng thái đếm</sub></b>
<b> Các flipflop cùng xung CK</b>
<b> Đếm lên</b>
</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>
<b>1. Mạch đếm Không đồng Bộ (KĐB) </b>
<b>Mạch đếm KĐB 3 bit, đếm lên, sử dụng JK _FF, Mode đếm = 8</b>
74LS112
3
1
2
5
6
4
15
J
CLK
K
Q
QN
PR
C
L
LED LED LED
</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>
10
<b>1. Mạch đếm Không đồng Bộ (KĐB) </b>
<b>Mạch đếm KĐB 3 bit, đếm lên, sử dụng JK _FF, Mode đếm = 8</b>
<b>Phân tích:</b>
<b>FFJK1: J1=K1=1 nên mỗi lần có xung kích CK cạnh xuống, ngõ ra </b>
<b>Q1 đảo trạng thái.</b>
<b>FFJK2: J2=K2=1 ; Q1 làm xung kích cho FFJK2 nên mỗi lần có </b>
<b>xung kích cạnh xuống (tại thời điểm CK2, CK4, CK6, CK8) thì Q2 </b>
<b>đảo trạng thái.</b>
</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>
<b>1. Mạch đếm Không đồng Bộ (KĐB) </b>
<b>Mạch đếm KĐB 3 bit, đếm lên, sử dụng JK _FF, Mode đếm = 8</b>
CK
Q1
Q2
Q3
1
2
3
4
5
6
7
8
0 1 0 1 0 1 0 1 0
0 0 1 1 0 0 1 1 0
0 0 0 0 1 1 1 1 0
LSB
MSB
Số Đếm
0 1 2 3 4 5 6 7 0
</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>
12
<b>CÁC BƯỚC PHÂN TÍCH MẠCH ĐẾM ĐỒNG BỘ</b>
<b>Bước 1: Xác định các biểu thức ngõ vào J<sub>i</sub>, K<sub>i</sub></b>
<b>Bước 2: Từ trạng thái hiện tại của các ngõ ra Q<sub>i </sub>, xác </b>
<b>định trạng thái của J<sub>i, </sub>K<sub>i</sub></b>
<b>Bước 3: Xác định trạng thái tiếp theo của các ngõ ra Q<sub>i</sub></b>
<b>theo J<sub>i</sub> K<sub>i</sub> và bảng hoạt động.</b>
</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>
<b>Xác định điều kiện kích thích cho các Flip-Flop</b>
• Để xác định điều kiện kích thích cho các Flip-Flop tuỳ theo
đáp ứng cần có ta sử dụng bảng sau:
<b>Đáp ứng</b> <b>Kích thích </b>
<b>Q<sub>N</sub></b> <b>→ Q<sub>N+1</sub></b> <b>S<sub>N</sub></b> <b>R<sub>N</sub></b> <b>J<sub>N</sub></b> <b>K<sub>N</sub></b> <b>T<sub>N</sub></b> <b>D<sub>N</sub></b>
<b>0 → 0</b> <b>0</b> <b>x</b> <b>0</b> <b>x</b> <b>0</b> <b>0</b>
<b>0 → 1</b> <b>1</b> <b>0</b> <b>1</b> <b>x</b> <b>1</b> <b>1</b>
<b>1 → 0</b> <b>0</b> <b>1</b> <b>x</b> <b>1</b> <b>1</b> <b>0</b>
</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>
14
</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15></div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>
16
</div>
<!--links-->