matrix multiply fsmd
play

Matrix-Multiply FSMD Start Din WEn WEn Cnt=0 WAddr WAddr - PowerPoint PPT Presentation

Matrix-Multiply FSMD Start Din WEn WEn Cnt=0 WAddr WAddr Start=0 S1 Sum=0 RegFile RegFile (RFA) (RFB) Rst Start=1 Counter Inc REn REn (Cnt) RAddr RAddr Cnt=63 i j k RFB(j,k)=Din Cnt=0 S3 S2 Cnt = Cnt +1 Rst Rst Reg


  1. Matrix-Multiply FSMD Start Din WEn WEn Cnt=0 WAddr WAddr Start=0 S1 Sum=0 RegFile RegFile (RFA) (RFB) Rst Start=1 Counter Inc REn REn (Cnt) RAddr RAddr Cnt=63 i j k RFB(j,k)=Din Cnt=0 S3 S2 Cnt = Cnt +1 Rst Rst Reg Reg Ld Ld (A) (B) Cnt<63 A = RFA(i,k) S4 B = RFB(k,j) Comparator Multiplier S5 P=A*B Eq511 Eq63 Rst Reg Controller Ld (P) Sum=P+Sum S6 k=7 k<7 Adder Cnt<511 RFC(i,j)=Sum S7 S8 Sum=0 Cnt=511 Rst Reg Ld (Sum) Cnt = Cnt +1 Cnt=0 S9 Done=1 WEn WAddr RegFile (RFC) Cnt=63 Dout = RFC(j,k) S10 Cnt = Cnt +1 REn RAddr Done Dout Cnt<63

  2. Matrix Storage A (i,k) x B (k,j) 77 j = 0 1 2 3 4 5 6 7 i = 0 76 i = 1 i = 2 i = 3 i = 4 02 i = 5 i = 6 01 i = 7 00 Counter: i j k

  3. Matrix-Multiply Controller Start Din WEn WEn WAddr WAddr Cnt=0 Start=0 RegFile RegFile S1 (RFA) (RFB) Rst Counter Inc REn Start=1 REn (Cnt) RAddr RAddr i j k Cnt=63 Cnt=0 S3 S2 RFB(j,k)=Din, Cnt = Cnt +1 Sum=0 Reg Rst Reg Rst Ld Ld (A) (B) Cnt<63 S4 A = RFA(i,k) (RFA_REn=1, RFA_RAddr=(8i+k), A_Ld=1) Comparator B = RFB(k,j) (RFB_REn=1, RFB_RAddr=(8k+j), B_Ld=1) Multiplier (XXX_WEn=0, Sum_Ld=0, Cnt_Inc=0, . . .) P=A*B (P_Ld-1, XXX_WEn=0, Sum_Ld=0, Cnt_Inc=0,... ) Eq511 Eq63 S5 Rst Reg Controller Ld (P) Sum=P+Sum (Sum_Ld=1, XXX_WEn=0, Cnt_Inc=0, …) S6 k=7 Adder k<7 RFC(i,j)=Sum, Sum = 0 Cnt<511 S7 S8 (RFC_WEn=1, RFC_RAddr=(8i+j), Sum_Rst=1, ...) Rst Reg Ld Cnt=511 (Sum) Cnt = Cnt +1 (Cnt_Inc=1, …) Cnt=0 S9 Done=1 WEn WAddr RegFile (RFC) Cnt=63 Dout = RFC(j,k) REn S10 Cnt = Cnt +1 RAddr Done Dout Cnt<63

  4. WEn WEn WAddr WAddr RegFile RegFile (RFA) (RFB) Rst Cnt<63 Counter Inc REn S4 REn A = RFA(i,k) (RFA_REn=1, RFA_RAddr=(8i+k), A_Ld=1) (Cnt) RAddr RAddr i j k B = RFB(k,j) (RFB_REn=1, RFB_RAddr=(8k+j), B_Ld=1) ( XXX_WEn=0, Sum_Ld=0, Cnt_Inc=0,... ) Rst Rst Reg Reg Ld Ld (A) (B) S5 P=A*B (P_Ld-1, XXX_WEn=0, Sum_Ld=0, Cnt_Inc=0,... ) Comparator Sum=P+Sum (Sum_Ld=1, XXX_WEn=0, Cnt_Inc=0, …) Multiplier S6 Eq511 Eq63 k=7 k<7 Rst Reg RFC(i,j)=Sum, Sum = 0 Ld Cnt<511 (P) S8 S7 (RFC_WEn=1, RFC_RAddr=(8i+j), Sum_Rst=1, ...) Cnt=511 Cnt = Cnt +1 Adder (Cnt_Inc=1, …) Cnt=0 Rst Reg Ld (Sum)

  5. Matrix-Multiply Structure Start Din ENTITY MatrixMult IS WEn WEn WAddr WAddr PORT ( RegFile RegFile Clk : in std_logic; (RFA) (RFB) Rst Counter Inc Start : in std_logic; REn REn (Cnt) RAddr RAddr i j k Din : in INTEGER; Done : out std_logic; Rst Reg Rst Reg Ld Ld Dout : out INTEGER (A) (B) ); END MatMul; Comparator Multiplier BEGIN Eq511 Eq63 ARCHITECTURE MatrixMult_struct OF Sum: Reg PORT MAP ( ……… ); Rst Reg Controller MatrixMult IS Ld (P) A: Reg PORT MAP (…………); B: Reg PORT MAP (…………); COMPONENT Multiplier IS P: Reg PORT MAP (…………); … Adder COMPONENT Adder IS Controller_1: Controller PORT MAP (…………); … COMPONENT Counter IS Rst Reg RFA: RegFile PORT MAP (…………); Ld (Sum) … COMPONENT Comparator IS RFB: RegFile PORT MAP (…………); … COMPONENT Reg is RegFile RFC: RegFile PORT MAP (…………); (RFC) … COMPONENT RegFile IS Counter_1: Counter PORT MAP (…………); … Done Dout COMPONENT Controller IS Comparator_1: Comparator PORT MAP (………); … END COMPONENT; Mult_1: Multiplier PORT MAP (……………); SIGNAL Cnt_Inc, Cnt_Rst, Sum_Ld, Sum_Rst:std_logic; SIGNAL A_Ld, A_Rst, B_Ld, B_Rst:std_logic; Adder_1: Adder PORT MAP (……………); SIGNAL mult_out: INTEGER; SIGNAL adder_out, : INTEGER; SIGNAL i_s, j_s, k_s: std_logic_vector(2 downto 0); END MatrixMult_struct; …

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend