@@ -440,9 +440,13 @@ def make_asciidoc_encoding(instr_dict):
440440 '''
441441 asciidoc_content = ''
442442 asciidoc_content += '<<<\n '
443+
443444 for instr_name , instr_data in instr_dict .items ():
445+
444446 encoding = instr_data ['encoding' ]
445447 asciidoc_content += f'==== { instr_name .upper ()} \n \n '
448+ asciidoc_content += make_asciidoc_synopsis (instr_name )
449+ asciidoc_content += make_asciidoc_mnemonic (instr_name , instr_data )
446450 asciidoc_content += 'Encoding::\n '
447451 asciidoc_content += '[wavedrom, , svg]\n '
448452 asciidoc_content += '....\n '
@@ -503,7 +507,8 @@ def make_asciidoc_encoding(instr_dict):
503507 asciidoc_content += ',\n ' .join (reversed (bits ))
504508 asciidoc_content += '\n ]}\n '
505509 asciidoc_content += '....\n \n '
506- asciidoc_content += make_asciidoc_mnemonic (instr_name , instr_data )
510+
511+ asciidoc_content += make_asciidoc_description (instr_name )
507512 asciidoc_content += make_asciidoc_argument_table (instr_name , instr_data )
508513 asciidoc_content += make_asciidoc_sail (instr_name )
509514 asciidoc_content += '<<<\n \n '
@@ -598,6 +603,9 @@ def make_asciidoc_mnemonic(instr_name, instr_data):
598603
599604 return asciidoc_content
600605
606+ def make_asciidoc_synopsis (instr_name ):
607+ asciidoc_content = 'Synopsis:: \n \n '
608+ return asciidoc_content
601609
602610def process_asciidoc_block (block , instr_name ):
603611 '''
@@ -670,6 +678,9 @@ def process_asciidoc_block(block, instr_name):
670678 formatted_block = '\n ' .join (new_block )
671679 return formatted_block
672680
681+ def make_asciidoc_description (instr_name ):
682+ asciidoc_content = 'Description:: \n \n '
683+ return asciidoc_content
673684
674685def find_matching_brace (text , start ):
675686 count = 0
@@ -681,7 +692,7 @@ def find_matching_brace(text, start):
681692 if count == 0 :
682693 return i
683694 return - 1
684-
695+
685696def make_asciidoc_sail (instr_name ):
686697 file_path = "../sail-riscv/model/riscv_insts_base.sail"
687698 asciidoc_content = ""
@@ -699,17 +710,17 @@ def make_asciidoc_sail(instr_name):
699710 block = content [start :end + 1 ]
700711
701712 if re .search (r'\b(' + re .escape (riscv_name ) + r'|' + re .escape (instr_name .upper ()) + r')\b' , block ):
702- asciidoc_content += f"== Instruction { instr_name } \n \n "
713+ asciidoc_content += f"Sail Code:: \n \n "
703714 asciidoc_content += "[source,sail]\n "
704- asciidoc_content += "---- \n "
715+ asciidoc_content += "--\n "
705716 asciidoc_content += process_asciidoc_block (block , instr_name )
706- asciidoc_content += "-- --\n \n "
717+ asciidoc_content += "\n --\n \n "
707718 return asciidoc_content # Return the AsciiDoc formatted string
708719
709720 if not asciidoc_content :
710721 print (f"{ instr_name } NOT found" )
711- asciidoc_content += f"== Instruction { instr_name } \n \n "
712- asciidoc_content += f"Instruction { instr_name } not found in the expected format.\n "
722+ asciidoc_content += f"Sail Code :: \n \n "
723+ asciidoc_content += f"Instruction { instr_name } sail code not found in the expected format.\n \n "
713724
714725 return asciidoc_content
715726
0 commit comments