Commit Graph

161 Commits

Author SHA1 Message Date
Alexandre Joannou
19d3983010 Added an option to control the capability type used for verilog wrappers 2025-01-27 12:13:19 +00:00
Jonathan Woodruff
7212f50b4d Take into account tag clearing in setBounds. 2025-01-24 17:24:47 +00:00
Jonathan Woodruff
c2fe9cc093 Add rule in makefile to perform the formal property checks. 2025-01-24 15:20:14 +00:00
Matthew Naylor
d9e2fb788a Some properties that pass through SymbiYosys 2025-01-24 13:37:49 +00:00
PeterRugg
b29845fd65 Fix readme python-requirements typo
Spotted by @jonwoodruff
2025-01-10 16:58:15 +00:00
Marvel Renju
354a67386e Fix setBounds not clearing tag (#12)
Ensure tag is cleared if the result is not in bounds
2024-09-09 12:45:12 +01:00
Yuecheng Wang
7d229ec7d5 added isDerivable to verilog wrapper 2024-09-02 13:42:51 +01:00
Ivan Ribeiro
93a22d303d Merge pull request #11 from ivanmgribeiro/fusesoc
Add FuseSoC support and a SystemVerilog wrapper generator
2023-10-09 17:33:41 +01:00
Ivan Ribeiro
321c985fc8 Update fusesoc docs per version of OT repo used
The previous documentation was using the python requirements from the
ibex repository rather than the OpenTitan repo.
2023-10-08 14:06:04 +01:00
Ivan Ribeiro
f3284354d2 Remove "is" and "get" from generated SV fields
This should make using the fields a little prettier
2023-10-04 19:58:48 +01:00
Ivan Ribeiro
e4e1ed4c69 Add some documentation regarding FuseSoC 2023-10-02 18:14:36 +01:00
Ivan Ribeiro
ed0e4dfa65 Add capability size to name of modules and files 2023-10-02 17:46:29 +01:00
Ivan Ribeiro
a8898154d4 Add functions to CHERICapWrap.bsv 2023-10-02 17:46:29 +01:00
Ivan Ribeiro
06eff948d9 Fix bsv_src_root
files_root is actually the directory where the fusesoc command was
executed, but what we want here is the location of the python file being
executed so we can find the bluespec sources
2023-10-02 17:46:29 +01:00
Ivan Ribeiro
fd1f7c12a2 Add SystemVerilog wrappers to generator 2023-10-02 17:46:29 +01:00
Ivan Ribeiro
61e7b3e668 Add test core and targets
To test, run:
fusesoc --cores-root . run --setup --target test ucam:cheri:cheri-cap-lib-test
2023-10-02 17:46:29 +01:00
Ivan Ribeiro
fcadf1aead Add barebones fusesoc generator core
This adds a fusesoc generator to create the verilog files from the
bluespec source.
2023-10-02 17:46:29 +01:00
Ivan Ribeiro
a6664e512c Implement changes suggested by @gameboo + bugfix
Uses argparse's "choices" argument, remove unused method and use abc and
for abstract methods.
Also updates the python filename in the Makefile
2023-10-02 17:46:29 +01:00
Ivan Ribeiro
2d6864bbf3 New wrap script to support more languages (inc SV)
At the moment, the original Blarney support is kept and support for a
SystemVerilog wrapper is added.
2023-10-02 17:46:29 +01:00
Ivan Ribeiro
49de0f90f0 Reduce VA_Width to allow compilation
This is almost certainly not the right fix but allows the code to
compile and the trim code is not used anywhere with CAP64
2023-10-02 17:33:58 +01:00
Simon Moore
27e63bd9fd Remove HTML for adoc. 2023-08-30 18:38:32 +01:00
Jonathan Woodruff
cab12e0532 Add another couple missing exports. 2023-08-18 17:51:33 +00:00
Jonathan Woodruff
9dd923936f Add some missing exports. 2023-08-18 17:46:06 +00:00
Jonathan Woodruff
613af39b8f Add functions to compress/decompress the CapMem format where the tag is
assumed to be set and the address is assumed to be a valid virtual
address.

This is being used for getting realistic area usage for the BTB.
2023-08-18 17:33:25 +00:00
Peter Rugg
f11156ef9a Remove non-ascii characters 2023-01-25 16:27:06 +00:00
PeterRugg
7d9fdce16a Single cycle setBounds checking if the request is in bounds (#10) 2022-10-25 20:02:43 +01:00
Jonathan Woodruff
be80fbe51c Merge pull request #9 from CTSRD-CHERI/wip-aj443-bounds-info-api-refactor
bounds info api refactor
2022-10-25 10:43:07 +01:00
Alexandre Joannou
20daecce77 Update readme.adoc 2022-10-05 17:15:44 +01:00
Alexandre Joannou
6c71799edb Added a toc to CHERI_CAP_API 2022-09-30 17:30:04 +01:00
Alexandre Joannou
11a88def9f A bit more details in teh CHERI CAP API description 2022-09-30 16:22:24 +00:00
Alexandre Joannou
9c09922ab0 Rephrase 2022-09-30 15:48:24 +00:00
Alexandre Joannou
c72cda1a3c More detailed API adoc 2022-09-30 15:10:09 +00:00
Alexandre Joannou
e4826ac997 rephrase + typo 2022-09-30 12:33:49 +01:00
Alexandre Joannou
49e6e07a70 Update and rename readme.md to readme.adoc 2022-09-30 12:22:47 +01:00
Peter Rugg
149733072a Don't unseal caps in setBounds
I'm not sure why this was here, as setBounds on a sealed cap would previously cause a trap anyway.
Maybe left over from when otype bits were shared with the bounds?
2022-05-13 14:17:41 +01:00
gameboo
bc727f9731 Fold in discussions with Jon and Matt regarding split representable regions 2021-10-07 15:17:13 +01:00
gameboo
aa0a8fe224 Fold in some comments from jdw57 and pdr32 2021-09-28 12:42:17 +01:00
gameboo
6e20d177dc Fixup base/top/repBase/repTop implementation 2021-09-28 12:06:12 +01:00
gameboo
5bb91d9d99 Cosmetics for CapReg CHERICap instance 2021-09-28 01:30:19 +01:00
gameboo
e55c65556a Comment about orphan instance for CapMem 2021-09-28 01:29:29 +01:00
gameboo
321409df6a Cosmetics for CapMem CHERICap instance 2021-09-28 01:29:29 +01:00
gameboo
76d4dea31e Minor renames and cosmetic changes 2021-09-28 01:27:46 +01:00
gameboo
f8dd165505 Can't cleanly use export mechanism at the moment apparently... + typo in comments 2021-09-28 00:08:38 +01:00
gameboo
e110284da7 More refactor + first implementation for rep{Base,Top,Length} 2021-09-24 17:24:48 +01:00
gameboo
f1837b9fb6 Mock up of the getBoundsInfo API update 2021-09-23 19:23:28 +01:00
Jonathan Woodruff
806b687e8a Merge pull request #8 from CTSRD-CHERI/wip-aj443-getMeta
Introduced a getMeta method as a counterpart to getAddr for getting all
2021-09-16 09:31:59 +00:00
gameboo
1741ce43dd Introduced a getMeta method as a counterpart to getAddr for getting all
bits of in-memory architectural capability representation
2021-09-15 17:57:01 +01:00
Alexandre Joannou
8ab0d3888f Merge pull request #7 from mn416/mn416-blarney-update
Blarney wrappers now compile with latest Blarney
2021-06-29 00:06:41 +01:00
Matthew Naylor
bea5e463c6 Blarney wrappers now compile with latest Blarney
Various minor changes to Blarney wrapper script:
  * Blarney.BV -> Blarney.Core.BV
  * Custom now needs input widths as well as output widths
  * Custom now takes additional argument (netlist generator -> Nothing)
  * makePrim1 now takes 2 params, not 3
2021-06-28 15:00:02 +01:00
gameboo
350229febb CHERICapWrap.bsv: CapAddressW -> CapAddrW 2021-03-03 19:18:30 +00:00