Git Product home page Git Product logo

Comments (8)

mithro avatar mithro commented on May 7, 2024

@msaligane - In #37 you mentioned

The variable comes before the index:

But the example copied from your comment at #37 (comment) above has exactly that ordering of the output?

from skywater-pdk.

msaligane avatar msaligane commented on May 7, 2024

That was the expected format that I pasted there (I know confusing..) @mithro

from skywater-pdk.

mithro avatar mithro commented on May 7, 2024

@msaligane What is the current format? The index coming before variable?

from skywater-pdk.

msaligane avatar msaligane commented on May 7, 2024

@mithro Please look above:

What I pasted up here is the correct format:

lu_table_template ("del_1_7_7") {
		variable_1 : "input_net_transition";
		index_1("1, 2, 3, 4, 5, 6, 7");
		variable_2 : "total_output_net_capacitance";
		index_2("1, 2, 3, 4, 5, 6, 7");

Meaning that I am expecting variable before index. Maybe I can take a look at the code?

from skywater-pdk.

kkiningh avatar kkiningh commented on May 7, 2024

This is the suggested format for the lu_table_template group.

library (name_string) {
 ...
 lu_table_template(name_string) {
  variable_1 : value_enum ;
  variable_2 : value_enum ;
  variable_3 : value_enum ;
  index_1 ("float, ..., float");
  index_2 ("float, ..., float");
  index_3 ("float, ..., float");
 }
}

In other words, all variables should come before all indices. This seems to be true for the other groups with variables + indices I checked as well (e.g. normalized_driver_waveform)

from skywater-pdk.

kkiningh avatar kkiningh commented on May 7, 2024

Actually, looking closer it looks like the more general rule is: simple attributes first in alphabetical order (i.e. key : value pairs) and then complex attributes like index and values

from skywater-pdk.

msaligane avatar msaligane commented on May 7, 2024

@mithro Did you address the normalized_driver_waveform ? Primetime is flagging this:
Error message:
Error: Line 24721, Cell 'sky130_fd_sc_hd__a311oi_2', The normalized_driver_waveform group with name 'ramp', has not been defined in the library. (LBDB-751)

This is in the current .lib:

 normalized_driver_waveform ("driver_waveform_template") {
        index_1("0.0100000000, 0.0230506000, 0.0531329000, 0.1224745000, 0.2823108000, 0.5000000000, 0.6507428000, 1.5000000000");
        index_2("0.0000000000, 0.5000000000, 1.0000000000");
        driver_waveform_name : "ramp";
        values(            "0.0000000000, 0.0083333333, 0.0166666670", \
            "0.0000000000, 0.0192088180, 0.0384176350", \
            "0.0000000000, 0.0442774400, 0.0885548810", \
            "0.0000000000, 0.1020620700, 0.2041241500", \
            "0.0000000000, 0.2352590100, 0.4705180100", \
            "0.0000000000, 0.4166666700, 0.8333333300", \
            "0.0000000000, 0.5422856800, 1.0845714000", \
            "0.0000000000, 1.2500000000, 2.5000000000");

And this is how the normalized_driver_waveform should be defined:

normalized_driver_waveform(waveform_template_name) {
 **driver_waveform_name** : string; /* Specifies the name of the driver
 waveform table */
 index_1 ("float…, float"); /* Specifies input net transition */
 index_2 ("float…, float"); /* Specifies normalized voltage */
 values ( "float…, float", \ /* Specifies the time in library units */
 …, \
 "float…, float");
 }

You have to reorder this to match the doc description.

from skywater-pdk.

mithro avatar mithro commented on May 7, 2024

This sort order is currently defined at https://github.com/google/skywater-pdk/pull/34/files#diff-f9cb759bb20be5053e4a63e7e0b282d2R355-R372

from skywater-pdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.