16
308 ฟลิปฟลอป บทที่ 15 ฟลิปฟลอป ฟลิปฟลอบ เป็นอุปกรณ์ที่ทำหน้ำที่เก็บข้อมูลเหมือนกับแลตซ์ ต่ำงกันที่แลตซ์อำจจะ มีขำควบคุมหรือไม่มีก็ได้ ถ้ำมีขำควบคุม (Enable) ก็จะทำงำนที่ระดับสัญญำณ (Level - Triggered) ส่วนฟลิปฟลอปจะทำงำนที่ขอบสัญญำณ อำจจะเป็นขอบขึ ้น (Positive Edge - Triggered) ขอบลง (Negative Edge - Triggered) หรือทั ้งสองกรณีรวมกันเป็นแบบพัลส์ (Pulse - Triggered) โดยเรียกสัญญำณควบคุมนี ้ว่ำสัญญำณนำฬิกำหรือ Clock (CK, CLK, CP)อินพุต อื่นๆ จะมีผลกับฟลิบฟลอบก็ต่อเมื่อมีสัญญำณนำฬิกำเข้ำมำเท่ำนั ้น เรียกอินพุตเหล่ำนี ้ว่ำ Synchronous Input ลักษณะของฟลิบฟลอบแสดงดังรูปที่ 15.1 รูปที่ 15.1 แสดงลักษณะขำ Clock ของฟลิบฟลอบ เครื่องหมำยสำมเหลี่ยมที่ขำนำฬิกำ หมำยถึงฟลิบฟลอบทำงำนที่ขอบของสัญญำณ นำฬิกำ ส่วนแบบพัลส์ (Pulse - Triggered) จะทำงำนก็ต่อเมื่อมีทั ้งขอบขำขึ ้นและขอบขำลง ของสัญญำณนำฬิกำเข้ำมำ 1 พัลส์ นั่นเอง บำงครั ้งเรียกฟลิบฟลอบชนิดนี ้ว่ำ Master/Slave Flip-Flop 15.1 R-S Flop – Flop (Reset – Set Flop - Flop) R-S Flop – Flop หรือบำงครั ้งเรียกว่ำ C-S Flop – Flop (Clear – Set Flop - Flop) ประกอบด้วย Synchronous Input 2 อินพุต คือ Reset (R) หรือ Clear (C) และ Set (S) Reset (R) หมำยถึงทำให้เป็น 0 ถ้ำขำ R active ทำให้เอำต์พุต Q เป็น 0 Set (S) หมำยถึงทำให้เป็น 1 ถ้ำขำ S active ทำให้เอำต์พุต Q เป็น 1 โครงสร้ำงภำยในของ R-S Flop – Flop แสดงดังรูปที่ 15.2

ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

308 ฟลปฟลอป

บทท 15 ฟลปฟลอป

ฟลปฟลอบ เปนอปกรณทท ำหนำทเกบขอมลเหมอนกบแลตซ ตำงกนทแลตซอำจจะ

มขำควบคมหรอไมมกได ถำมขำควบคม (Enable) กจะท ำงำนทระดบสญญำณ (Level - Triggered) สวนฟลปฟลอปจะท ำงำนทขอบสญญำณ อำจจะเปนขอบขน (Positive Edge - Triggered) ขอบลง (Negative Edge - Triggered) หรอทงสองกรณรวมกนเปนแบบพลส (Pulse - Triggered) โดยเรยกสญญำณควบคมนวำสญญำณนำฬกำหรอ Clock (CK, CLK, CP)อนพตอนๆ จะมผลกบฟลบฟลอบกตอเมอมสญญำณนำฬกำเขำมำเทำนน เรยกอนพตเหลำนวำ Synchronous Input ลกษณะของฟลบฟลอบแสดงดงรปท 15.1

รปท 15.1 แสดงลกษณะขำ Clock ของฟลบฟลอบ เครองหมำยสำมเหลยมทขำนำฬกำ หมำยถงฟลบฟลอบท ำงำนทขอบของสญญำณนำฬกำ สวนแบบพลส (Pulse - Triggered) จะท ำงำนกตอเมอมทงขอบขำขนและขอบขำลงของสญญำณนำฬกำเขำมำ 1 พลส นนเอง บำงครงเรยกฟลบฟลอบชนดนวำ Master/Slave Flip-Flop 15.1 R-S Flop – Flop (Reset – Set Flop - Flop) R-S Flop – Flop หรอบำงครงเรยกวำ C-S Flop – Flop (Clear – Set Flop - Flop) ประกอบดวย Synchronous Input 2 อนพต คอ Reset (R) หรอ Clear (C) และ Set (S)

Reset (R) หมำยถงท ำใหเปน 0 ถำขำ R active ท ำใหเอำตพต Q เปน 0 Set (S) หมำยถงท ำใหเปน 1 ถำขำ S active ท ำใหเอำตพต Q เปน 1

โครงสรำงภำยในของ R-S Flop – Flop แสดงดงรปท 15.2

Page 2: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

ฟลปฟลอป 309

รปท 15.2 แสดงโครงสรำงของ R-S Flop – Flop วงจร Edge Detector เปนวงจรสรำงสญญำณพลส แคบๆ เมอสญญำณนำฬกำ มกำรเปลยนระดบลอจก โดยแบงเปน 2 ชนดคอ สรำงพลสทขอบขนของสญญำณนำฬกำ (สญญำณนำฬกำเปลยนจำก 0 เปน 1) และสรำงพลสทขอบลงของสญญำณนำฬกำ (สญญำณนำฬกำเปลยนจำก 1 เปน 0)

รปท 15.3 แสดงวงจร Edge Detector ควำมกวำงของพลสของ CK ทเกดขนมคำเทำกบชวงเวลำประวงของ Inverter วงจรสรำงพลสทขอบขนของสญญำณนำฬกำจะใชกบฟลปฟลอปแบบ Positive Edge - Triggeredวงจรสรำงพลสทขอบลงของสญญำณนำฬกำจะใชกบฟลปฟลอปแบบ Negative Edge – Triggered

Page 3: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

310 ฟลปฟลอป

จำกวงจรรปท 15.2 ถำ Set (S) = Reset (R) = เอำตพต QQ, ยงคงเหมอนเดม ถำ Set (S) = 0, Reset (R) = 1 ท ำใหเอำตพต Q เปน 0 Q เปน 1 ถำ Set (S) = 1, Reset (R) = 0 ท ำใหเอำตพต Q เปน 1 Q เปน 0 กรณ Set (S) = Reset (R) = 1 เปนกรณทไมมกำรใชงำน จำกคณสมบตกำรท ำงำนของวงจรรปท 15.2 น ำไปเขยนแทนดวยสญลกษณและตำรำง ควำมจรงไดดงรปท 15.4 โดยใชวงจร Edge Detector แบบสรำงพลสทขอบขนของสญญำณนำฬกำ ดงนน ฟลบฟลอบจงท ำงำนทขอบขนของสญญำณนำฬกำ (Positive Edge - Triggered)

รปท 15.4 แสดงสญลกษณและคณสมบตของ R-S Flip - Flop 15.1.1 Clock pulse Flip Flop ทไดกลำวมำแลวทงสองแบบ เปน Flip Flop ทเปลยนสภำวะโดยระดบสญญำณ Logic ทปอนโดยตรง ในกรณทจะใช Flip Flop ตอรวมกนหลำยๆ ภำค จะใชวธกำรเชนนจะท ำใหไมสะดวกเพรำะไมสำมำรถจะท ำใหเกดกำรเปลยนสกำวะพรอมๆ กนไดวธกำรทจะท ำใหFlip Flop แตละตวเปลยนสภำวะพรอมๆ กนนน ตองมกำรใหสญญำณกำรเปลยนสภำวะ สญญำณดงกลำวเรยกวำ Clock pulse (CK) ซงมรปคลนและสวนประกอบดงรป

รปท 15.5 Clock pulse

Page 4: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

ฟลปฟลอป 311

รปท 15.5 (ตอ) รปท 15.5 เปนรปคลนของ Clock pulse (CK) ซงเขยนใหเหนควำมชนทำงดำนทคลนเปลยนสภำพจำก 0V เปน + 5V หรอท เรยกวำขอบขำขน (Leading edge) กบสวนทเปลยนจำก+5V เปน 0V หรอทเรยกวำขอบขำลง (Trailing edge) แตควำมเปนจรงแลว ทงขอบขำขนและขอบขำลงใชเวลำสนมำกเมอเทยบกบควำมกวำงของ pulse ดงนนเรำจะเหนเปนเสนตงฉำก 15.1.2 R-S Flip Flop ใช Clock pulse R-S Flip Flop ทงสองชนดสำมำรถใช Clock pulse เปนตวควบคมไดโดยตอแอนดเกตไปในวงจรดงแสดงตำมรปท 15.6

รปท 15.6 R-S Flip Flop with Clock pulse

Page 5: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

312 ฟลปฟลอป

ตำรำงท 15.1 Truth table ของ R-S Flip Flop เมอม Clock pulse

จำกรปท 15.6 ปกตทขำ CK เปน Logic 0 Output ของ AND gate ทงสองตวจะเปน Logic 0 ทงค และท ำใหไมเกดกำรเปลยนสภำวะตำมคณสมบตเดมแตถำ CK เปลยนสภำวะจำก Logic 0 เปน Logic 1 ในชวงขอบขำขนของ pulse ท ำให Output ของ AND gate เปนไปตำมขอมลของ R และ S นนคอ Output และ Q กจะเปนไปตำมเงอนไขทไดกลำวมำแลว ส ำหรบในขณะขอบขำลงของ CK จนกระทง CK เปน Logic 0 นน Output ของ AND gate ทงสองเปน Logic 0 นนคอ ไมมกำรเปลยนสภำวะ โดยสภำวะเตมกอนขอบขำลงเปนสภำวะใดเมอพนขอบขำลงของ CK แลว กจะเปนไปตำมนน (เครองหมำยลกศรชขนของชวง CK ตำมตำรำงท 15.1 หมำยควำมวำ Active ทขอบขำขนของ CK) เนองจำก Output และ Q จะเปลยนแปลงสภำวะตำมเงอนไขของ Input R และ S กตอ เมอ CK อยทสภำวะเปน Logic เทำนน หรอท เรำเรยกวำ Active high ถำหำก CK อยในสภำวะเปน Logic 0 เรำไมสำมำรถเปลยนแปลงสภำวะของ Output และ Q ใหเลย แตในบำงครง เรำจ ำเปน ตองให Output เปน Logic 0 หรอ 1โดยไมตองกำรรอจงหวะจำก CK ดงนนเรำตองเพมขำ Clear (CLK) และ Preset (PR) เขำไป ปกตขำ Clear และ Preset เรำให Logic 0 ไว ถำตองกำรให เปนLogic 1 ในชวงท CK ยงเปน Logic 0 อย เรำกเปลยน Logic ทขำ Preset จำก Logic 0 เปน Logic 1 Output กจะเปน Logic 1 โดยไมสนใจวำ สภำวะเดมเปน Logic 0 หรอ Logic 1 ในทำงกลบ กน ถำตองกำรให เปน Logic 0 โดยไมสนใจวำสภำวะเดมเปนอะไร กใหขำ Clear เปน Logic 1

Q

Q

Q

Q

Q

Q Q

Q

Page 6: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

ฟลปฟลอป 313

ในบำงกรณ ถำเรำตองกำรให CK หรอ Preset หรอ Clear ท ำงำนแบบ Active Low เรำกสำมำรถท ำไดโดยกำรใส Inverter เขำไปทขำนน 15.2 JK Flip Flop R-S Flip Flop ทกลำวมำแลว มขอเสยทไมสำมำรถน ำไปใชงำนกรณ S = R = 1 จงมกำรดดแปลงไปเปน J-K Flip Flop ขำ J มคณสมบตเหมอนกบขำ S และขำ K มคณสมบตเหมอนกบ ขำ R กรณ J = K = 1 เอำตพตของฟลปฟลอป ( และQ ) จะมลอจกตรงขำมกบกคำเดม สวนกรณอนๆ มคณสมบตเหมอนกบ R-S Flip Flop โครงสรำงภำยในของ J-K Flip Flop แสดงดงรปท 15.7

รปท 15.7 แสดงโครงสรำงของ J-K Flip Flop จำกวงจรกรณ J = K = 1 เมอมสญญำณนำฬกำเขำมำ ถำเดม Q เปน 0 กจะเปลยนเปน 1 ถำเดม Q เปน 1 กจะเปลยนเปน 0 เรยกกำรท ำงำนกรณนวำ Toggle ถำวงจร Edge Detector เปนแบบสรำงพลสทขอบขนของนำฬกำ จะได J-K Flip Flop แบบ Positive Edge – Triggered ซงมสญลกษณและตำรำงควำมจรงแสดงดงรปท 15.8

รปท 15.8 แสดงสญลกษณและคณสมบตของ J-K Flip Flop

Q

Page 7: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

314 ฟลปฟลอป

จำกตำรำงควำมจรงน ำไปเขยนควำมสมพนธระหวำง Qn กบ Qn+1 เขยน KM เปน สมกำรลอจกและแผนภำพสเตจของ J-K Flip Flop ไดดงน

รปท 15.9 แสดงกำรน ำตำรำงควำมจรงไปเขยนควำมสมพนธ จำกตำรำงควำมจรงของ J-K Flip Flop ในรปท 15.8 เปนตำรำงแสดงคณสมบตทมองจำกอนพต ไปหำเอำตพตเปนกรณทรคำอนพตแลวจงหำคำเอำตพต ซงจะใชในกำรวเครำะหวงจร แตในกรณกำรออกแบบวงจรจะตองพจำรณำในทำงตรงกนขำม กลำวคอรผลของ เอำตพตกอนแลวจงไปหำอนพตทท ำใหเกดเอำตพตตำมตองกำร เรยกตำรำงคณสมบตทมองจำกเอำตพตไปหำอนพตนวำ Input Table ของฟลปฟลอบโดยแปลงมำจำกแผนภำพสเตจดงน

ตำรำงท 15.2 แสดง Input Table ของ J-K Flip Flop

15.3 D Flip - Flop (Data Flip - Flop) D Flip Flop เปนฟลปฟลอปทท ำหนำทสงขอมลจำกอนพตไปยงเอำตพต โดยกำร ควบคมของสญญำณนำฬกำขำ Synchronous Input ของ D Flip Flop มเพยง 1 ขำ คอขำ Data (D) จำกตำรำงควำมจรงของ J-K Flip Flop ในรปท 15.8 ในกรณทขำ J และ K ไดรบลอจก

Page 8: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

ฟลปฟลอป 315

ตรงกนขำม เมอมสญญำณนำฬกำเขำมำ เอำตพต Q จะเหมอนกบลอจกขำ J และ K ใหท ำงำนทสถำนะลอจกตรงกนขำม (เพม Inverter ทขำ K) ดงรปท 15.10 (ก) ซงเปนฟลปฟลอบแบบ Positive Edge - Triggered

รปท 15.10 แสดงโครงสรำงและคณสมบตของ D Flip Flop จำกตำรำงควำมจรงน ำไปเขยนควำมสมพนธระหวำง Qn กบ Qn+1 เขยน KM เขยน สมกำรลอจกและแผนภำพสเตจของ D Flip Flop ไดดงน

รปท 15.11 แสดงกำรน ำตำรำงควำมจรงไปเขยนควำมสมพนธ จำกแผนภำพสเตจน ำไปเขยน Input Table ไดดงตำรำงท 15.3

ตำรำงท 15.3 แสดง Input Table ของ D Flip Flop

Page 9: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

316 ฟลปฟลอป

15.4 T Flip Flop (Toggle Flip-Flop) T Flip Flop เปนฟลปฟลอปทดดแปลงมำจำก J-K Flip Flop โดยกำรออกแบบใหท ำงำนเฉพำะชวง Toggle เทำนน (J = K =1) ลกษณะของ T Flip Flop แสดงดงรปท 15.12 ซงเปนฟลบฟลอบแบบ Negative Edge - Triggered

รปท 15.12 แสดงโครงสรำงและคณสมบตของ T Flip Flop T Flip Flop ในรปท 15.12 เปนแบบไมมขำ Clock จงไมสำมำรถน ำไปใชในวงจรแบบซงโครนสไดถำตองกำรใชงำนแบบม Clock กสำมำรถตอวงจรไดดงรปท 15.13 ซงเรยกวำ Clocked T Flip Flop

รปท 15.13 แสดงโครงสรำงและคณสมบตของ Clocked T Flip Flop จำกตำรำงควำมจรงน ำไปเขยนควำมสมพนธระหวำง Qn กบ Qn+1 เขยน KM เขยน สมกำรลอจก และ Input Table ไดดงน

Page 10: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

ฟลปฟลอป 317

รปท 15.14 แสดงกำรน ำตำรำงควำมจรงไปเขยนควำมสมพนธ 15.5 Master / Slave Flip - Flop (M/S Flip - Flop) ฟลปฟลอบทเคยกลำวถงในตอนแรก จะท ำงำนทต ำแหนงขอบขนหรอขอบลงของสญญำณนำฬกำ เรยกวำแบบ Edge – Triggered ยงมฟลปฟลอบอกชนดหนงทท ำงำนเมอสญญำณนำฬกำเขำมำ 1 พลส เรยกฟลบฟลอบชนดนวำเปนแบบ Master / Slave Flip – Flop หรอแบบ Pulse-Triggered

รปท 15.15 แสดงลกษณะของ J-K Flip Flop แบบ Master / Slave

Page 11: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

318 ฟลปฟลอป

จำกรปท 15.15 เปน J-K Flip-Flop แบบ Master/Slave โครงสรำงภำยในประกอบดวยฟลปฟลอป 2 ตวคอ Master จะท ำงำนชวงทสญญำณนำฬกำเปน 1 และ Slaveจะท ำงำนเมอสญญำณ นำฬกำเปลยนไปเปน 0 เนองจำกฟลปฟลอปชนดน ไมไดท ำงำนทขอบสญญำณนำฬกำ ดงนน สญลกษณของฟลปฟลอบในรปท 15.15 (ข) จงไมมเครองหมำยสำมเหลยม (>) ทขำ Clock แตจะเขยนรปพลส หรออำจจะไมเขยนเครองหมำยใดๆ ทขำ Clock กได เนองจำกเอำตพตเปลยนสถำนะ ขณะทสญญำณนำฬกำเปลยนไปเปน 0 จงเขยน เครองหมำยก ำกบไวทเอำตพต Qและ Q ขอเสยของ M/S Flip-Flop กคอขำ J และ K จะมผลกบ Master ตลอดเวลำขณะทสญญำณนำฬกำเปน 1 ดงนนในชวงน สญญำณทขำ J และ K ตองคงท ถำสญญำณทขำ J และ K เกดกำร เปลยนแปลงขณะทสญญำณนำฬกำเปน 1 จะท ำใหฟลปฟลอปท ำงำนผดพลำดไดเพอแกไขปญหำนจงไดมกำรดดแปลงเปนฟลปฟลอปแบบ Master/Slave with Data Lockout ซงฟลปฟลอปชนดน จะออกแบบใหขำ J และ K มผลกบ Master ในชวงเวลำสนๆ เทำนน (ประมำณ 20-30 ns) นอกจำกนนเอำตพตของ Master จะไมมกำรเปลยนแปลงอก ถงแมสญญำณนำฬกำจะเปน 1 กตำม สญลกษณของฟลปฟลอปชนดน แสดงดงรปท 15.16

รปท 15.16 แสดงสญลกษณของ M/S with Data Lockout ในรปท 15.17 เปนกำรเปรยบเทยบคณสมบตกำรท ำงำนของ D Flip-Flop แตละแบบดงน D Latch ขอมลจำกขำ D จะสงไปยง Q เมอขำ G ไดรบลอจก 1 เทำนน ถำขำ G ไดรบลอจก 0 เอำตพต Q จะไมมกำรเปลยนแปลง Positive Edge - Triggered D Flip-Flop ขอมลจำกขำ D สงไปยงเอำตพต Q ทขอบขนของสญญำณนำฬกำเทำนน สวนทต ำแหนงอนเอำตพต Q ไมมกำรเปลยนแปลง Negative Edge -Triggered D Flip-Flop ขอมลจำกขำ D จะสงไปยงเอำตพต Q ทขอบลงของสญญำณนำฬกำเทำนน สวนทต ำแหนงอนเอำตพต Q ไมมกำรเปลยนแปลง

Page 12: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

ฟลปฟลอป 319

M/S D Flip-Flop ขณะ CK เปน 1 ขอมลจำกขำ D จะถกน ำไปเกบไวใน Master ถำ ขอมลทขำ D เกดกำรเปลยนแปลงขณะท CK เปน 1 Master จะเกบขอมลหลงสดเอำไว เมอ CK เปลยน เปน 0 ขอมลทเกบไวจะไปปรำกฏทเอำตพต Q M/S with Data Lockout D Flip-Flop ขอมลจำกขำ D จะถกน ำไปเกบไวใน Master เฉพำะขณะท CK เรมเปน 1 ในชวงเวลำสนๆ เทำนน ขอมลนจะสงไปยงเอำตพต Q เมอ CK เปลยนไปเปน 0

รปท 15.17 แสดงคณสมบตของ D Flip-Flop แตละแบบ 15.6 การแทนฟลปฟลอปดวย VHDL เรำสำมำรถทจะแทนวงจรของฟลปฟลอบดวยภำษำ VHDL ไดโดยสำมำรถออกแบบไดจำกสมกำรหรอโครงสรำงกำรท ำงำนของตวฟลปฟลอปกได ตวอยำงกำรแทนตว ฟลบฟลอปดวยภำษำ VHDL แสดงดงรปท 15.18 และ 15.19

Page 13: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

320 ฟลปฟลอป

--------------------------------------------- -- D Flip-Flop

--

-- Flip-flop is the basic component in

-- sequential logic design

-- we assign input signal to the output

-- at the clock rising edge

---------------------------------------------

library ieee ;

use ieee.std_logic_1164.all;

use work.all;

---------------------------------------------

entity dff is

port( data_in: in std_logic;

clock: in std_logic;

data_out: out std_logic

);

end dff;

----------------------------------------------

architecture behv of dff is

begin

process(data_in, clock)

begin

-- clock rising edge

if (clock='1' and clock'event) then

data_out <= data_in;

end if;

end process;

end behv;

----------------------------------------------

รปท 15.18 กำรแทน D Flip-Flop ดวย ภำษำ VHDL

Page 14: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

ฟลปฟลอป 321

-- JK Flip-Flop with reset

-- the description of JK Flip-Flop is based

-- on functional truth table

-- concurrent statement and signal assignment

-- are using in this example

library ieee;

use ieee.std_logic_1164.all;

entity JK_FF is

port ( clock: in std_logic;

J, K: in std_logic;

reset: in std_logic;

Q, Qbar: out std_logic ); end JK_FF;

architecture behv of JK_FF is

-- define the useful signals here

signal state: std_logic;

signal input: std_logic_vector(1 downto 0);

begin

-- combine inputs into vector

input <= J & K;

p: process(clock, reset) is

begin

if (reset='1') then

state <= '0';

elsif (rising_edge(clock)) then

-- compare to the truth table

case (input) is

when "11" =>

state <= not state;

when "10" =>

state <= '1';

when "01" =>

state <= '0';

when others =>

null;

end case;

end if;

end process;

-- concurrent statements

Q <= state;

Qbar <= not state;

end behv;

รปท 15.19 กำรแทน JK Flip-Flop ดวย ภำษำ VHDL

Page 15: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

322 ฟลปฟลอป

แบบฝกหดท 15 1. จงเขยนตำรำงควำมจรงของวงจรตอไปน แลวพจำรณำตำรำงควำมจรงของแตละวงจรวำม คณสมบตเหมอนฟลปฟลอปชนดใด

(ก)

(ข)

(ค)

(ง)

Page 16: ฟลิปฟลอป · 2016-11-15 · D Flip Flop เป็นฟลิปฟลอปที่ทำหน้ำที่ส่งขอ้มูลจำกอินพุตไปยงัเอำต์พุต

ฟลปฟลอป 323

2. จำกรปสญำณทก ำหนด น ำไปจำยใหกบอนพตของ J-K Flip-Flop จงเขยนสญญำณเอำตพต ของ Q เมอใชฟลปฟลอปตอไปน (ก) J-K Flip-Flop แบบ Positive Edge-Triggered (ข) J-K Flip-Flop แบบ Negative Edge-Triggered

3. จำกรปสญญำณทก ำหนด น ำไปจำยใหกบอนพตของ Clocked T Flip-Flop แบบ Negative Edge - Triggered จงเขยนสญญำณเอำตพต Q เมอคำเรมตนของ Q เปน 1