华大九天杯

华大九天杯

u=2649689164,2501550349&fm=26&gp=0.jpg

l 杯赛题目:定阻值定区域布线

l 参赛要求:A组、B组 AB组区别说明请查看章程

l 赛题内容:

在面板电路设计和触摸屏设计领域,经常需要从FPC端口到IC端口,或者从IC端口到IC端口,或者从IC端口到屏幕发光区端口,进行指定最大电阻值的布线,此类布线限定在指定的布线区域范围内,每根布线都有规定的电阻范围,以符合IC驱动芯片的负载规定。因此引出此类问题。如下方图所示:

1.     条件:

a)     给定两组平行的曼哈顿端口,称之为起始端口组(start)和终止端口组(end),这两组端口形成一 一配对但不导致连线交叉的端口对

b)    每个端口由一根边代表,布线从此边开始

c)     每组端口的代表边不一定位于同一直线上

d)    给定每根布线的目标电阻值和误差百分比范围

e)     给定一个布线区域多边形,布线区域多边形与端口overlap

2.     求:

a)     将指定布线区域多边形的空间分配给每一根布线的最佳分配方案

3.     其他限制:

a)     要求每根布线遵守最小宽度限制,布线之间两两遵守最小space限制。

b)    布线的形状不欢迎锐角和直角,均要倒角成钝角。因为锐角会导致尖端放电现象。

4.     布线电阻目标限定文件(Resistance Constraint)内容格式

        例:

        1,10ohm, 20%

        2,9ohm, 5%

        3,11ohm, 5%

        解释:

a)     每行对一根布线进行电阻规定

b)    格式:<Net名>,<阻值>,<阻值上下浮动范围>

      i.         Net名即该布线的名称,下同

     ii.         阻值的单位是ohm,如10ohm表示10欧姆

    iii.         阻值如果填写Max,则表示允许任意大电阻,不限定阻值

    iv.         阻值上下浮动范围,如2,90ohm,10%,表示Net2,阻值要求落入[81ohm, 99ohm]范围内

5.     技术支持说明:

a)     华大九天将提供一般精度高速的Net电阻计算,也提供高精度较低速度的Net电阻计算模块,供参赛队选择

b)    华大九天将提供考核打分程序verify.exe

6.     流程说明:

7.     两个难度层次说明

a)    普通难度:

普通难度,如上图

要求在一个矩形布线区域多边形对n对一对一端口进行布线

b)    较高难度(1)

如上图,给定两组曼哈顿端口,布线区域多边形是任意非自交叉无锐角多边形,多边形不含洞

c)     较高难度(2)

如上图,给定两组端口,不一定是曼哈顿端口,即端口有可能是有序变化的斜边,布线区域多边形是任意非自交叉无锐角多边形,多边形不含洞

8.     输入Ports_area_etc_input.txt格式

9.     输出nets.txt文件格式

10.   可执行程序router.exe要求

a)     服务器环境上可以正确执行

b)    执行示例:router.exe   /xxx/xxx/ Ports_area_etc_input.txt.txt

c)     输出:/xxx/xxx/nets_<id>.txt

d)    说明:

                i.         输出文本和输入文件在同一目录下

               ii.         输出文本命名有要求,必须是nets_<id>.txt,如nets_1.txt

11.   作品提交要求

a)     源工程项目代码

b)    服务器上可编译执行程序router.exe

c)     一份设计报告,说明算法设计和测试效果

12.   技术评分

a)     精度:每个case基本分100分

b)    运行时间:

                i.         每个case 5分钟内出结果,不扣技术分。超过5分钟的部分,每超过 10s(10%),扣1分,扣分上限15分。

               ii.         10分钟内不出结果,技术得分判0分。

c)     运行内存:

                i.         每个case运行内存小于100M,不扣技术分,超过100M的部分,每超过20M(20%),扣1分,扣分上限5分。

               ii.         内存超过200M,技术得分判0分。

d)    代码质量:华大九天将根据代码的编写质量酌情打分

e)     评分规则和提交要求将逐步改进和细化,以利于提升比赛水平

f)      现场表现

现场表现

设计陈述

20

考察算法合理性,全面性,复杂度等

由评委会进行综合评分

回答问题

10

考察参赛者对问题理解的正确和回答问题的准确性

由评委会进行综合评分

13.   FAQ

Q:编程语言有限制吗?

A:规定使用C/C++语言,由于需要对运行时间和内存进行评分,因此,必须排除语言本身带来的性能差别。gcc的版本限定为gcc 4.8.2 ,最高支持版本为C++11(暂时不支持C++14及更高的版本)。

Q:程序的编译和运行环境有限制吗?

A:我们会提供服务器以及运行环境,包括编译器,操作系统等都会配置好。总体而言,我们的环境为linux,操作系统暂定为Redhat CentOS2.6.32-642.el6.x86_64。

Q:对界面有要求吗?

A:界面不会作为程序质量的考察标准。但欢迎做出一个界面,对原始轮廓和所提取的中心线进行可视化,问答环节我们会酌情加分。

Q:正式比赛用的例子会有多少个?

A:原则上希望越多越好,可以从多角度考察同学们的程序完备性。预计会在30个以上,在正式比赛之前我们会放到服务器上(参赛者只有在正式比赛时才能访问到这个目录)。

Q:有没有测试代码用例提供?

A:初步将提供若干个测试用例,用于帮助同学们调试程序,后续我们会在比赛群里公布更多的测例用例。