Skip to main content

Posts

Showing posts from May, 2024

YAML in Semiconductor EDA: From Configuration Language to Reusable Design-Flow Methodology

Hello Dear Readers,   Today in this post, I will provide some deep insight about yaml langauge for CAD flow developments with detailed examples. YAML is not a programming language in the same sense as Python, Tcl, C++, or Verilog. It is primarily a human-readable data serialization/configuration language . In semiconductor EDA, that distinction is important because YAML generally describes what a flow should do , while Python/Tcl/Shell and the EDA tools execute the flow . The official YAML specification describes it as a data serialization language designed to be human-friendly and portable across programming languages. For the semiconductor angle, this becomes particularly interesting because YAML can act as a configuration layer between design methodology and EDA implementation . Frameworks such as Hammer explicitly use YAML/JSON configuration and an intermediate representation to standardize information exchanged between design, technology, and tool plugins. 1. Introduction M...

Low Power Design: Common Power Format

Hello Dear Readers,   Today in this post, I will provide some deep insight into Low Power Design: Common Power Format syntax and how to implement it. CPF (Common Power Format) CPF is power intent as similar as UPF which we have seen earlier.  CPF structure is like UPF, only difference is UPF is handled by Synopsys VC static/dynamic tool, whereas CPF is handled only by Cadence’s CLP tool. Below is Low Power flow for CPF:  CPF Implementation Flow Commands of CPF and UPF are much more similar only difference is in few syntax, will try to write CPF for below design block: Commands of CPF and UPF are much more similar only difference is in few syntax, let’s have glance of CPF commands below: #Definition of top domain set_design top #Define the top power domain create_power_domain –name pdTOP –default #Define pdA       create_power...