Skip to content

Commit fa66f51

Browse files
robtaylorlanserge
authored andcommitted
Send pinlock for config to api
1 parent 7f2df52 commit fa66f51

File tree

2 files changed

+6
-32
lines changed

2 files changed

+6
-32
lines changed

.github/workflows/main.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ jobs:
7979
CHIPFLOW_API_ORIGIN: 'https://build-staging.chipflow.org'
8080
CHIPFLOW_API_KEY_ID: ${{ secrets.CHIPFLOW_API_KEY_ID }}
8181
CHIPFLOW_API_KEY_SECRET: ${{ secrets.CHIPFLOW_API_KEY_SECRET }}
82-
CHIPFLOW_BACKEND_VERSION: b7afdbf
8382

8483
test-submit-dry:
8584
runs-on: ubuntu-latest

chipflow_lib/steps/silicon.py

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
# SPDX-License-Identifier: BSD-2-Clause
22

33
import argparse
4-
import importlib.metadata
54
import inspect
65
import json
76
import logging
87
import os
98
import requests
109
import subprocess
11-
import sys
1210
import time
1311

1412
import dotenv
1513
from amaranth import *
1614

1715
from .. import ChipFlowError
18-
from ..platforms import SiliconPlatform, top_interfaces
16+
from ..platforms import SiliconPlatform, top_interfaces, load_pinlock
1917

2018

2119
logger = logging.getLogger(__name__)
@@ -116,21 +114,6 @@ def submit(self, rtlil_path, *, dry_run=False, wait=False):
116114
if git_dirty:
117115
logging.warning("Git tree is dirty, submitting anyway!")
118116
submission_name += "-dirty"
119-
dep_versions = {
120-
"python": sys.version.split()[0]
121-
}
122-
for package in (
123-
# Upstream packages
124-
"yowasp-runtime", "yowasp-yosys",
125-
"amaranth", "amaranth-stdio", "amaranth-soc",
126-
# ChipFlow packages
127-
"chipflow-lib",
128-
"amaranth-orchard", "amaranth-vexriscv",
129-
):
130-
try:
131-
dep_versions[package] = importlib.metadata.version(package)
132-
except importlib.metadata.PackageNotFoundError:
133-
dep_versions[package] = None
134117

135118
data = {
136119
"projectId": self.project_name,
@@ -160,20 +143,12 @@ def submit(self, rtlil_path, *, dry_run=False, wait=False):
160143
f"dir={port.direction}, width={width}")
161144
pads[padname] = {'loc': port.pins[0], 'type': port.direction.value}
162145

163-
# Use the Pydantic models to access configuration data
164-
silicon_model = self.config_model.chipflow.silicon
165-
config = {
166-
"dependency_versions": dep_versions,
167-
"silicon": {
168-
"process": str(silicon_model.process),
169-
"pad_ring": silicon_model.package,
170-
"pads": pads,
171-
"power": {k: {"type": v.type, "loc": v.loc} for k, v in silicon_model.power.items()}
172-
}
173-
}
146+
pinlock = load_pinlock()
147+
config = pinlock.model_dump_json(indent=2)
148+
174149
if dry_run:
175150
print(f"data=\n{json.dumps(data, indent=2)}")
176-
print(f"files['config']=\n{json.dumps(config, indent=2)}")
151+
print(f"files['config']=\n{config}")
177152
return
178153

179154
logger.info(f"Submitting {submission_name} for project {self.project_name}")
@@ -188,7 +163,7 @@ def submit(self, rtlil_path, *, dry_run=False, wait=False):
188163
data=data,
189164
files={
190165
"rtlil": open(rtlil_path, "rb"),
191-
"config": json.dumps(config),
166+
"config": config,
192167
},
193168
allow_redirects=False
194169
)

0 commit comments

Comments
 (0)