七天六夜云南游

元旦和好友花了七天六夜游了趟云南,玩得非常愉快。粗略记一下流水账,各位按需自取。

时间: 2017-12-31 ~ 2018-01-06

行程:上海(西安) – 昆明 – 大理 – 丽江 – 昆明 – 上海(西安)

总支出:两人合计¥5000(不含来回机票)

Day1: 上海(西安) – 昆明 – 大理

西安到昆明的直飞航班多且便宜。好友坐东航航班,从西安来回昆明,含税共计¥800。

上海来回昆明就没这么好运,我11月中旬预定时,直飞航班来回大概¥3000。参考了好友的航班时间,最终决定买直飞经停航班,来回含税共计¥1300。去程经停南昌,回程经停南充。经停时间都很短,也算是值回差价。

和好友下午在昆明机场汇合后,乘坐机场大巴2号线B线,到昆明火车站换乘软卧去大理。机场大巴车程大概50分钟,20分钟一班,单程¥25。昆明到大理火车车程6~7个小时(合计¥300),预定时优先考虑下自己4点半起床下车会不会有起床气XD。小提示:有软包车厢的车次,例如K9686,卧铺车厢为双层,即上层1人软包,下层软卧,身高如我(162)在软卧上铺无法坐直。

Day2: 大理-苍山- 大理古城

早7点下车后在站前广场乘坐8路公交直达大理古城北门,票价¥2,投币不找零。习惯了手机付款和刷公交卡的小伙伴们(还有我)记得备点零钱。

到预定的客栈寄存行李后,滴滴坐车到苍山景区洗马潭索道售票处,约¥10。苍山不同售票处距离非常远,不同索道之间来往不便,比较之后选择了洗马潭索道。索道分半程和全程,全程每人¥300,淡季打八折。再加景区门票¥40, 共计¥280。售票处到索道全程顶部(对于普通游客,比如我)只有缆车一条道。如果不信邪,可以只买半程,然后在半程售票处买后半程。总价一样,只是苍山上联通信号奇差无比,有可能无法联网付款。

山顶比山下体感至少低5度,需要做好防寒保暖准备(单穿阔腿裤和及膝连衣裙的两位勇士我在山顶也见到了)。山顶有个免费热水供应和手机充电处,带好保温杯和充电线即可。日照强烈,做好防晒同时一定要带墨镜,不要像我只涂防晒霜:(.

缆车途中和苍山顶部都能鸟瞰洱海全景。一个字,美。

下午4点左右索道上半程会关闭,不过不用特别担心,景区会提前半小时广播通知,量力而行按时返回就好。

连鸡肋都谈不上的景点:七龙女池。缆车半程下车处可步行或乘缆车(往返¥50)前去。不去也罢。摘抄本人朋友圈原文以说明:

就苍山七龙女池这水量这落差,秦岭随便什么峪都能出个八十一龙女池。 

从苍山返回大理古城5点半左右,随即去吃晚饭。选择餐馆原则很简单:点评评分+俩关中人能吃得惯。

大理古城和中华大地遍地开花的古城区别不大,又是淡季,没有多少野生田园文青可供围观。和好友爬了一天山都特别疲惫,于是7点就回客栈休息。

Day3: 洱海一日游

跟团一日游,因为我(有驾照但没上过路)和好友(没驾照)都不会开车。含保险共计¥548

行程:古城出发 – 短暂停留崇圣寺附近,远眺金碧辉煌的崇圣寺三塔 – 做手工鲜花饼 – 喜洲吃午饭 – 参观喜林苑 – 海舌公园游玩 – 挖色(小普陀)喂海鸥 – 回古城

远眺三塔,更像是远眺苍山和朝霞。鲜花饼……自己做的6个都可以打包,后来当成后两天的早餐吃了。喜林苑,1948年建成的,呃,文物,呃,还没家门口幼儿园地方大,呃,二楼还改建成酒店了,呃。海舌公园,顾名思义就是一块地像舌头一样伸到洱海里。虽然我们去的当天有阵雨,依然很美,很有南国风情。在小普陀喂海鸥很好玩,可以用自带的面包或者买饵料喂。好友全程几乎没放下手机和相机,一直在拍海鸥OTL.

小插曲:从古城出发,等导游时吃早饭。一时警惕心松懈,看到家还行的早餐店就进去了。咬了一口小笼包,一瞥墙上的菜单:没价格。心说完了不好,已经来不及了,以¥39买了一笼菜包+一笼蒸饺+一小碗馄炖。都巨难吃,literally. 之后早餐就改吃鲜花饼和面包了,这是后话。有此教训,在喜洲吃午饭买单时特意看了眼账单,果然发现把餐位费(¥3 x 2) 写成¥24了。

依然是吃完晚饭就回客栈休息。60岁心脏的自由行。

菌菇火锅,就,还好。

Day4:  崇圣寺 (大理)- 丽江

好友很想去,于是一大早起床便乘滴滴过去。门票可在网上购买,¥90,之后刷身份证进入(售票处工作人员建议)。正殿有僧人和教徒念经。我对宗教没什么兴趣,只是当作一般景点,玩一玩。

下午坐火车直达丽江,合计¥68。出于安全考虑,在云南境内的长途车,和好友不约而同都选择了火车。

从丽江火车站到丽江古城,乘坐滴滴大概¥35。丽江比大理更冷且更干燥,尤其是午后。

不得不说丽江古城比大理古城年轻人多了很多,甚至有些嘈杂。主干道和各种小巷里都分别有三五个巡警,各位晚间出行时看好随身行李。做攻略新手(我)定住宿时只顾着看客栈离古城入口近,忘记了旁边就是酒吧街,从晚8点左右就能在房间听到附近的动词打次声一直到深夜OTL。

骨头汤,两位老陕都吃不惯。

Day 5: 玉龙雪山一日游

好友在飞猪上定的一日游,共计¥876。含氧气一罐,长款防寒服,午饭管饱(鸡肉小火锅)。

行程: 8点左右从丽江古城出发- 甘海子 – 玉龙雪山售票处 – 换乘大巴到缆车乘车处 – 乘缆车到海拔4506处 – 步行至海拔4608处 – 乘缆车下山 – 坐大巴到午饭就餐处- 坐大巴到蓝月谷 – 下山 – 回丽江古城

甘海子曾经是淡水湖,现在变成一大片空地,空旷且海拔不高,又能拍到雪山全景,摆拍胜地。

乘坐缆车前导游就已分发了防寒服,特别强调一定要在乘缆车前吃巧克力等高热量食物,乘缆车途中就打开氧气瓶吸氧。按照他的提示,同行的8位团友,除1位阿姨有些不适又买了一瓶氧气之外,都没有出现高原反应。给导游大叔点赞。顺便给好友带的小林牌暖宝宝点赞。

雪景和防寒服实物图见这里

同样需要带墨镜。不然蓝月谷清澈见底的湖水反射的阳光会闪瞎眼。

小遗憾是早上登山时山上风太大,积雪太厚,从4506到4608处的阶梯禁止通行。大幸运是好久没下雪的玉龙雪山,在我们登山前一天刚下过雪:D

没有去看丽江千古情,和好友都不感兴趣。

Day6:  束河古镇(丽江) – 昆明

睡到自然醒,没听客栈小哥的建议,坐公交车前往束河古镇。结果,束河古镇果然十分萧条。除了能看到各种古镇的建筑街道复制版之外,只有店家,几乎没有游客。门票每人¥40,但是正当我和好友看到如此萧条景象,犹豫要不要进去时,“售票员”突然过来小声说:“你们可以进去,不要门票。”……

没有去木府,同样不感兴趣。

大水车只是个丽江古城里的普通的水车。文人墨客的浮夸风不能小觑。

在丽江新城里逛了逛,晚上乘坐软卧回昆明。不幸坐了趟双层卧铺车的软卧上铺,坐不直:(

从丽江到昆明各车次车程8~11小时不等,软卧合计¥443。依然要选好车次,不然会像我和好友一样6点半就下车,只能在车站前德克士打发时间,哈,哈。

Day7:   昆明 – 上海(西安)

返家。

经验:量力而行,该花的钱不抠门,不该花的不浪费。尤其是抱旅行团时多对比几家价格和评价,不能贪图小利吃大亏。

教训: 攻略做的不足,不知道泸沽湖有航班可以直达成都和昆明,浪费了第6天。6、7两天可改为泸沽湖二日游。

IR drop reduction in CTS

Large cells can induce a large IR drop when they switch. In some designs, when power switches occur in regular vertical columns across the chip, it is advantageous to try and place large CTS cells, which may switch often, closer to the power switches to control the R part of the IR drop.

Cmd: create_ccopt_preferred_cell_stripe

(it’s a pity that I’m not working on multivoltage designs now, so… sad OTL.

EM reduction in CTS

EM could be taken into consideration during CTS in edi.

cmd: setCTSMode -useLefACLimit true

CTS tries to minimize EM violations during synthesis by resizing or inserting buffers to enhance the electrical current flow through the wires. If any wire exceeds the library values, CTS reports the violation in the  standard CTS report.

In order to perform EM analysis and optimization, LEF file must contain an AC Limit table. Period statement in the clock tree specification file is also needed (to cauculate Irms/Ipeak/Iavg).

So, what is AC Limit table in LEF file?

It specifies how much AC current a wire on this layer of a certain width can handle at a certain frequency in units of millamps per micron (mA/um).

Note: The true meaning of current density would have units of milliamps per square micron (mA/um2), however, the thickness of the metal layer is implicitly included, so the units in the table are milliamps per micron, where only the wire width varies.

keyword: ACCURRENTDENSITY or DCCURRENTDENSITY

example:

ACCURENTDENSITY AVERAGE

FREQUENCY 500 ;

WIDTH                0.040000  0.080000  0.099000 0.100000 …

TABLEENTRIES 1.011600  1.067800   1.078586   1.079040 …

What if there’s no AC limit table in tech lef files, what can we do to reduce EM in CTS with ck engine?

set “maxcap $value” in CTS specification file. CTS will avoid creating any clock net that exceeds the maxcap limit and therefore avoid any possible AC current limit violation.

 

EMreduction in ccopt

 

The EM avoidance function of ccopt lets you find a maximum total capacitance that a cell can drive without violating EM constraints and then set that capacitance value as the target maximum capacitance value for that cell.

Cmd: set_ccopt_property consider_em_constraints value

“value” could be one or more of rms/peark/avg

 

Note: the EM avoidance function is designed to avoid most of the EM violations on clock tree nets but not to eliminate all of them entirely. Because it computes the targets based on the preferred routing layers in routing information, generally, there are some violations left on the wires below the preferred layers. However, these too can be eliminated by using the Nanoroute EM rules.

 

Questions:

  1. when talking about EM in CTS, which one is taken into consideration? rms, average or peak?  by default, it checks Irms limit violations.
  2.  does power stripe has side effects on signal EM?
  3. 3 kinds of AC EM and DC EM?

 

 

zero-spacing routing guide on dpt layers

To create zero-spacing routing guide/blockage around terminals and boundaries on dpt layers to prevent multi-patterning violations:

ICC cmd:  create_mask_constraint_route_guides

EDI cmd: setNanoRouteMode -droutePostRouteSpreadWire

manual of EDI cmd:  post route wire spreading automatically avoids fractional spreading for DPT designs. If -droutePostRouteSpreadWire is enabled in 20nm designs and below, only 1 and 2 track wire spreading is done on dpt layers.

My question: if -droutePostRouteSpreadWire is disabled in 20nm designs and below, does wire spreading still work on dpt layers? if yes, 1 or 2 track spreading? how to check the information?