aboutsummaryrefslogtreecommitdiff
path: root/src/images/wavedrom/quad-compute.adoc
blob: 2451ac901788d47d67b2b4d40cbc88515e4efa0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//## 14.2 Quad-Precision Computational Instructions

[wavedrom, ,svg]
....
{reg: [
  {bits: 7, name: 'opcode', attr: ['7','OP-FP','OP-FP','OP-FP','OP-FP']},
  {bits: 5, name: 'rd',     attr: ['5','dest','dest','dest','dest']},
  {bits: 3, name: 'rm',     attr: ['3','RM','RM','MIN/MAX','RM']},
  {bits: 5, name: 'rs1',    attr: ['5','src1','src1','src1','src']},
  {bits: 5, name: 'rs2',    attr: ['5','src2','src2','src2','0']},
  {bits: 2, name: 'fmt',    attr: ['2','Q','Q','Q','Q']},
  {bits: 5, name: 'funct5', attr: ['5','FADD/FSUB', 'FMUL/FDIV', 'FMIN-MAX', 'FSQRT']},
]}
....

[wavedrom, ,svg]
....
{reg: [
  {bits: 7, name: 'opcode', attr: ['7','F[N]MADD/F[N]MSUB']},
  {bits: 5, name: 'rd',     attr: ['5','dest']},
  {bits: 3, name: 'rm',     attr: ['3','RM']},
  {bits: 5, name: 'rs1',    attr: ['5','src1']},
  {bits: 5, name: 'rs2',    attr: ['5','src2']},
  {bits: 2, name: 'fmt',    attr: ['2','Q']},
  {bits: 5, name: 'rs3',    attr: ['5','src3']},
]}
....

//[wavedrom, ,]
//....
//{reg: [
//  {bits: 7, name: 'opcode', attr: 'OP-FP'},
//  {bits: 5, name: 'rd',     attr: 'dest'},
//  {bits: 3, name: 'funct3',  attr: ['MIN', 'MAX']},
//  {bits: 5, name: 'rs1',    attr: 'src1'},
//  {bits: 5, name: 'rs2',    attr: 'src2'},
//  {bits: 2, name: 'fmt',    attr: 'Q'},
//  {bits: 5, name: 'funct5', attr: 'FMIN-MAX'},
//]}
//....


//[wavedrom, ,]
//....
//{reg: [
//  {bits: 7, name: 'opcode', attr: ['FMADD', 'FNMADD', 'FMSUB', 'FNMSUB']},
//  {bits: 5, name: 'rd',     attr: 'dest'}
//  {bits: 3, name: 'funct3',  attr: 'RM'},
//  {bits: 5, name: 'rs1',    attr: 'src1'},
//  {bits: 5, name: 'rs2',    attr: 'src2'},
//  {bits: 2, name: 'fmt',    attr: 'Q'},
//  {bits: 5, name: 'rs3',    attr: 'src3'},
//]}
//....