9
BAØI TAÄP VHDL 1. Cho caùc ñònh nghóa kieåu vaø khai baùo tín hieäu sau: Caùc pheùp gaùn naøo sau ñaây laø hôïp leä vaø khoâng hôïp leä: Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-1/9

Bt vhdl

Embed Size (px)

Citation preview

Page 1: Bt vhdl

BAØI TAÄP VHDL

1. Cho caùc ñònh nghóa kieåu vaø khai baùo tín hieäu sau:

Caùc pheùp gaùn naøo sau ñaây laø hôïp leä vaø khoâng hôïp leä:

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-1/9

Page 2: Bt vhdl

2. Cho caùc khai baùo tín hieäu sau:

a) Haõy ñieàn vaøo choã troáng:

b) Caùc thao taùc naøo sau ñaây laø hôïp leä vaø khoâng hôïp leä:

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-2/9

Page 3: Bt vhdl

3. Cho moâ taû VHDL sau:

Caáu truùc maïch toång hôïp cuûa Y1 vaø Y2 coù khaùc nhau khoâng ? Giaûi thích. 4. Vieát maõ VHDL moâ taû caùc maïch sau:

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-3/9

Page 4: Bt vhdl

(a) (b)

Hình P4 5. Vieát maõ VHDL moâ taû baûng chaân trò sau:

Hình P5

6. Vieát moâ taû VHDL cho maïch doàn keânh toång quaùt sau:

Hình P6

7. Duøng caùc phaùt bieåu song song, vieát maõ VHDL cho boä coäng 8-bit khoâng daáu sau:

Hình P7

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-4/9

Page 5: Bt vhdl

8. Vieát moâ taû VHDL cho ALU sau duøng caùc phaùt bieåu song song:

Hình P8

9. Xaây döïng maïch so saùnh 2 vector 8-bit, a vaø b vôùi moät ngoõ vaøo choïn sel xaùc ñònh so saùnh soá coù daáu (sel = ‘1’) hay khoâng daáu (sel = ‘0’). Maïch coù 3 ngoõ ra x1, x2 vaø x3 töông öùng vôùi a>b, a=b vaø a<b.

Hình P9

Söûa laïi maõ treân ñeå toång quaùt hoùa cho tröôøng hôïp N-bit.

10. Vieát moâ taû VHDL thöïc hieän maïch chuyeån ñoåi töø maõ nhò phaân sang maõ Gray 4-bit.

11. Thieát keá maïch ñeám caùc bit ‘0’ ôû phaàn ñaàu cuûa moät vector nhò phaân, baét ñaàu töø MSB.

12. Vieát maõ VHDL moâ taû maïch ñeám soá bit ‘1’ trong vector nhò phaân ngoõ vaøo.

13. Vieát maõ VHDL moâ taû maïch coäng toång quaùt 8-bit duøng voøng laëp for. Toång quaùt hoùa cho tröôøng hôïp N-bit.

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-5/9

Page 6: Bt vhdl

Hình P13

14. Tìm sô ñoà logic öùng vôùi moâ taû VHDL sau:

15. Thieát keá JK-FLIP-FLOP hoaït ñoäng theo caïnh leân cuûa xung clock:

a) Bình thöôøng vôùi 2 ngoõ ra q vaø q_n b) Coù ngoõ vaøo reset baát ñoàng boä c) Coù ngoõ vaøo reset vaø preset baát ñoàng boä

16. Haõy vieát maõ VHDL ñeå moâ taû thanh ghi dòch toång quaùt N-bit coù ngoõ vaøo RST laø reset baát ñoàng boä tích cöïc möùc 1, ngoõ vaøo LOAD = 1 seõ naïp döõ lieäu N-bit töø ngoõ vaøo DATA vaøo thanh ghi dòch (ñoàng boä theo caïnh leân xung CLK), khi RST = LOAD = 0 vaøcoù caïnh leân cuûa xung CLK thì:

- Dòch traùi ngoõ vaøo khi bit choïn LR = 0. - Dòch phaûi ngoõ vaøo khi bit choïn LR = 1.

Döõ lieäu vaøo noái tieáp laø SERIN.

17. Haõy vieát maõ VHDL moâ taû boä ñeám leân/xuoáng 4-bit, hoaït ñoäng theo caïnh leân cuûa xung CLK: - Ngoõ vaøo choïn UD = ‘0’: ñeám leân, UD = ‘1’: ñeám xuoáng. - Ngoõ vaøo LOAD = 0 seõ naïp döõ lieäu 4-bit töø ngoõ vaøo DATA vaøo boä ñeám (ñoàng boä theo

caïnh leân xung CLK). - Tín hieäu cho pheùp boä ñeám EN seõ ngöøng hoaït ñoäng ñeám khi EN = ‘0’, nhöng vaãn cho

pheùp naïp döõ lieäu. - Ngoõ ra CO seõ baèng ‘1’ khi ñeám leân vaø boä ñeám voøng veà giaù trò nhoû nhaát (MIN_VAL, maëc

ñònh laø “0000”) hay ñeám xuoáng vaø boä ñeám voøng veà giaù trò lôùn nhaát (MAX_VAL, maëc ñònh laø “1111”). Gôïi yù: Neân ñaët MIN_VAL vaø MAX_VAL laø haèng soá ñeå deã chænh söûa maõ khi caàn thieát.

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-6/9

Page 7: Bt vhdl

18. Vieát maõ VHDL moâ taû maïch ñeám 2-digit (00 → 99 → 00) coù moät ngoõ vaøo reset baát ñoàng boä vaø ngoõ ra laø 2-digit BCD. Maïch hoaït ñoäng theo caïnh leân cuûa xung CLK.

19. Tìm sô ñoà logic öùng vôùi moâ taû VHDL sau:

20. Vieát maõ VHDL moâ taû maïch Full-Adder 1-bit, sau ñoù duøng noù nhö moät component ñeå xaây döïng boä coäng toång quaùt N-bit.

21. Söû duïng JK-FF ôû baøi 15 nhö component ñeå thieát keá: - Boä ñeám baát ñoàng boä 4-bit. - Boä ñeám BCD baát ñoàng boä (giaû söû coù saün component AND2).

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-7/9

Page 8: Bt vhdl

22. Vieát maõ VHDL moâ taû maïch taïo treã döõ lieäu laäp trình ñöôïc nhö treân hình P22. Ngoõ vaøo d vaø ngoõ ra q laø caùc vector 4-bit. Phuï thuoäc vaøo ngoõ vaøo choïn sel, ngoõ ra q seõ treã 1, 2, 3 hay 4 chu kì xung clk so vôùi ngoõ vaøo d.

Hình P22

23. Hình P23 minh hoïa caáu truùc cuûa moät thieát keá phaân caáp. Hai component, counter vaø register, ñöôïc duøng ñeå xaây döïng moät maïch möùc cao hôn laøstop_watch. Counter seõ ñeám leân lieân tieáp moãi khi coù xung caïnh leân cuûa clk vaø seõ reset moãi khi tín hieäu stop ñöôïc kích hoaït (möùc ‘1’). Traïng thaùi cuûa counter phaûi ñöôïc löu vaøo register ngay tröôùc khi xaûy ra reset ngoõ ra. Khi stop trôû veà ‘0’, counter baét ñaàu ñeám laïi töø 0, trong khi ñoù register giöõ giaù trò ñeám tröôùc ñoù. Thieát keá hai component counter vaø register, sau ñoù khôûi taïo chuùng trong maõ chính xaây döïng maïch stop_watch hoaøn chænh.

Hình P23

24. Vieát maõ VHDL moâ taû FSM sau:

Hình P24

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-8/9

Page 9: Bt vhdl

25. Vieát maõ VHDL moâ taû caùc FSM sau: - Ngoõ vaøo: Red, Green vaø Blue (theo thöù töï treân hình). - Ngoõ ra: NewColor. - Heä coù moät ngoõ vaøo reset baát ñoàng boä, tích cöïc möùc ‘0’ ñeå ñaët traïng thaùi ñaàu laø

WhiteState.

Mealy Moore

Hình P25 26. Vieát maõ VHDL moâ taû FSM vôùi ngoõ ra goàm caû hai loaïi Mealy vaø Moore nhö sau:

- Ngoõ vaøo: A, Hold - Ngoõ ra: Y_Mo, Y_Me (ngoõ ra treân hình chæ ghi taïi caùc vò trí tích cöïc (möùc ‘1’)).

Hình P26

Giaûng vieân: Nguyeãn Quang Minh BT-VHDL-9/9