EES270 · DC LAB 4 · ตอนที่ 11

VHDL — เขียนวงจรแทนการลากสาย

ตอนที่แล้วเราลากสายเจ็ดเส้นเพื่อขับจอเจ็ดขีด รอบนี้เราพิมพ์ตัวหนังสือไม่กี่บรรทัดแล้วได้ของเดียวกันครับ กดเล่นทีละฉาก เมื่อถึงคำถาม เสียงจะหยุดรอให้น้องตอบครับ

ประมาณ 17 นาที ของที่น้องมีแล้ว: เกต AND OR XOR · ตารางค่าความจริง · K-map · จอเจ็ดขีดจากตอนที่แล้ว คำถามให้กดตอบ 14 จุด โจทย์ในชีทครบทั้ง Lab work 1 ถึง 5

1ทำไมต้องเขียนแทนการลากสาย

คำที่ต้องจำPLD คือไอซีเปล่าที่โปรแกรมได้ ส่วน VHDL คือภาษาที่เราใช้พิมพ์บอกมันว่าอยากได้วงจรอะไรครับ

2วงจรบวกเลขฐานสอง

สองสมการของตัวบวกครึ่งco <= a and b; และ sum <= a xor b; — สองบรรทัดนี้คือทั้งหมดของวงจรครับ

3อ่านโค้ด VHDL ให้ออก

กฎการตั้งชื่อจากชีทDo not start with a number. · Do not end with an underscore. · Do not use the words preserved in VHDL, such as ‘and’.
และ VHDL ไม่สนตัวพิมพ์ใหญ่เล็ก — A กับ a คือตัวเดียวกันครับ

4ตัวบวกเต็ม กับ K-map

เจอลายหมากรุกเมื่อไร ให้นึกถึง xorK-map ของผลบวกจับกลุ่มไม่ได้เลย คำตอบจึงเป็น s <= a xor b xor cin; ครับ

5โจทย์ในชีท — ลองทำเองทีละข้อ

เปิดฉากแล้วกดเล่นเพื่อฟังโจทย์ครับ พี่จะหยุดรอคำตอบก่อนแสดงวิธีทำครับ

Lab work 3เขียน full adder เป็น VHDL
Develop a PLD by writing the Boolean expressions for sum and carry-out in VHDL form. Attach the screenshot of the code in the provided space.
เปิดโจทย์และวิธีทำ Lab work 3
Lab work 4ต่อสี่ตัวเป็นตัวบวกสี่บิต
Design a 4-bit full adder by connecting the 4 full adder PLDs designed above. You may use Hex Keyboards for inputs A and B and Hex Displays to show outputs.
เปิดโจทย์และวิธีทำ Lab work 4

Lab work 5 — PLD ที่ทำหน้าที่แทนไอซี 7447

6ทางลัด — เขียนทั้งตารางรวดเดียว

กับดักลำดับบิตภาคผนวก 1 เขียนเลข 2 ว่า 1011011 ส่วนภาคผนวก 2 เขียน 1101101เป็นเลขเดียวกัน ต่างกันแค่ประกาศขาเรียงจาก g ไป a กับจาก a ไป g ครับ ดูบรรทัด port ทุกครั้งก่อนอ่านค่า

7สรุป — สามข้อที่เอาไปใช้ต่อได้

สามอย่างที่นำไปใช้ต่อได้

PLD: ไอซีเปล่าที่ยังไม่มีวงจรข้างใน เราพิมพ์บอกมันว่าอยากได้อะไร แล้วมันกลายเป็นไอซีตัวนั้นครับ
โครงของโค้ด: entity บอกหน้าตาขา · architecture บอกว่าขาออกได้ค่ามาจากอะไรครับ
เขียนได้หลายแบบ: สมการทีละบรรทัด · with … select ทั้งตารางรวดเดียว · หรือ process แบบมีเงื่อนไข ผลลัพธ์เหมือนกันครับ