Week8
MIPS ALU and FSM
MIPS ALU and FSM
8.1) MIPS ALU
1.Arithmetic_Unit2.Logic_Unit
3.Mux
ทุกๆ Module ต้อง Create Schematic Symbol ด้วยเหมือนที่เคยทำใน Lab ก่อนๆ
4.สร้าง Schematic File ตั้งชื่อไฟล์ว่า combine แล้วต่อวงจรตามที่เราสร้าง Module มาแล้วตั้งชื่อ I/O (Pin )
5.เราจะทำการ Simulation ในโปรแกรม Xilinx เลย เพราะเนื่องจากใช้ Pin ค่อนข้างเยอะ
ทำการ New Source -> ครั้งนี้จะเลือก VHDL Test Bench ตั้งชื่อ อะไรก็ได้
ต่อมาเลือกไฟล์ Schematic ที่เรา New source หรือสร้างมาก่อนหน้าในที่นี้ผมตั้งชื่อ Schematic ว่า combine
6.เราจะทำการเขียน Code Simulation ดั้งนี้ ในไฟล์ VHDL Test Bench : T_combine
กรณีหาไฟล์ VHDL Test Bench : T_combine ไฟล์เจอะ ให้ Switch Mode ตรง view ไปที่ Simulation
7.ทำการ Run : Behavioral Check Syntax แล้ว Simulate Behavioral Mode
8.ทำการตรวจสอบ Input / Output ที่ป้อนให้กลับวงจรว่าถูกต้องรึไม่
โดยใน Code ทดสอบ Arithmetic Input A = 1000 และ B = 0001 ตรวจสอบ S Mode(arith_s) และ Ci(Carry In) ด้วย
S_Mode(arith_s) 00 = A + B + Carry In
S_Mode(arith_s) 01 = A - B + Carry In
S_Mode(arith_s) 10 = A - 1 + Carry In
S_Mode(arith_s) 11 = A + 1 + Carry In
Logic Input A = 1000 และ B = 0111
S_Mode(and) 00 = 0000
S_Mode(or) 01 = 1111
S_Mode(not a) 10 = 0111
S_Mode(xor) 11 = 1111
---------------------------------------------------------
8.2) FSM
1.เราจะเขียน VHDL ตาม State Diagram
State
ครั้งนี้ไม่จำเป็นต้อง Create Schematic File เพราะเราใช้ Module State เพียงตัวเดียว
เราจะทำการ Simulation เหมือน 8.1
2.New Source -> VHDL Test Bench -> เลือก Module state แล้วทำการใส่ code ดังนี้
3.ทำการ Run : Behavioral Check Syntax แล้ว Simulate Behavioral Mode เหมือน 8.1
ผลการทดลอง Count Up
ผลการทดลอง Count Down
---------------------------------------------------------
อ้างอิง : https://sites.google.com/view/b5917495-mojo-sivarut-sut/week-8/lab-8-1 และ https://sites.google.com/view/b5917495-mojo-sivarut-sut/week-8/lab-8-2
No comments:
Post a Comment