| |
| <html> |
| <head> |
| <meta charset="UTF-8"> |
| </head> |
| <style type='text/css'>/* Stylesheet for mistletoe output in class=mdown div */ |
| /* Copyright lowRISC contributors. */ |
| /* Licensed under the Apache License, Version 2.0, see LICENSE for details.*/ |
| /* SPDX-License-Identifier: Apache-2.0 */ |
| |
| .mdown { |
| -ms-text-size-adjust: 100%; |
| -webkit-text-size-adjust: 100%; |
| color: #24292e; |
| font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; |
| font-size: 16px; |
| word-wrap: break-word; |
| width: 80%; |
| margin-left:auto; |
| margin-right:auto; |
| } |
| |
| .mdown code, |
| .mdown pre { |
| font-family: monospace, monospace; |
| font-size: 1em; |
| display: inline; |
| max-width: auto; |
| padding: 0; |
| margin: 0; |
| overflow: visible; |
| line-height: inherit; |
| word-wrap: normal; |
| background-color: transparent; |
| border: 0; |
| } |
| |
| .mdown table { |
| border-spacing: 0; |
| border-collapse: collapse; |
| display: block; |
| width: 100%; |
| overflow: auto; |
| } |
| |
| .mdown table th { |
| font-weight: 600; |
| } |
| |
| .mdown table th, |
| .mdown table td { |
| padding: 6px 13px; |
| border: 1px solid black; |
| } |
| |
| .mdown table tr { |
| background-color: #fff; |
| border-top: 1px solid #c6cbd1; |
| } |
| |
| .mdown table tr:nth-child(even) { |
| background-color: lightgray; |
| } |
| |
| p.titleright { |
| font-size: 1em; |
| text-align: right; |
| font-weight: 600; |
| } |
| |
| h1 { |
| text-align: center; |
| } |
| p.copy { |
| font-weight: 100; |
| font-size: 1em; |
| text-align: left; |
| } |
| |
| code.reg { |
| font-family: monospace, monospace; |
| font-size: 0.8em; |
| color: blue; |
| } |
| |
| .highlight { |
| border-left: 2px solid; |
| font-size: 80%; |
| padding: 12px 8px; |
| } |
| |
| table.section_heading { |
| border: 2px solid black; |
| width: 100%; |
| font-size: 140%; |
| background-color:#ffe8e8; |
| text-align:center; |
| vertical-align:middle; |
| font-family: serif; |
| display: table; |
| } |
| |
| table.section_heading tr, |
| table.section_heading td { |
| border: 1px solid black; |
| width: 100%; |
| background-color:#ffe8e8; |
| border: 0px; |
| float: center; |
| } |
| |
| table.subsection_heading { |
| border: 2px solid black; |
| width: 100%; |
| font-size: 110%; |
| background-color:white; |
| text-align:center; |
| vertical-align:middle; |
| font-family: serif; |
| display: table; |
| } |
| |
| table.subsection_heading tr, |
| table.subsection_heading td { |
| border: 1px solid black; |
| width: 100%; |
| background-color:white; |
| border: 0px; |
| float: center; |
| } |
| /* Stylesheet for reggen html register output */ |
| /* Copyright lowRISC contributors. */ |
| /* Licensed under the Apache License, Version 2.0, see LICENSE for details.*/ |
| /* SPDX-License-Identifier: Apache-2.0 */ |
| |
| table.regpic { |
| width: 95%; |
| border-collapse: collapse; |
| margin-left:auto; |
| margin-right:auto; |
| table-layout:fixed; |
| } |
| |
| table.regdef { |
| border: 1px solid black; |
| width: 80%; |
| border-collapse: collapse; |
| margin-left:auto; |
| margin-right:auto; |
| table-layout:auto; |
| } |
| |
| table.regdef th { |
| border: 1px solid black; |
| font-family: sans-serif; |
| |
| } |
| |
| td.bitnum { |
| font-size: 60%; |
| text-align: center; |
| } |
| |
| td.unused { |
| border: 1px solid black; |
| background-color: gray; |
| } |
| |
| td.fname { |
| border: 1px solid black; |
| text-align: center; |
| font-family: sans-serif; |
| } |
| |
| |
| td.regbits, td.regperm, td.regrv { |
| border: 1px solid black; |
| text-align: center; |
| font-family: sans-serif; |
| } |
| |
| td.regde, td.regfn { |
| border: 1px solid black; |
| } |
| |
| table.cfgtable { |
| border: 1px solid black; |
| width: 80%; |
| border-collapse: collapse; |
| margin-left:auto; |
| margin-right:auto; |
| table-layout:auto; |
| } |
| |
| table.cfgtable th { |
| border: 1px solid black; |
| font-family: sans-serif; |
| font-weight: bold; |
| } |
| |
| table.cfgtable td { |
| border: 1px solid black; |
| font-family: sans-serif; |
| } |
| </style> |
| <div class="mdown"> |
| <p>{ name: "TRIAL1", |
| regwidth: 32, |
| // this is a legal comment, with TODO and FIXME |
| registers: [ |
| //////////////////////////// |
| // |
| // read-write types no HWQE no HWEXT |
| { name: "RWTYPE0", |
| desc: "RW type with one field", |
| swaccess: "rw", |
| hwaccess: "hro", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "12345678", |
| } |
| ] |
| }, |
| { name: "RWTYPE1", |
| desc: ''' |
| RW type |
| with long |
| description |
| and multiple fields |
| ''' |
| swaccess: "rw", |
| hwaccess: "hro", |
| fields: [ |
| { bits: "0", |
| name: "FIELD0", |
| desc: "field 0", |
| resval: "1", |
| } |
| { bits: "1", |
| name: "FIELD1", |
| desc: "field 1", |
| resval: "0", |
| } |
| { bits: "4", |
| name: "FIELD4", |
| desc: "field 4", |
| resval: "1", |
| } |
| { bits: "15:8", |
| name: "FIELD15_8", |
| desc: "field [15:8]", |
| resval: "100", |
| } |
| ] |
| }, |
| { name: "RWTYPE2", |
| desc: "RW type with one field and HW rw", |
| swaccess: "rw", |
| hwaccess: "hrw", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description", |
| resval: "0x04000400", |
| } |
| ] |
| }, |
| { name: "RWTYPE3", |
| desc: "simple RW/HWR type with fields" |
| swaccess: "rw", |
| hwaccess: "hrw", |
| fields: [ |
| { |
| bits: "15:0", |
| name: "field0", |
| desc: "field description" |
| resval: "0xcc55", |
| } |
| { |
| bits: "31:16", |
| name: "field1", |
| desc: "field description" |
| resval: "0xee66", |
| } |
| ] |
| } |
| { skipto: "0x200" } |
| { name: "RWTYPE4", |
| desc: "simple RW type with fields, plus skipto", |
| swaccess: "rw", |
| hwaccess: "hro", |
| fields: [ |
| { |
| bits: "15:0", |
| name: "field0", |
| desc: "field description" |
| resval: "0x4000", |
| } |
| { |
| bits: "31:16", |
| name: "field1", |
| desc: "field description" |
| resval: "0x8000", |
| } |
| ] |
| }, |
| //////////////////////////// |
| // |
| // read-only type |
| { name: "ROTYPE0", |
| desc: "RO type", |
| swaccess: "ro", |
| hwaccess: "hrw", |
| fields: [ |
| { |
| bits: "31:0" |
| desc: "field description" |
| resval: "0x11111111" |
| } |
| ] |
| }, |
| //////////////////////////// |
| // |
| // W1C/W1S/etc types no HWQE no HWEXT |
| { name: "W1CTYPE0", |
| desc: "W1C type with one field", |
| swaccess: "rw1c", |
| hwaccess: "hro", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "0xbbccddee", |
| } |
| ] |
| }, |
| { name: "W1CTYPE1", |
| desc: "W1C type with fields", |
| swaccess: "rw1c", |
| hwaccess: "hro", |
| fields: [ |
| { |
| bits: "15:0", |
| name: "field0", |
| desc: "field description" |
| resval: "0xeeee", |
| } |
| { |
| bits: "31:16", |
| name: "field1", |
| desc: "field description" |
| resval: "0x7777", |
| } |
| ] |
| }, |
| { name: "W1CTYPE2", |
| desc: "W1C type with one field, plus HRW", |
| swaccess: "rw1c", |
| hwaccess: "hrw", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "0xaa775566", |
| } |
| ] |
| }, |
| { name: "W1STYPE2", |
| desc: "W1S type with one field, plus HRW", |
| swaccess: "rw1s", |
| hwaccess: "hrw", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "0x11224488", |
| } |
| ] |
| }, |
| { name: "W0CTYPE2", |
| desc: "W0C type with one field, plus HRW", |
| swaccess: "rw0c", |
| hwaccess: "hrw", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "0xfec8137f", |
| } |
| ] |
| }, |
| { name: "R0W1CTYPE2", |
| desc: "R0W1C type with one field, plus HRW", |
| swaccess: "r0w1c", |
| hwaccess: "hrw", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "0xaa775566", |
| } |
| ] |
| }, |
| //////////////////////////// |
| // |
| // read-only-clear type |
| { name: "RCTYPE0", |
| desc: "RC type", |
| swaccess: "rc", |
| hwaccess: "hrw", |
| fields: [ |
| { |
| bits: "31:0" |
| desc: "field description" |
| resval: "0x77443399" |
| } |
| ] |
| }, |
| //////////////////////////// |
| // |
| // write-only type |
| { name: "WOTYPE0", |
| desc: "WO type", |
| swaccess: "wo", |
| hwaccess: "hro", |
| fields: [ |
| { |
| bits: "31:0" |
| desc: "field description" |
| resval: "0x11223344" |
| } |
| ] |
| }, |
| { name: "MIXTYPE0", |
| desc: "mixed type with different field access", |
| swaccess: "rw", |
| hwaccess: "hro", |
| fields: [ |
| { |
| bits: "3:0", |
| name: "field0", |
| desc: "field description" |
| // should be default access |
| resval: "0x1", |
| } |
| { |
| bits: "7:4", |
| name: "field1", |
| desc: "field description" |
| swaccess: "rw", |
| hwaccess: "hrw", |
| resval: "0x2", |
| } |
| { |
| bits: "11:8", |
| name: "field2", |
| desc: "field description" |
| swaccess: "ro", |
| hwaccess: "hro", |
| resval: "0x3", |
| } |
| { |
| bits: "15:12", |
| name: "field3", |
| desc: "field description" |
| swaccess: "ro", |
| hwaccess: "hrw", |
| resval: "0x4", |
| } |
| { |
| bits: "19:16", |
| name: "field4", |
| desc: "field description" |
| swaccess: "rw1c", |
| hwaccess: "hrw", |
| resval: "0x5", |
| } |
| { |
| bits: "23:20", |
| name: "field5", |
| desc: "field description" |
| swaccess: "rw1s", |
| hwaccess: "hrw", |
| resval: "0x6", |
| } |
| { |
| bits: "27:24", |
| name: "field6", |
| desc: "field description" |
| swaccess: "rc", |
| hwaccess: "hrw", |
| resval: "0x7", |
| } |
| { |
| bits: "31:28", |
| name: "field7", |
| desc: "field description" |
| swaccess: "wo", |
| hwaccess: "hro", |
| resval: "0x8", |
| } |
| ] |
| }, |
| //////////////////////////// |
| // |
| // read-write type with HWQE (not external) |
| { name: "RWTYPE5", |
| desc: "RW type with hwqe", |
| swaccess: "rw", |
| hwaccess: "hrw", // do hrw to see the difference between written values |
| hwqe: "true", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "0xbabababa", |
| } |
| ] |
| }, |
| //////////////////////////// |
| // |
| // read-write type with HWEXT |
| { name: "RWTYPE6", |
| desc: "RW type with hwext", |
| swaccess: "rw", |
| hwaccess: "hrw", |
| hwext: "true", |
| hwqe: "true", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "0xc8c8c8c8", |
| } |
| ] |
| }, |
| //////////////////////////// |
| // |
| // read-only type with HWEXT (defaults to have hwqe too, doesn't really enforce RO) |
| { name: "ROTYPE1", |
| desc: "RO type with hwext", |
| swaccess: "ro", |
| hwaccess: "hrw", |
| hwext: "true", |
| fields: [ |
| { |
| bits: "31:0", |
| desc: "field description" |
| resval: "0x66aa66aa", |
| } |
| ] |
| }, |
| ] |
| }</p> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML"></script> |
| |
| </div> |
| |
| </body> |
| </html> |