| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| """Generate FPV CSR read and write assertions from validated register JSON tree |
| from mako import exceptions |
| from mako.template import Template |
| from pkg_resources import resource_filename |
| from .field_enums import HwAccess, SwAccess, SwRdAccess, SwWrAccess |
| from .gen_rtl import json_to_reg |
| # function get write property name |
| # function get read property name |
| def gen_fpv(obj, outdir): |
| gen_assertion(block, outdir) |
| def gen_assertion(block, outdir): |
| # Read Register templates |
| filename=resource_filename('reggen', 'fpv_csr.sv.tpl')) |
| # Generate pkg.sv with block name |
| with open(outdir + "/" + block.name + "_csr_assert_fpv.sv", 'w') as fout: |
| fpv_csr_tpl.render(block=block, |
| log.error(exceptions.text_error_template().render()) |