Week08 - MIPS ALU and FS

Week8
MIPS ALU and FSM

8.1) MIPS ALU
1.Arithmetic_Unit

2.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