10.1 วงจร Combination (Combination Circuit)
วงจร Combination หรือ Combination Circuit มีความสัมพันธ์กับตารางความจริงและสมการพีชคณิตบูลีน
ซึ่งใช้ลดทอนรูปของฟังก์ชันให้ลดลงได้ อีกวิธีหนึ่งซึ่งใช้กันอย่างแพร่หลาย คือ การใช้แผนผังคาร์โนห์ (K-map หรือ Karnaugh-
map)ลดรูปฟังก์ชันลอจิกทั้งในรูปแบบ SOP และ POS ซึ่งใช้งานได้สะดวกและมีความถูกต้องแม่นยำ เหมาะสำหรับนำไปใช้ใน
การออกแบบวงจร Combination จากตารางความจริงหรือจากสมการบูลีน วงจร Combination เป็นวงจรที่ประกอบไปด้วยลอจิกเกต
ชนิดต่างๆ ที่ประกอบกันเป็นวงจรลอจิก และทำงานได้ตามฟังก์ชันที่กำหนดไว้ ภายในวงจร Combination ไม่มีอุปกรณ์ประเภทหน่วย
ความจำ เช่น ฟลิป- ฟลอบ ดังนั้นเอาต์พุตของวงจรจะเปลี่ยนแปลงสภาวะลอจิกไปเมื่อสภาวะลอจิกทางอินพุตเปลี่ยน แปลงไปในทันที
หรือหลังจากเวลาหน่วงของลอจิกเกตนั้นทำงานเสร็จสิ้น แผนภาพกรอบของวงจร Combination แสดงดัง รูปที่ 10.1
|
รูปที่ 10.1 แผนภาพกรอบวงจรเชิงจัดหมู่
|
วงจร Combination ขนาดตามจำนวนของลอจิกเกตที่บรรจุอยู่ภายในชิปวงจรรวมโดยแบ่งเป็น 4 ชนิดดังนี้
1. ชนิด SSI (Small – Scale Integration) เป็นชนิดที่มีลอจิกเกตภายในไม่เกิน 12 ตัว
2. ชนิด MSI (Medium – Scale Integration) เป็นชนิดที่มีลอจิกเกตภายในระหว่าง 12 - 99 ตัว
3. ชนิด LSI (Large - Scale Integration) เป็นชนิดที่มีลอจิกเกตภายในมากกว่า 100 ตัว (100 ถึง 1000 ตัว)
4. ชนิด VLSI (Very Large - Scale Integration) เป็นชนิดที่มีลอจิกเกตภายในมากกว่าชนิด LSI (มากกว่า 1000 ตัว)
<< Go To Top
|
10.2 การวิเคราะห์วงจรลอจิก
การวิเคราะห์วงจรลอจิกหมายถึง การอธิบายคุณสมบัติของวงจรลอจิก โดยอาจจะอธิบายในรูปของสมการลอจิก ตารางความจริง
หรือ Timing Diagram ก็ได้สมการลอจิก ตารางความจริง และ Timing Diagram ล้วนแต่ใช้อธิบายคุณสมบัติของวงจรลอจิก
ได้ทั้งสิ้นต่างกันที่วิธีการอธิบาย กล่าวคือ สมการลอจิกอธิบายในรูปของสมการคณิตศาสตร์ ตารางความจริงอธิบายในรูปของตาราง
Timing Diagram อธิบายโดยเขียนรูปคลื่นที่จุดต่างๆ ของวงจร
|
ตัวอย่างที่ 10.1 จงเขียนสมการลอจิก ตารางความจริง และ Timing Diagram ของวงจรลอจิก
วิธีทำ
ตารางความจริง
Timing Diagram หาได้โดยการนำค่าจากตารางความจริงมาเขียนเป็นรูปคลื่นดังนี้
|
ตัวอย่างที่ 10.2 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
|
ตัวอย่างที่ 10.3 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
|
ตัวอย่างที่ 10.4 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
|
ตัวอย่างที่ 10.5 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
|
ตัวอย่างที่ 10.6 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
|
ตัวอย่างที่ 10.7 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
|
ตัวอย่างที่ 10.8 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
|
ตัวอย่างที่ 10.9 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
|
ตัวอย่างที่ 10.10 ให้สร้างวงจรลอจิก ตามสมการที่กำหนดให้ต่อไปนี้
วิธีทำ
<< Go To Top
|
10.3 การวิเคราะห์และออกแบบวงจรลอจิกเชิงจัดหมู่ตามเงื่อนไขของโจทย์
การออกแบบวงจรลอจิกเชิงจัดหมู่นั้นจะเป็นไปตามเงื่อนไขของโจทย์ปัญหา ซึ่งผู้ออกแบบต้องเข้าใจโจทย์ปัญหาและแยกออก
ได้ระหว่างตัวแปรอินพุตและเอาต์พุต แล้วจึงเขียนตารางความจริงตามเงื่อนไขที่โจทย์กำหนด ลำดับต่อไปจึงใช้วิธีแผนผังคาร์โนห์ลด
รูปวงจรจึงจะได้วงจรลอจิกเป็นไปตามเงื่อนไขของผู้ออกแบบ ซึ่งมีขนาดของวงจรเล็กที่สุด และควรใช้ทฤษฎีของดี.มอร์แกนเปลี่ยนรูป
ของวงจรที่ออกแบบได้ให้อยู่ในฟังก์ชันของแนนด์เกตหรือนอร์เกตเพียงอย่างเดียว ดังนั้นจึงสรุปขั้นตอนของการออกแบบวงจรลอจิกเชิง
จัดหมู่จากโจทย์ปัญหาได้ตามบล็อกไดอะแกรมดังรูปที่ 10.2
|
รูปที่ 10.2 แสดงบล็อกไดอะแกรมขั้นตอนการออกแบบวงจรลอจิกเชิงจัดหมู่
|
1. นิยามตัวปัญหาปัญหา
2. สร้างตารางความจริงของโจทย์ปัญหา หรือ เขียนสมการพีชคณิตบูลีน
3. ลดรูปสมการโดยการเขียน โดยใช้วิธีการใดๆ เช่น แผนผังคาร์โนห์ หรือกฎของบูลีน
4. ทำให้สมการที่ได้ง่ายขึ้นโดยการใช้กฎของบูลีน หรือ ทฤษฎีของ ดี.มอร์แกน
5. เขียนลอจิกไดอะแกรมจากสมการที่ได้
6. เขียนวงจรลอจิกที่ได้จากข้อ 5
การออกแบบวงจร Combination ตามเงื่อนไขของโจทย์ปัญหานี้ จะต้องพิจารณาโจทย์อย่างรอบคอบว่าสิ่งใดคืออินพุตและเอาต์พุต
ของวงจร Combination ที่โจทย์กำหนด เมื่อพิจารณาอินพุตได้แล้วจึงกำหนดชื่อของตัวแปรอินพุตแต่ละตัวให้มีความหมายสัมพันธ์
กับอินพุตของโจทย์ปัญหาและกำหนดชื่อของตัวแปรเอาต์พุตเช่นกัน ลำดับต่อไปให้เขียนตารางความจริงแสดงเงื่อนไขต่างๆ
ตามที่โจทย์กำหนด จึงนำเอาต์พุตแต่ละตัวไปทำการลดรูปสมการโดยใช้แผนผังคาร์โนห์ ผลลัพธ์คือสมการบูลีนที่ลดรูปแล้วและ
ทำงานได้ตามฟังก์ชันลอจิกที่โจทย์ปัญหากำหนดไว้ สามารถศึกษาโจทย์ปัญหาดังตัวอย่างที่ 10.1
|
ตัวอย่างที่ 10.1 จงออกแบบวงจรลอจิกที่ทำหน้าที่เป็นวงจรสัญญาณเตือนในรถยนต์ ซึ่งแสดงในรูปที่ 10.3 (ก) วงจรลอจิกนี้รับสัญญาณ
จากการเปิด - ปิดประตูรถ และสัญญาณจากสวิตซ์กุญแจสตาร์ท รวมทั้งสัญญาณไฟในห้องโดยสาร และทำหน้าที่ตรวจสอบ
ความบกพร่องของคนขับรถ โดยเตือนด้วยสัญญาณไฟสีแดงบนแผงหน้าปัด ตาม เงื่อนไขต่อไปนี้
(1) ไฟเตือนจะติดสว่างเมื่อสวิตซ์กุญแจปิด (Off) และประตูรถเปิด (Open)
(2) ไฟเตือนจะติดสว่างเมื่อไฟในห้องโดยสารเปิด (On)
(3) ไฟเตือนจะดับเมื่อเงื่อนไขนอกเหนือจากข้อ (1) และ (2)
|
|
วิธีทำ (1) ตัวแปรอินพุตมี 3 ตัวแปรคือ
ก) ประตูรถ = Door = D
ข) สวิตซ์กุญแจ = Key = K
ค) ไฟในห้องโดนสาร = Lamp = L
และตัวแปรเอาต์พุตมี 1 ตัวแปรคือ ไฟเตือนสีแดง = Alarm = A
(2) กำหนดลอจิกอินพุตของตัวแปรทั้งสาม และเอาต์พุต A ดังนี้
D = 1 เมื่อประตูเปิด , D = 0 เมื่อประตูปิด
K = 1 เมื่อสวิตซ์ On , K = 0 เมื่อสวิตซ์ Off
L = 1 เมื่อไฟสว่าง , L = 0 เมื่อไฟดับ
A = 1 เมื่อไฟเตือนติด , A = 0 เมื่อไฟเตือนดับ
(3) เขียนตารางความจริงตามเงื่อนไขที่โจทย์กำหนดได้ดังนี้
สมการเอาต์พุตที่ได้
|
(5) เขียนวงจรลอจิกที่ออกแบบได้ และนำไปทดสอบการทำงานตามเงื่อนไขที่โจทย์
กำหนดโดยใช้ไอซี 3 เบอร์ คือ 7404 7408 และ 7432
รูปที่ 10.3 (ข)
library ieee;
Use ieee.std_logic_1164.all;
Entity not_gate is
Port( in1: in std_logic;
output : out std_logic);
End not_gate;
Architecture structural1 of not_gate is
Begin
Process(in1)
Begin
output <= not in1;
End Process;
End structural1;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Entity and_gate is
Port( in1,in2: in std_logic;
output : out std_logic);
End and_gate;
Architecture structural2 of and_gate is
Begin
Process(in1,in2)
Begin
output <= in1 and in2;
End Process;
End structural2;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Entity or_gate is
Port( in1,in2: in std_logic;
output : out std_logic);
End or_gate;
Architecture structural3 of or_gate is
Begin
Process(in1,in2)
Begin
output <= in1 or in2;
End Process;
End structural3;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Use work.all;
Entity EX_10_1 is
Port( D,K,L: in std_logic;
A : out std_logic);
End EX_10_1;
Architecture struct of EX_10_1 is
Component not_gate
Port( in1: in std_logic;
output : out std_logic);
End Component;
Component and_gate
Port( in1,in2: in std_logic;
output : out std_logic);
End Component;
Component or_gate
Port( in1,in2: in std_logic;
output : out std_logic);
End Component;
--------------------------------------------------
Signal i1,i2,i3 : std_logic;
begin
ic1 : not_gate Port Map(k,i2);
ic2 : and_gate Port Map(i1,i2,i3);
ic3 : or_gate Port Map(i3,L,A);
End struct;
|
รูปที่ 10.4 การแทนด้วยภาษา VHDLแบบ Structural
library ieee;
Use ieee.std_logic_1164.all;
--------------------------------------------------
Entity EX_1 is
Port( D,K,L: in std_logic;
A: out std_logic);
End EX_1;
--------------------------------------------------
Architecture dataflow of EX_1 is
Begin
Process(D,K,L)
Begin
A <= L or (D and (not K));
End Process;
End dataflow;
|
รูปที่ 10.5 การแทนด้วยภาษา VHDL แบบ Dataflow
library ieee;
Use ieee.std_logic_1164.all;
---------------------------------------
Entity EX_1 is
Port( D,K,L: in std_logic;
A: out std_logic);
End EX_1;
----------------------------------------
Architecture bevhavioral of EX_1 is
Begin
Process(D,K,L)
Begin
if D='0' and K='0' and L='0' then
A <= '0';
Else
if D='0' and K='1' and L='0' then
A <= '0';
Else
if d='1' and K='1' and L='0' then
A <= '0';
Else
A <= '1';
End if;
End if;
End if;
End Process;
End bevhavioral ;
|
10.6 การแทนด้วยภาษา VHDL แบบ Behavioral
|
ตัวอย่างที่ 10.2 จงออกแบบวงจรลอจิกสำหรับรูปที่ 10.4 (ก) เพื่อให้ทำงานได้ตามเงื่อนไขต่อไปนี้
(1) ถ้า f(A, B, C, D) > 11 ให้หลอด High ติด
(2) ถ้า f(A, B, C, D) = 11 ให้หลอด High - Low ติด
(3) ถ้า f(A, B, C, D) < 11 ให้หลอด Low ติด
|
รูปที่ 10.4 (ก)
วิธีทำ (1) จะเห็นว่าโจทย์ข้อนี้มี 3 เอาต์พุต คือ High, High – Low และ Low ให้เขียนตาราง
ความจริงและกำหนดค่าคงที่ในแต่ละเอาต์พุต
(2) ลดรูปสมการเอาต์พุตทั้งสาม โดยใช้แผนผังคาร์โนห์
ดังนั้นสมการ
(3) จากสมการที่ออกแบบได้เขียนเป็นวงจรลอจิกได้ดังนี้
รูปที่ 10.7
|
library ieee;
Use ieee.std_logic_1164.all;
Entity not_gate is
Port( in1: in std_logic;
output : out std_logic);
End not_gate;
Architecture structural1 of not_gate is
Begin
Process(in1)
Begin
output <= not in1;
End Process;
End structural1;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Entity and_gate is
Port( in1,in2: in std_logic;
output : out std_logic);
End and_gate;
Architecture structural2 of and_gate is
Begin
Process(in1,in2)
Begin
output <= in1 and in2;
End Process;
End structural2;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Entity and_gate3 is
Port( in1,in2,in3: in std_logic;
output : out std_logic);
End and_gate3;
Architecture structural3 of and_gate3 is
Begin
Process(in1,in2,in3)
Begin
output <= in1 and in2 and in3;
End process;
End structural3;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Entity and_gate4 is
Port( in1,in2,in3,in4: in std_logic;
output : out std_logic);
End and_gate4;
Architecture structural4 of and_gate4 is
Begin
Process(in1,in2,in3,in4)
Begin
output <= in1 and in2 and in3 and in4;
End Process;
End structural4;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Entity or_gate is
Port( in1,in2: in std_logic;
output : out std_logic);
End or_gate;
Architecture structural5 of or_gate is
Begin
Process(in1,in2)
Begin
output <= in1 or in2;
End Process;
End structural5;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Use work.all;
Entity EX_10_2 is
Port( A,B,C,D: in std_logic;
HIGH,HIGH_LOW,LOW : out std_logic);
End EX_10_2;
Architecture struct of EX_10_2 is
Component not_gate
Port( in1: in std_logic;
output : out std_logic);
End Component;
Component and_gate
Port( in1,in2: in std_logic;
output : out std_logic);
End Component;
Component and_gate3
Port( in1,in2,in3: in std_logic;
output : out std_logic);
End Component;
Component and_gate4
Port( in1,in2,in3,in4: in std_logic;
output : out std_logic);
End Component;
Component or_gate
Port( in1,in2: in std_logic;
output : out std_logic);
End Component;
--------------------------------------------------
Signal i1,i2,i3,i4 : std_logic;
Begin
ic1 : not_gate Port Map(C,i2);
ic2 : not_gate Port Map(B,i1);
ic3 : not_gate Port Map(A,i3);
ic4 : and_gate3 Port Map(i1,A,i2,i4);
ic5 : and_gate Port Map(A,B,HIGH);
ic6 : and_gate4 Port Map(A,i1,C,D,HIGH_LOW);
ic7 : or_gate Port Map(i3,i4,LOW);
End struct;
|
รูปที่ 10.8 การแทนด้วยภาษา VHDLแบบ Structural
library ieee;
Use ieee.std_logic_1164.all;
--------------------------------------------------
Entity EX_2 is
Port( A,B,C,D: in std_logic;
HIGH,HIGH_LOW,LOW: out std_logic);
End EX_2;
--------------------------------------------------
Architecture dataflow of EX_2 is
Begin
Process(A,B,C,D)
Begin
HIGH <= A and B;
HIGH_LOW <= A and(not B)and C and D ;
LOW <= (not A) or (A and (not B)and (not C));
End Process;
End dataflow ;
|
10.9 การแทนด้วยภาษา VHDL แบบ Dataflow
library ieee;
Use ieee.std_logic_1164.all;
---------------------------------------
Entity EX_2 is
Port( A,B,C,D: in std_logic;
HIGH,HIGH_LOW,LOW: out std_logic);
End EX_2;
----------------------------------------
Architecture bevhavioral of EX_2 is
Begin
process(A,B,C,D)
Begin
if A='1' and B='0' and C='1' and D='1' then
HIGH<= '0';
HIGH_LOW<= '0';
LOW <='1';
Else
if A='1' and B='1' and C='0' and D='0' then
HIGH<= '1';
HIGH_LOW<= '0';
LOW <='0';
Else
if A='1' and B='1' and C='0' and D='1' then
HIGH<= '1';
HIGH_LOW<= '0';
LOW <='0';
Else
if A='1' and B='1' and C='1' and D='0' then
HIGH<= '1';
HIGH_LOW<= '0';
LOW <='0';
Else
if A='1' and B='1' and C='1' and D='1' then
HIGH<= '1';
HIGH_LOW<= '0';
LOW <='0';
Else
HIGH<= '0';
HIGH_LOW<= '0';
LOW <='1';
End if;
End if;
End if;
End if;
End if;
End Process;
End bevhavioral ;
|
10.10 แทนด้วยภาษา VHDL แบบ Behavioral
|
ตัวอย่างที่ 10.3 จงออกแบบวงจรลอจิกเพื่อควบคุมลิฟต์ส่งของ ดังรูปที่ 10.5 (ก) ตามเงื่อนไขที่โจทย์กำหนด
รูปที่ 10.11 (ก)
|
กำหนดให้
(ก) การทำงานของมอเตอร์นั้นจะหมุนขวาดึงลิฟต์ขึ้นและหมุนซ้ายปล่อยลิฟต์ลง มอเตอร์หมุนขวา
ได้เมื่อวงจร M1 = “1” และวงจร F/R = “1” มอเตอร์หมุนซ้ายได้เมื่อวงจร M1 = “1” และวงจร
F/R = “0” ถ้ามอเตอร์หยุดหมุนเมื่อ M1 = “0”
(ข) สวิตซ์ S2 จะให้ลอจิก “1” เมื่อลิฟต์อยู่ชั้น 1 และให้ลอจิก “0” เมื่อลิฟต์อยู่ชั้น 4
(ค) สวิตซ์ S1 เมื่อกดจะให้ลอจิก “1” ปล่อยให้ลอจิก “0”
(ง) สวิตซ์ S3 เมื่อกดจะให้ลอจิก “1” ปล่อยให้ลอจิก “0”
เงื่อนไขการทำงาน
(1) ลิฟต์จะขึ้นได้เมื่อตู้ลิฟต์อยู่ที่ชั้น 1 และสวิตซ์ S1 ถูกกดแต่ S2 ไม่ถูกกดเท่านั้น
(2) ลิฟต์จะลงได้เมื่อตู้ลิฟต์อยู่ที่ชั้น 4 และสวิตซ์ S3 ถูกกด แต่ S1 ไม่ถูกกดเท่านั้น
(3) กรณีอื่นๆ มอเตอร์จะหยุดหมุน
|
วิธีทำ (1) พิจารณาโจทย์จะพบว่าอินพุตของระบบนี้มี 3 อินพุตคือ S1 S2 และ S3 ส่วนเอาต์พุตมี 2 เอาต์พุตคือ
M1 และ F/R
(2) พิจารณาเงื่อนไขได้ดังนี้
2.1 เงื่อนไขข้อ 1 ลิฟต์จะขึ้นได้เมื่ออินพุต S2 = “1” และ S1 = “1” และ S = “0”
ลิฟต์ขึ้น เอาต์พุต M1 = “1” และ F/R = “1”
2.2 เงื่อนไขข้อ 2 ลิฟต์จะลงเมื่ออินพุต S2 = “0” และ S3 = “1” และ S1 = “0” ลิฟต์
ลง เอาต์พุต M1 = “1” และ F/R = “0”
2.3 มอเตอร์หยุดหมุนเมื่อ M1 = “0” และ F/R = “X”
(3) เขียนตารางความจริงตามเงื่อนไขที่โจทย์กำหนด
(4) ลดรูปฟังก์ชันเอาต์พุต M1 และ F/R โดยใช้แผนผังคาร์โนห์ได้ดังนี้
(5) จากสมการ M1 และ F/R ที่ออกแบบได้เป็นวงจรลอจิก ดังแสดงในรูปที่ 10.5 (ข)
รูปที่ 10.12
library ieee;
Use ieee.std_logic_1164.all;
Entity not_gate is
Port( in1: in std_logic;
output : out std_logic);
End not_gate;
Architecture structural1 of not_gate is
Begin
Process(in1)
Begin
output <= not in1;
End process;
End structural1;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Entity and_gate3 is
Port( in1,in2,in3: in std_logic;
output : out std_logic);
End and_gate3;
Architecture structural2 of and_gate3 is
Begin
Process(in1,in2,in3)
Begin
output <= in1 and in2 and in3;
End process;
End structural2;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Entity or_gate is
Port( in1,in2: in std_logic;
output : out std_logic);
End or_gate;
Architecture structural3 of or_gate is
Begin
Process(in1,in2)
Begin
output <= in1 or in2;
End Process;
End structural3;
--------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
Use work.all;
Entity EX_10_3 is
Port( S1,S2,S3: in std_logic;
F_R,M1 : out std_logic);
End EX_10_3;
Architecture struct of EX_10_3 is
Component not_gate
Port( in1: in std_logic;
output : out std_logic);
End Component;
Component and_gate3
Port( in1,in2,in3: in std_logic;
output : out std_logic);
End Component;
Component or_gate
Port( in1,in2: in std_logic;
output : out std_logic);
End Component;
--------------------------------------------------
Signal i1,i2,i3: std_logic;
Begin
ic1 : not_gate Port Map(S3,i1);
ic2 : not_gate Port Map(S2,i2);
ic3 : and_gate3 Port Map(S1,S2,i1,F_R);
ic4 : and_gate3 Port Map(S1,i2,S3,i3);
ic5 : or_gate Port Map(F_R,i3 ,M1);
End struct;
|
รูปที่ 10.11 การแทนด้วยภาษา VHDLแบบ Structural
library ieee;
Use ieee.std_logic_1164.all;
--------------------------------------------------
Entity EX_3 is
Port( S1,S2,S3: in std_logic;
M1,F_R: out std_logic);
End EX_3;
--------------------------------------------------
Architecture dataflow of EX_3 is
Begin
Process(S1,S2,S3)
Begin
M1 <=(S1 and S2 and (not S3)) or(S1 and (not S2) and S3);
F_R <=(S1 and S2 and (not S3));
End Process;
End dataflow ;
|
รูปที่ 10.13 แทนด้วยูภาษา VHDL แบบ Dataflow
library ieee;
Use ieee.std_logic_1164.all;
---------------------------------------
Entity EX_3 is
Port( S1,S2,S3: in std_logic;
F_R,M1: out std_logic);
End EX_3;
----------------------------------------
Architecture bevhavioral of EX_3 is
Begin
Process(S1,S2,S3)
Begin
if S1='1' and S2='0' and S3='1' then
M1<= '1';
F_R<='0';
Else
if S1='1' and S2='1' and S3='0' then
M1<= '1';
F_R<='1';
Else
M1<= '0';
F_R<='0';
End if;
End if;
End Process;
End bevhavioral ;
|
รูปที่ 10.14 แทนด้วยภาษา VHDL แบบ Behavioral
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น