Skip to content

Valve causes component error #15

Description

@watturkara

When trying to add valves, I get a component error. Here is some test code to demonstrate this:

DEVICE covid_test_circuit

LAYER FLOW

PORT p1, p2 portRadius=700;
NODE n1;
CHANNEL c1 from p1 2 to n1 4 channelWidth=800;
CHANNEL c2 from n1 2 to p2 4 channelWidth=800;
END LAYER


LAYER CONTROL
PORT p3 portRadius=700;
VALVE v1 on c1 width=300 length=100;
VALVE v2 on c2 width=300 length=100;

NET net1 from p3 1 to v1 4, v2 4 channelWidth=50;

END LAYER

And here is the output:

output dir: /var/www/fluigicad.org/jobs/tmp__6083120dc4667500180b76b3/output
Running File: /var/www/fluigicad.org/jobs/tmp__6083120dc4667500180b76b3/MINT_example.uf
Creating the output directory:
Computing Constraints
Pulling Default Values of Components
Pulling Dimensions of Components
Pulling Terminals of Components
Setting Default MAX Dimensions to the device: (76200, 76200)
Starting terminal/port assignment ...
output: /var/www/fluigicad.org/jobs/tmp__6083120dc4667500180b76b3/output/covid_test_circuit.dot
Parsing Layers...
Layer 0:
Name - "FLOW_0"
ID - "0"
Type - "FLOW"
Group - "0"
Layer 1:
Name - "FLOW_0"
ID - "1"
Type - "CONTROL"
Group - "0"
Component - p1
  xpos - 0
  ypos - 0
  x-span - 1400
  y-span - 1400
  spacing - 1000
  Port - 1
    Port.x - 700
    Port.y - 700
Adding to FLOW ...
Component - p2
  xpos - 0
  ypos - 0
  x-span - 1400
  y-span - 1400
  spacing - 1000
  Port - 1
    Port.x - 700
    Port.y - 700
Adding to FLOW ...
Component - n1
  xpos - 0
  ypos - 0
  x-span - 800
  y-span - 800
  spacing - 1000
  Port - 1
    Port.x - 0
    Port.y - 0
Adding to FLOW ...
Component - p3
  xpos - 0
  ypos - 0
  x-span - 1400
  y-span - 1400
  spacing - 1000
  Port - 1
    Port.x - 700
    Port.y - 700
Adding to CONTROL ...
Component - v1
  xpos - 0
  ypos - 0
  x-span - 300
  y-span - 100
  spacing - 1000
  Port - 1
    Port.x - 150
    Port.y - 50
Adding to CONTROL ...
Component - v2
  xpos - 0
  ypos - 0
  x-span - 300
  y-span - 100
  spacing - 1000
  Port - 1
    Port.x - 150
    Port.y - 50
Adding to CONTROL ...
Connection - c1
  Source - p1
    Source Terminal - ERROR!!!!!!
  Sink - n1
    Sink Terminal - ERROR!!!!!!
  channelWidth - 800
  channelSpacing - 1600
Adding to FLOW layer ... 
Connection - c2
  Source - n1
    Source Terminal - ERROR!!!!!!
  Sink - p2
    Sink Terminal - ERROR!!!!!!
  channelWidth - 800
  channelSpacing - 1600
Adding to FLOW layer ... 
Connection - net1
  Source - p3
    Source Terminal - 1
  Sink - v1
    Sink Terminal - ERROR!!!!!!
  Sink - v2
    Sink Terminal - ERROR!!!!!!
  channelWidth - 50
  channelSpacing - 100
Adding to CONTROL layer ...
valve id: v1, connection id: c1
valve id: v2, connection id: c2
Firing Constructor for Placer
---------------Initial Placement Work-----------------
PAR Return code:-11
Traceback (most recent call last):
  File "//.pyenv/versions/3.8.0/bin/fluigi", line 8, in <module>
    sys.exit(main())
  File "//.pyenv/versions/3.8.0/lib/python3.8/site-packages/fluigi/cmdline.py", line 243, in main
    par_device = generate_device_from_parchmint(str(temp_parchmint_file))
  File "//.pyenv/versions/3.8.0/lib/python3.8/site-packages/fluigi/cmdline.py", line 80, in generate_device_from_parchmint
    return Device(device_json)
  File "/pybin/pyparchmint/parchmint/device.py", line 71, in __init__
    self.parse_from_json(json)
  File "/pybin/pyparchmint/parchmint/device.py", line 296, in parse_from_json
    self._valve_map[self.get_component(key)] = self.get_connection(value)
TypeError: unhashable type: 'Component'

Activity

  1. JoshuaSingh33 commented on Apr 23, 2021

    @JoshuaSingh33

    I have this same issue with the valves in my control layer which prevented me from being able to compile my device with the control layer (without control layer compiles just fine). For some reason, now my Neptune is not working so I can not attach screenshot of error message but it is the same as mentioned above.

    Here is my test code:

    LAYER CONTROL

    PORT p29 portRadius = 1000;
    VALVE v1 on c6 w=1200 l=2400;
    VALVE v2 on c8 w=1200 l=2400;
    VALVE v3 on c10 w=1200 l=2400;
    VALVE v4 on c12 w=1200 l=2400;
    VALVE v5 on c14 w=1200 l=2400;
    NET net1 from p29 1 to v1 4, v2 4, v3 4, v4 4, v5 4 channelWidth=100;

    END LAYER

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions