Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Changelog

All notable changes to this project will be documented in this file.
It is updated on each new release based on contributions since the last release.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project loosely follows to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## 1.1.0 - 2025-05-07

### Added

- sw: add various peripheral functions
- sw: add expanded helloworld as peripheral test
- pdk: add ETHZ cockpit integration
- openroad: add startup script for ease-of-use
- openroad: add parasitic extraction
- ci: add short synthesis and simulation flows
- ci: add long end-to-end flow
- ci: add artistic rendering flow
- openroad: add hierarchical area report

### Changed

- hw: make SRAM pin `A_DLY` configurable (used to be tied to low when datasheet recommends tie to high)
**IMPORTANT: This bug may create SRAM-internal timing violations; update strongly recommended**
- hw: update OBI dependency
- avoid explicit use of `r_optional` assignments
- fix index width calculations for mux/demux etc
- hw: update common_cells dependency
- yosys: move configurations from makefrags to `yosys_synthesis.tcl`
- yosys: add a default croc.flist

### Fixed

- hw: fix OBI connections to timer peripheral
- hw: various fixes to reduce warnings (Yosys, yosys-slang, Verilator)
- openroad: fix LVS netlist
- sw: fix linker script
-test: fix uninitialized memory
- verilator: speedup compile and synthesis
- bender: fix cve2 vendor dependency

## 1.0.0 - 2024-12-05

### Added

- Initial versioned release of the project
23 changes: 21 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ Croc was sucesfully taped out in Nov 2024. The chip is called [MLEM](http://asic
MLEM was designed and prepared for tapeout by ETHZ students as a bachelor project. The exact code and scripts used for the tapeout can be seen in the frozen [mlem-tapeout](https://github.com/pulp-platform/croc/tree/mlem-tapeout) branch.


**IMPORTANT: Update to 1.1 recommended.**
Release 1.1 and newer includes a fix for the SRAMs where the `A_DLY` pin was tied low instead of high. The pin controls internal timings and the old version may create violations for some SRAMs.


## Architecture

![Croc block diagram](doc/croc_arch.svg)
Expand Down Expand Up @@ -90,14 +94,29 @@ Cell/Module placement | Routing

## Requirements
We are using the excellent docker container maintained by Harald Pretl. If you get stuck with installing the tools, we urge you to check the [Tool Repository](https://github.com/iic-jku/IIC-OSIC-TOOLS).
The current supported version is 2024.11, no other version is tested or officially supported.
The current supported version is 2025.03, no other version is officially supported.

### ETHZ systems
An environment setup for bash is provided.
ETHZ Design Center maintains an internal version of the IHP PDK, with integrations into all tools we have access to. For this reason if you work on the ETH systems it is recommended to use the `icdesign` tool (cockpit) instead of the liked Github repo.
You can directly create a cockpit directory inside the croc directory:
```sh
# Make sure you are in <somedir>/croc
# the checked-out repository
icdesign ihp13 -nogui
```
The setup is guided by the `.cockpitrc` configuration file. If you need different macros or another version of the standard cells you can change it accordingly.

An environment setup for bash is provided to get easy access to the tools:
```sh
source ethz.env
```

Additionally you may prefer to just enter a shell in the pre-installed osic-tools container using:
```sh
oseda bash
# older version eg: oseda -2025.03 bash
```

### Other systems
**Note: this has currently only been tested on Ubuntu and RHEL Linux.**

Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

services:
pulp-docker:
image: hpretl/iic-osic-tools:2024.10
image: hpretl/iic-osic-tools:2025.03
environment:
- UID=${UID}
- GID=${GID}
Expand Down
Binary file removed openroad/pics/final.png
Binary file not shown.
Binary file removed openroad/pics/final_io.png
Binary file not shown.
Binary file removed openroad/pics/modules.png
Binary file not shown.
2 changes: 1 addition & 1 deletion start_vnc.bat
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ if not exist "%DESIGNS%" %ECHO_IF_DRY_RUN% mkdir "%DESIGNS%"

IF "%DOCKER_USER%"=="" SET DOCKER_USER=hpretl
IF "%DOCKER_IMAGE%"=="" SET DOCKER_IMAGE=iic-osic-tools
IF "%DOCKER_TAG%"=="" SET DOCKER_TAG=2024.10
IF "%DOCKER_TAG%"=="" SET DOCKER_TAG=2025.03

IF "%CONTAINER_USER%"=="" SET CONTAINER_USER=1000
IF "%CONTAINER_GROUP%"=="" SET CONTAINER_GROUP=1000
Expand Down
2 changes: 1 addition & 1 deletion start_vnc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ if [ -z ${DOCKER_IMAGE+z} ]; then
fi

if [ -z ${DOCKER_TAG+z} ]; then
DOCKER_TAG="2024.10"
DOCKER_TAG="2025.03"
fi

if [ -z ${CONTAINER_NAME+z} ]; then
Expand Down
Loading