Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Valve causes component error #15

Open
watturkara opened this issue Apr 23, 2021 · 1 comment
Open

Valve causes component error #15

watturkara opened this issue Apr 23, 2021 · 1 comment

Comments

@watturkara
Copy link

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'
@JoshuaSingh33
Copy link

JoshuaSingh33 commented Apr 23, 2021

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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants