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

Question about DRC Violations Prediction and RouteNet #50

Open
wwwwwly opened this issue Dec 23, 2024 · 1 comment
Open

Question about DRC Violations Prediction and RouteNet #50

wwwwwly opened this issue Dec 23, 2024 · 1 comment

Comments

@wwwwwly
Copy link

wwwwwly commented Dec 23, 2024

Thank you very much for your work, which has been incredibly helpful to me. However, I encountered some questions while reading the paper (CircuitNet: An Open-Source Dataset for Machine Learning in VLSI CAD Applications With Improved Domain-Specific Evaluation Metric and Learning Strategies) and exploring the source code of the CircuitNet project.

  1. Labels for Model Training
    In the paper, the task is described as: Given a globally routed design, build a model to predict DRC violations after detailed routing. This problem is formulated as a DRC hotspot detection task, with a threshold to categorize DRC hotspot regions and non-hotspot regions.
    The mathematical formulation is given as:
    $g_{DRC}: X \in \mathbb{R}^{w \times h \times f} \rightarrow V_i \in \{0,1\}^{w \times h}$
    However, upon examining the source code, I found that the labels used in the training process are continuous values, rather than binary (0-1) images.

  2. Loss Calculation
    In the source code of RouteNet model, the decoder's final layer uses a sigmoid activation function to map the model output to the range [0,1]. Meanwhile, the labels are normalized using min-max scaling. Is it appropriate to use Mean Squared Error (MSE) as the loss function in this case, given the difference in how the output and labels are processed?

@apri0426
Copy link
Contributor

  1. In this implementation, the label is binary only in inference. Of course, binary labels can be used for training, and the performance is better, but in this case, the threshold for the model becomes fixed.
  2. I don't understand your point. After min-max scaling, the labels are also in the range [0,1]

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