newip
Command
cicconf newip --help
Usage: cicconf newip [OPTIONS] NAME
Create a new IP with name <project>_<name>_<technology> The <project> and
<technology> is fetched from the config file.
The name should be short and must be unique (for example, bias, aic01 or
similar).
Options:
--project TEXT Override project name in config file
--technology TEXT Override technology name in config file
--ip TEXT Override ip template name in config file
--help Show this message and exit.
Description
newip creates a new IP directory from a template YAML file.
It uses the options section in config.yaml:
options:
template:
ip: tech_sky130B/cicconf/ip_template.yaml
project: rply
technology: sky130nm
The generated IP name is:
<project>_<name>_<technology>
The template runner converts that to uppercase for variable substitution and creates the output directory in lowercase.
Template format
The IP template file can contain:
dirs:
- work
- sim
copy:
- Makefile
create:
README.md: |
# ${IP}
do:
- git init
echo: "Created ${IP}"
| Section | Meaning |
|---|---|
dirs |
List of directories to create |
copy |
Files to copy from a source IP if used |
create |
Files created from inline content |
do |
Shell commands to run after creation |
echo |
Text to print |
Variable substitution
Before parsing the template YAML, cicconf replaces:
${CELL}and${cell}${IP}and${ip}- matching environment variables such as
${USER}
Examples
Create a new IP using config defaults:
cicconf newip bias
Override project and technology:
cicconf newip bias --project sun --technology sky130nm
Override the template file:
cicconf newip bias --ip tech_sky130B/cicconf/ip_template.yaml