top of page

Design Technology | High Level Synthesis | How Does Synthagate work | Funcmi.txt

Micro Instructions:
Y1 = y1 y2
Y2 = y3 y4
Y3 = y5 y6
Y4 = y7
Y5 = y8
Y6 = y9 y10
Y7 = y9
Y8 = y11 y12
Y9 = y13
Y10 = y13 y14
Y11 = y15
Y12 = y16 y17
Y13 = y18
Y14 = y19 y20 y21 y22
Y15 = y23
Y16 = y24 y25
Y17 = y26
Y18 = y27
Y19 = y19 y7
Y20 = y28
Y21 = y29
Y22 = y30
Y23 = y31 y32 y33
Y24 = y34
Y25 = y35
Y26 = y36 y37
Y27 = y38
Y28 = y39 y40
Y29 = y17
Y30 = y41
Y31 = y42
Y32 = y43
Y33 = y44 y39
Y34 = y17 y45 y46
Y35 = y47 y48
Y36 = y49
Y37 = y29 y50
Y38 = y51
Y39 = y52
Y40 = y53
Y41 = y53 y52 y26
Y42 = y54 y34
Y43 = y31
Y44 = y55 y17
Y45 = y37 y26
Y46 = y36
Y47 = y56 y57 y17
Y48 = y58 y59 y8
Y49 = y48
Y50 = y60
Y51 = y29 y21
Y52 = y61 y62

​

Micro Operations:
y1   : CodComplete:=1
y2   : rWrite2M2:=cnt_m2
y3   : rElem:=NElem
y4   : CodComplete:=0
y5   : DecodComplete:=1
y6   : rWrite2M3:=cnt_m1_m3
y7   : DecodComplete:=0
y8   : cnt_m1_m3:=cnt_m1_m3+1
y9   : m3_address:=ext_adr
y10  : ext_in:=m3[m3_address]
y11  : m1_address:=ext_adr
y12  : m1[m1_address]:=ext_out
y13  : m2_address:=ext_adr
y14  : ext_in:=m2[m2_address]
y15  : rfilelength:=cnt_m1_m3
y16  : mac1:=0
y17  : shcnt:=0
y18  : cnt:=cnt+1
y19  : mac2:=0
y20  : Br:=x"FF"
y21  : cnt:=0
y22  : cnt_m2:=0
y23  : cnt_m1_m3:=cnt_m1_m3-relem
y24  : rT2:=rT1-rmin
y25  : cnt_m1_m3:=cnt_m1_m3-1
y26  : cnt_elem:=cnt_elem+1
y27  : rT1:=Br
y28  : rT2:=Br
y29  : cnt_elem:=0
y30  : Br:=rmin
y31  : m2_address:=mac2
y32  : m2[m2_address]:=br
y33  : cnt_m2:=cnt_m2+1
y34  : mac2:=mac2+1
y35  : rByte:=rByte<<1
y36  : bitcnt:=0
y37  : rByte:=x"00"
y38  : Br:=rByte
y39  : shcnt:=shcnt+1
y40  : bitcnt:=bitcnt+1
y41  : rT2:=rT2<<1
y42  : rByte(0):=1
y43  : rT1:=rMask&&rT2
y44  : rMask:=rMask<<1
y45  : mac1:=rTemp1
y46  : rMask:=x"01"
y47  : br:=m1[m1_address]
y48  : mac1:=mac1+1
y49  : m1_address:=mac1
y50  : rTemp1:=mac1
y51  : rD:=rmax-rmin
y52  : rmin:=Br
y53  : rmax:=Br
y54  : br:=m2[m2_address]
y55  : Br:=rByte+rmin
y56  : rLengthD:=Br
y57  : rMask:=x"80"
y58  : m3_address:=mac1
y59  : m3[m3_address]:=br
y60  : rD:=rD>>1
y61  : Br:=cnt
y62  : rLengthD:=cnt

​

Logical Conditions:
File  Draw

x1   : dma
x2   : s
x3   : Bit0
x4   : m
x5   : ext_rdwr
x6   : cnt_m1_m3=x"0000"
x7   : cnt_m1_m3=rfilelength
x8   : cnt=x"03"
x9   : rlengthd=x"00"
x10  : cnt_elem=rElem-x"0001"
x11  : Br=x"FF"
x12  : cnt_elem=rElem
x13  : bitcnt=x"8"
x14  : shcnt=rlengthd
x15  : rT1=x"00"
x16  : shcnt=rLengthD-x"01"
x17  : Br<=rmin
x18  : Br>=rmax
x19  : rD=x"00"

 

bottom of page