Chi-An (Rocky) Wu, Cadence Design Systems, Inc.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

LYU 0602 Automatic PhotoHunt Generation1 Automatic PhotoHunt Generation Shum Hei Lung To Wan Chi Supervisor: Prof. Michael R. Lyu.
Investigation of TDMA solution for the hidden terminal problem (With “ Wavion ” ) Final Report Presentation.
Longbiao Kang, Baotian Hu, Xiangping Wu, Qingcai Chen, and Yan He Intelligent Computing Research Center, School of Computer Science and Technology, Harbin.
DIRAC Web User Interface A.Casajus (Universitat de Barcelona) M.Sapunov (CPPM Marseille) On behalf of the LHCb DIRAC Team.
ECO Methodology for Very High Frequency Microprocessor Sumit Goswami, Srivatsa Srinath, Anoop V, Ravi Sekhar Intel Technology, Bangalore, India Introduction.
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
March 20, 2007 ISPD An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,
An Introduction to Digital Systems Simulation Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
My talk describes how the detailed error diagnosis and the automatic solution procedure of problem solving environment T-algebra can be used for automatic.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Ho-Lin Chang, Hsiang-Cheng Lai, Tsu-Yun Hsueh, Wei-Kai Cheng, Mely Chen Chi Department of Information and Computer Engineering, CYCU A 3D IC Designs Partitioning.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Gang WangDerek HoiemDavid Forsyth. INTRODUCTION APROACH (implement detail) EXPERIMENTS CONCLUSION.
Reactive and Output-Only HKOI Training Team 2006 Liu Chi Man (cx) 11 Feb 2006.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Shuang Wu REU-DIMACS, 2010 Mentor: James Abello. Project description Our research project Input: time data recorded from the ‘Name That Cluster’ web page.
From InDiCo to JACoW in one (well maybe a few) click(s) J. Poole.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
Advanced Higher Computing Science
Analysis Manager Training Module
Advanced Computer Systems
Development Environment
What is a CAT? What is a CAT?.
Risk Assessment Meeting
ArmKeyBoard A Mobile Keyboard Instrument Based on Chord-scale System
PLM, Document and Workflow Management
Pivot Finder ArcGIS Tool
Topics Modeling with hardware description languages (HDLs).
Evaluating state of the art in AI
SoCKs Flow: Here, There, and Back Again
Challenges in Creating an Automated Protein Structure Metaserver
High Performance Computing on an IBM Cell Processor --- Bioinformatics
Six Sigma Greenbelt Training
Lawrence Livermore National Laboratory
Parts of an Academic Paper
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
ICCAD-2017 Problem A: Resource-aware Patch Generation
Delay Optimization using SOP Balancing
Introduction CSE 1310 – Introduction to Computers and Programming
Algorithm and Ambiguity
Enhancing PDR/IC3 with Localization Abstraction
Topics Modeling with hardware description languages (HDLs).
structures and their relationships." - Linus Torvalds
Anne Pratoomtong ECE734, Spring2002
Neural Networks: Improving Performance in X-ray Lithography Applications ECE 539 Ryan T. Hogg May 10, 2000.
Unit# 9: Computer Program Development
Lecture 12: Data Wrangling
Objective of This Course
SAT-Based Area Recovery in Technology Mapping
Model Based Testing Venkata Ramana Bandari, Expert Software Engineer
Linear Equations in Linear Algebra
Sets, Maps and Hash Tables
Need for the subject.
Applying the Generic Statistical Business Process Model to Business Register Maintenance Steven Vale UNECE
Applying Use Cases (Chapters 25,26)
Beijing University of Aeronautics & Astronautics
Applying Use Cases (Chapters 25,26)
Delay Optimization using SOP Balancing
Relevance and Reinforcement in Interactive Browsing
Precise Condition Synthesis for Program Repair
Physics-guided machine learning for milling stability:
Programming Assignment Tutorial
Linear Equations in Linear Algebra
structures and their relationships." - Linus Torvalds
The Generic Statistical Business Process Model Steven Vale, UNECE
Presentation transcript:

ICCAD-2018 CAD Contest in Smart EC: Program-Building for Name Mapping Suite Chi-An (Rocky) Wu, Cadence Design Systems, Inc. ICCAD 2018/ CAD Contest Session

Agenda Problem Description Benchmark Suites Contest Results

Introduction When implementation tools synthesize or modify designs, they will change the instances’ names by certain consistent rules. There are many situations that may happen name changes: Ungrouping modules, multibit grouping on registers, adding wrapper interface, inserting design for testing, two-dimension registers to one- dimension, appending library cell’s content, etc. For the industrial applications of equivalence checking (EC) and engine change order (ECO), it is important to perform name mapping to get the instance corresponding between the original netlist and the modified netlist. How to achieve the better name mapping is a complex issue.

The Challenge of this Problem Every implementation tools have different kinds of name changing depended on their name setup and modifying way. Besides, the final tape-out netlist is through many implementation tools. The problem is to find the compact rules or relations to mapping two sets of names. For application tools, it is better to use minimal statements to describe the rules and relations. For example, there is name changing for two-dimension to one- dimension: “name[0][0] -> [0]”, “name[1][0] -> [2]”, “name[1][1] -> [3]” The rule: “c = 2*a + b for [a][b] -> c” is better than telling the mapping of “[0][0]->0”,”[1][0]->2”, ”[1][1]->3”.

Problem Description Given the mapping relation of two sets of names, the problem goal is to generate a Python script with the smallest size. This Python script needs to output the original mapping relation when it’s inputs are the two sets of names without relations. For example, Given mapping relation { “a[dog]” : “a0”, “b[dog]” : b0”}, the contester’s program needs to generate a Python script. Then, giving two name sets [“a[dog]”,”b[dog]”] and [“a0”,”b0”], this Python script needs to output the original relation.

Problem Evaluation In each case, if a team output wrong mapping or it’s run out of time limit, the team get 0 score on this case. In each case, the rank of each case is decided by the size of Python. Smallest size gets the top-rank. If two teams have the same size, then the rank is decided by their runtime. The 1~6 rank can get {10, 7, 5, 4, 3, 2} score on this case. Others can get 1 score. The final rank of team is decided by the sum of scores on all cases.

Participation Statistics We have 20 teams attending this problem in the final evaluation. It is good to see students are interesting in this issue. Generating a good Python script is not easy to develop. Phase The Number of Teams Alpha 22 Beta 18 Final 20

Benchmark Suites Benchmarks comes from industrial cases with changing all name words. Their names go through some implementation tools from front-end synthesizer to back-end layout tools. There are 9 open cases for contestants to developing their algorithms and 15 hidden cases to test robustness.

Benchmark Data of Open Cases The size of contestants’ python scripts, which describing mapping relations, are much smaller than case size. Some cases has same smallest size. It may imply the same rules of changing names. Case Number of Names Average Name length Maximal Name length Smallest Python Size Set 1 Set 2 Case0 105376 57 72 150 94 Case1 11316 130 39 287 69 220 Case2 10871 134 Case3 62726 90 213 166 Case4 33731 21 23 107 157 Case5 55522 48 73 183 269 Case6 23933 35 43 105 115 180 Case7 22034 42 Case8 55980 52 92 101 614

Benchmark Data of Hidden Cases Number of Names Average Name length Maximal Name length Smallest Python Size Set 1 Set 2 Case9 58497 30 44 101 162 2109 Case10 70577 31 45 67 93 2929 Case11 72830 41 69 115 218 2928 Case12 80061 255 40 1608 189 33629 Case13 84918 52 77 266 159 2039 Case14 75899 74 103 166 Case15 79882 35 36 137 147 2042 Case16 54502 32 38 68 94 1103 Case17 243969 125 133 263 55498 Case18 189730 81 152 Case19 54209 33 51 108 112 2141 Case20 50563 46 2226 Case21 62853 34 144 207 1987 Case22 64628 110 12191 Case23 55608 15 88 92 3196

Case Study In open cases, high-ranked teams can find algorithms to generate python script with similar sizes 600~700. However, in hidden cases with unknown features, the smallest size can be in thousands (3196), but others are in ten thousands (19628) and more. It shows that the top-ranked team has more robust algorithms.

Total Score of Top 10 Teams Top-rank team is more robust.

Conclusion It is a special problem not like previous years. Contestants did good job on this problem. Open results have good performance by their algorithms. Besides, some teams have good hidden results, which is surprising.