You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 1, 2022. It is now read-only.
Copyright 2021 Massachusetts Institute of Technology
@@ -26,13 +22,10 @@ The Common Evaluation Platform (CEP) is intended as a surrogate System on a Chip
26
22
The Logic Locking Key Interface (LLKI) has been provided as a representative means of distributing key / configuration material to LLKI-enabled cores.
27
23
28
24
For CEP v3.1+, the full LLKI has been added. This includes the Surrogate Root of Trust (SRoT) and mock Technique Specific Shims (TSS) for all accelerator cores.
29
-
<<<<<<< HEAD
30
25
31
26
### Please check the [Release Notes](./RELEASE_NOTES.md) to understand what has changed and a list of known issues.
32
27
33
28
<br/><br/>
34
-
=======
35
-
>>>>>>> 6494113db2448733228b0f6659bfa0a7fedc93c0
36
29
37
30
<palign="center">
38
31
<img src="./doc/cep_v3.1_architecture.jpg">
@@ -56,11 +49,7 @@ Currently, the test platform for the CEP is the Xilinx VC-707 FPGA Development B
* Modelsim Questa Sim-64 v2019.1 (for co-simulation and unit simulation)
65
54
* Xilinx Vivado 2018.3 (Design or System Edition)
66
55
- Plus Digilent Adept Drivers for programming the VC-707, https://reference.digilentinc.com/reference/software/adept/start?redirect=1#software_downloads)
@@ -117,14 +106,10 @@ Ensure you have write permissions to the directory pointed to by $RISCV and that
117
106
118
107
#### Ubuntu 18.04 LTS instructions
119
108
120
-
<<<<<<< HEAD
121
109
Default openssl version is 18.04 is different than 16.04. Install the following additional package.
122
110
`sudo apt install libssl1.0-dev`
123
111
124
112
You'll also need to force the compilation of the riscv-toolchain with GCC-5, which is not installed by default.
125
-
=======
126
-
If you are using Ubuntu 18.04 LTS, you need to force the compilation of the riscv-toolchain with GCC-5, which is not installed by default.
127
-
>>>>>>> 6494113db2448733228b0f6659bfa0a7fedc93c0
128
113
129
114
First, install gcc-5
130
115
```
@@ -167,7 +152,6 @@ Next, you need to install Scala which is required by Chisel.
167
152
Install the required dependencies by running the following command:
@@ -495,111 +426,6 @@ More information about the unit simulations can be found [./unit_simulation/READ
495
426
Feedback on the CEP is welcomed by the authors. They are best contacted by opening a Github issue.
496
427
497
428
498
-
<<<<<<< HEAD
499
-
=======
500
-
## Release Notes
501
-
502
-
v1.0 - Initial release
503
-
504
-
v1.1 - (19 July 2018)
505
-
* Directory structure has been reorganized (details below)
506
-
* Upgraded to the non-deprecated mor1kx (added as a subnodule)
507
-
* Verified with both the pre-built and build-your-own version of the Newlib toolchain as described on [http://openrisc.io](http://openrisc.io)
508
-
* In addition to test vectors for each of the cores, some additional test_software, such as "hello world", have been added for reference
509
-
* Expanded testbench (details below)
510
-
* Bug fixes and general code cleanup [Additional details in the git commit history]
511
-
512
-
v1.1.1 - (27 September 2018)
513
-
* Added CEP\_utilization\_placed.rpt in implSummaries directory. This summarizes utlization of the CEP v1.1 targetted to the VC707 using Vivado 2018.1.
514
-
515
-
v1.2 - (15 November 2018)
516
-
* Major Update: The underlying bus has been converted from Wishbone-B4 to AXI4-Lite. All cores as well as the MOR1KX has been wrapped with translation modules. All the wrapping logic and interconnect are now in SystemVerilog.
517
-
* Regression Suite: In additon to each core's unit tests, a regression test suite has been included. When compiled by the or1k toolchain, it be loaded/synthesized into the CEP RAM block and run at boot time.
518
-
* Modelsim Testing: Unit-level and system-level modelsim-based testbenches added
519
-
* GPS clkgen: The GPS clock gen component has been moved to the top level of the CEP, simplifying its replacement when targetting an ASIC.
520
-
* Misc. bug fixes
521
-
522
-
v2.0 - (16 August 2019)
523
-
* Major Update: mor1k proceesor core replaced with the UCB Rocket-Chip within the SiFive Freedom U500 Platform. All modules have been updated to support TileLink natively. Currently only the AES and FIR cores have been integrated, but v2.1 will include the re-release of all the CEP cores.
* Added co-simulation environment that supports both Bus Functional Model (BFM) and Baremetal simulation modes. Additional diagnostic capabilities within Linux.
530
-
531
-
v2.3 - (17 April 2020)
532
-
* Added unit-level testbenches for all CEP cores. Co-simulation modified to generate unit-level test stimulus.
533
-
534
-
v2.4 - (5 June 2020)
535
-
* CEP core test coverage expanded
536
-
* Unit testbenches transactional-level support added
537
-
* AES-derived and FIR-derived generated cores added
538
-
* Misc. bug fixes
539
-
540
-
v2.5 - (31 July 2020)
541
-
* All Unit-level testbenches have been expanded to optional support the Logic Locking Keying Interface (LLKI)
542
-
for both cycle-level and transactional-level modes
543
-
544
-
v2.51 - (7 August 2020)
545
-
* Legacy unused core wrapper files (axi4lite and wb) removed
546
-
547
-
v2.52 - (2 September 2020)
548
-
* Added ./doc/CEP_TestDescriptions.pdf
549
-
550
-
v2.6 - (18 September 2020)
551
-
* Rocket-Chip and Freedom repositories updated. Source responsitory list:
552
-
https://github.com/sifive/freedom/tree/8622a684e7e54d0a20df90659285b9c587772629 - Aug 19, 2020
* riscv-tools (formerly under rocket-chip) now located in ./software/riscv-gnu-toolchain
558
-
* KNOWN ISSUES:
559
-
- The iCacheCoherency passes when running bare-metal simulation, but fails when running on the VC-707. There is an issue with
560
-
the iCache protocol that the tight-looped iCache coherency test results in one or more of the Rocket Cores (there are 4 in
561
-
the CEP) L1 iCache not getting the value associated with the most recent write to instruction memory.
562
-
563
-
Functionally, this should only cause an issue when dealing with self-modifying code, which is an atypical coding practice.
564
-
565
-
v2.61 - (2 October 2020)
566
-
- Added initial simulation support for Cadence XCellium
567
-
- Cosim: Expanded DDR3 memory size to support "larger" bare-metal executables created by the new RISCV toolchain released with v2.6
568
-
569
-
v2.7 - (28 October 2020)
570
-
* Added support for RISC-V ISA tests (under ./cosim/isaTests)
571
-
* Updated license statements to BSD-2-Clause
572
-
* KNOWN ISSUES:
573
-
- The iCacheCoherency passes when running bare-metal simulation, but fails when running on the VC-707. There is an issue with
574
-
the iCache protocol that the tight-looped iCache coherency test results in one or more of the Rocket Cores (there are 4 in
575
-
the CEP) L1 iCache not getting the value associated with the most recent write to instruction memory.
576
-
577
-
Functionally, this should only cause an issue when dealing with self-modifying code, which is an atypical coding practice.
578
-
579
-
- The following cosim tests fail when run under RHEL using the "new" RISC-V toolchain:
580
-
- bareMetalTests/cacheCoherence
581
-
- isaTests/rv64mi-p-access
582
-
- isaTests/rv64ud-p-ldst
583
-
584
-
v2.71 - (2 November 2020)
585
-
* Corrected README.md issue
586
-
587
-
v3.0 - (18 December 2020)
588
-
* Initial LLKI release with Surrogate Root of Trust
589
-
* AES core replaced with LLKI-enabled AES core, all other cores remain unchanged
590
-
591
-
v3.01 - (19 December 2020)
592
-
* Removed used flash model reference in cep_tb.v
593
-
594
-
v3.1 - (22 February 2021)
595
-
* Full LLKI support (All CEP cores are now LLKI enabled)
596
-
* Known Issues:
597
-
- cep_diag (on Linux) has NOT been updated to work with the LLKI. Thus, running the tests that use
598
-
the CEP cores (e.g., cep_aes, cep_des3, etc.) will result in failure
599
-
- rv64si-p-dirty ISA test fails
600
-
- unit_simulations need to be updated to be compatible with the LLKI
601
-
602
-
>>>>>>> 6494113db2448733228b0f6659bfa0a7fedc93c0
603
429
## Licensing
604
430
The CEP been developed with a goal of using components with non-viral, open source licensing whenever possible. When not feasible (such as Linux), pointers to reference repositories are given using the [get_external_dependencies.sh](./get_external_dependencies.sh) script.
0 commit comments