起点博客

wordpress新手四大插件推荐

这几天由于空间转换的原因,插件全部丢失,影响网页的部分显示。先升级wordpress(起点博客以前的版本太低,这次升级到2.8版),再安装插件,都是些以前安装过的插件,这次也安装相应的新版本,在此集中整理一下,推荐给大家。

1、All In One SEO(Recommended)
此插件可以改变wordpress目录显示格式,可以自定义关键字(keywords)、描述字(description)。这次安装的时候搜索了一下,发现很多人反应All In One SEO对百度支持的不好,我感觉也没有什么影响,毕竟比较傻瓜式的,安装使用都很方便。

2、Google Sitemap(Recommended)
在后台设置一些更新频率之类,然后就是到各个搜索引擎提交认证东西,一般是上传一些文件到服务器,各搜索引擎都有说明照着做就行了。

3、Related Posts(Recommended)
这个插件可以将相关的文章列出来,并且可以在Feed中显示,是水煮鱼的作品,大家多支持吧。

4、Page Navigator(optional)
仅仅只是增加分页显示的方式,方便分页浏览。个人比较喜欢,所以推荐。

FPGA中的多时钟设计

多种独立时钟在SoC(system-on-chip)设计中已普遍存在。很多SoC设备接有许多接口,这些接口根据标准运用了完全不同的时钟频率。

很多现代的串行接口继承了片上其它接口的异步性;而有些则直接从输入数据流中继承时钟。通过设计主要的SoCs子模块运行独立的时钟解决大片子中的时钟脉冲相位差,已经成为一种趋势。

由于这些原因,做SoC项目的设计人员一定会遇到多时钟和面对设计使用两个独立时钟芯片的逻辑连接问题。每个不同的时钟部分被认为是一个时钟域。在不同时钟上的逻辑接口被称作时钟域交叉或时钟域边界。对穿越时钟域边界的信号的处理是成功设计SoC的关键。

问题1:亚稳定性
设计人员必须考虑的第一个多时钟问题是信号从一个时钟域到另一个时钟域的亚稳定性问题。许多设计人员明白在实际电路中亚稳定性确实是个问题,现代RTL(寄存传输级)设计的抽象概念和静态的时序分析并不能完全屏蔽设计者对根本物理实现的担心。

无论何时一个信号进入一个时钟域的元件,如触发器,无论此时钟域与信号时钟多接近,都存在潜在的亚稳态问题。每当发生这样的情况,触发器立即产生不确定的值,在触发器的值被设置之前它的输出信号将不能使用。

在一个异步时钟边界,接收端时钟用来捕获发送端触发器的每一个信号。因为没有定义时钟与信号间的时间关系,所以它们完全可以同时传输。这样,在接收时钟域存在亚稳定性的问题。

这不是理论的、潜在的。在实际系统运行中,GHz时钟速率芯片的设计错误可以很快表现出亚稳态的效果。这些影响通常包括在时钟域之间丧失关键握手信号,以及失效多比特数据的严重问题,很有可能需要芯片的重新设计。

很多设计师也知道,教科书中通过在每路穿越时钟域边界的信号上使用两级触发器解决亚稳定性问题。即使第一级触发器没有成为亚稳态,也有极高的可能性使信号通过第二级的时间将被确定。这种两级触发器结构被称为同步器,和设计师通常讲的穿越时钟域同步信号。

问题2:复位同步
复位信号不同步是多时钟设计的一个相关问题。设计师有时会忘记,复位信号为受到亚稳定影响,应该加同步器加以保护。一般来说,整个系统可以使用单一信号复位,因此,必须传到所有时钟域的所有时钟元件。

复位信号的有效沿没有必要同步,因为所有的状态元件复位定义为初始值,并且复位信号会保持足够的时钟周期,取出所有的亚稳定状态。

但是,复位停止必须保持同步,这样触发器在复位状态恢复后不会处于亚稳态。在设计中,通过给进入每一个时钟域的复位信号一个独立的同步器来实现。

问题3:毛刺消除跨时钟域
尽管出于实际的目的同步消除了亚稳态,但是它不足以解决其它类型的多时钟设计错误。在多时钟设计中第三类常见错误是允许毛刺从驱动时钟域传播到接收时钟域。

因为一个接收时钟域的触发器可以及时的从驱动时钟域的任意点采样信号,甚至是很窄的毛刺也可能被捕获,并视为一个有效值。由于时钟关系的变化特性,这种毛刺电压不能通过静态时序分析检测。

避免种类问题最常见的方式是,使从驱动时钟域触发器输出的信号直接进入同步器。这有效地定义了一个三个阶段同步器,第一个触发器由驱动时钟驱动,剩余的两级由接收时钟驱动。尽管设计及时钟结构的自动分析更加可靠,但这种方法可以作为设计审查。

问题4:接收时钟域不恰当的保持时间(hold times)
在多时钟设计中第四类问题是,不稳定数据从一个时钟域到另一个没有遵守保持时间。信号从一个快速时钟域到一个慢速时钟域时,在驱动时钟域必须稳定几个时钟周期,保证接收域中的慢速时钟不会完全丢失转换。

如果这个转换丢失,数据将丢失。例如一个信号从33MHz的PCI域到12MHz的USB域,必须保持稳定3个时钟周期,才能保证被接收。

当数据信号在逻辑控制信号的保护下,跨越时钟边界,保持时间(hold times)也是非常重要的。

问题5:跨越式中边界丢失信号间的相关性
在多时钟设计中的最后一类问题是,相关信号在跨越时钟边界后失去相关。这个问题是最不直观的。这将导致非常不确定的行为,如数据丢失,算术结果破坏。

这类不直观的问题在可视化的检查中很难被发现,特别是用RTL电路形式,在设计审查是经常被忽视。必须将严格的设计规则和有效的自动分析用于这类问题。

在广泛的相关信号中,可能产生相关性丢失的几种不同方式,包括:

  • 总线的多数据位
  • 单信号的多次复制
  • 握手信号,如请求与应答信号
  • 明显不相关的信号合并在接收时钟域的同一逻辑中

无论何时一个信号进入亚稳态,可以使用同步器确定它的值,但是在接收时钟域不能保证在信号有效之前的精确周期数。因此,任何一个多位信号,每位有独立的时钟同步,每位在到达接收时钟域时,相对其它位将产生倾斜。

即使亚稳定不发生,任何成对数据位信号在到达相应的同步器之前,通过不同的线路或者电特性使两个信号产生不同的延时,都可能丢失同步。

可能一个同步器采样输入信号,并且在另一个同步器捕获信号变化之前,先捕获信号的变化,这样,两个信号将在一个时钟周期内倾斜,并且不再相关。

两个明显独立的信号来两个分离的时钟域,最终反馈进相同的接收时钟域,这是可能产生丢失相关性。这一模式被称作再收敛。在设计复查中,通过同步原理的手动检查方式很发现。

解决方法:时钟验证(Clock intent verification)

尽管多时钟设计的挑战的确让人沮丧,但是幸运的是以上所有描述的问题,是可以自动分析的。然而不是所有的问题都是完全一致的。可能为了避免可疑逻辑的细节警告,设计人员可以检查逻辑是否正确。时钟验证(CIV)是分析时钟结构,报告错误与警告的一个过程,然后使用详细正式的报告验证这些不能被证明问题。

任何CIV必须解决多时钟设计中五个问题的一个。这一进程始于RTL的结构分析,追查设计中从触发器到其它级元器件的时钟与复位。这一过程可以自动设别:

  • 设计中的所有异步时钟域
  • 穿越时钟域的所有控制和数据信号
  • 任何丢失同步或者不正确同步的跨时钟域信号
  • 任何在输入端有潜在毛刺的同步器
  • 任何信号有扇出倍同步器
  • 任何在接收时钟域再收敛的独立同步信号
  • 任何复位信号没有合理同步的时钟域
  • 任何存在潜在毛刺的门时钟或派生时钟

如果合理实现,这些结构的分析可以很快的在SoC上实现,最少的设计输入要求,尽管在对输入信号做简单的描述,对分析是有好处的。

根据这些信息,分析可以极端正确,以至于虚假的错误和警告将不会报告。设计者将只会看到真正的问题,或者是有关设计的有用反馈信息(例如一系列合理同步的信号)。

尽管很多类型的多时钟设计问题可以通过CIV的结构分析来检测,但还是有部分不能。对于变化的多时钟域信号处理与跨时钟域数据的稳定性验证,需要彻底地分析与正式的验证。

既然正式的验证需要对设计断定,一个CIV解决方案必须能够产生三种类型的断定,来表现信号穿过多时钟域的期望行为:

  • 断定多位数据跨域时钟域时,必须是灰数据(每次仅有一位数据改变);这是为了避免丢失相关性
  • 断定具有同步器的信号能够保持稳定,持续足够长的时钟周期,以便接收时钟域能够检测,这是为了避免丢失数据
  • 断定没有同步器的信号(比如数据总线),在接收时钟域采样时间内,能够保持稳定,这也是为了避免数据丢失

正式的验证试图证明这些断定在任何假定下都不能违反,或者试图通过举反例来证明断言不能违反。

无论何时一个证据被发现,设计者将信心大增,因为他们知道没有可能特定时钟跨越错误将会发生。无论何时一个范例被发现,正式验证已经发现了一个实际的bug,如果不解决,将导致芯片不能工作。正式的工具必须能够提供足够的信息让设计者解决问题,然后重新运行观察是否能够找到证据,去除心中久留的顾虑。

尽管正式验证是一个彻底的技术,但是在复杂的SoC设计中,并不是所有的断定都能够被证明的。出于这个原因,如果CIV方法能够产生符合仿真形式的断定,将是有价值的。如果无法找到证据,但是断定在整个成百万甚至上十亿个时钟周期内运行都不产生冲突,那么,设计师仍然可以获得一项多时钟设计正确性推断的重要措施。

Tags:.

2010年元旦

09年底到北京出差,第一天就感冒了。09年底的感冒,到了10年也没有好,我的抵抗力变弱了,而这时我也试着健康用药,选择了中成药,然后中成药上第一条就是忌酒,然而在这个新年元旦之际如何能够忌酒呢?那就只有忌药了。
新年第一天,有同学回西安,正好西安的同学也好久没见,小聚了一下。本来就不是很舒服,加上出差的疲惫,在急饮几杯白酒后,有些恍惚了,但并没有到要吐的地步,还是自己走回了家的。本来回家都睡了,又被同学拉起来,没有喝酒,喝了些白开水,谝了一会,我还是吐了,之后就睡了。
第二天大学同学聚会,这天我也醒的比较早,可能是新买了笔记本兴奋的吧。起来就打游戏,一边联系同学到西安了吗?11点吧出发到学校集合,出来吃饭,中午一人一瓶啤酒,昨天喝的白酒还没吐干净,一瓶觉得有点难受了,没有多喝。饭后去了网吧,大学时期最热衷的地方,玩了4个小时吧,头都晕了,玩了几把dota,我已经很菜了。晚餐本准备去三皇三家,到了才发现不是我们想象中的那种,最终在里面喝了杯水就离开了。换到陕南风格的餐厅,点了些菜,一人一瓶啤酒搞定,晚上明显好多了,一瓶啤酒下去,感觉还可以在来一瓶。晚上还是网吧游戏。由于Y同学次日加班,需先走,A同学要陪女朋友也跑得快。10点多就各自回家了。
第三天,什么时候起来已经记不得了。P总准备做面条吃的时候,电话响了,同学准备过来看看,我下去把他们迎了过来,在家坐了会出去吃饭,饭后休息会,送同学到公交车站离开。然后买了些日常用品和温度计后,回家上网。晚上也没有去公司,由于这几天吃的太好,搞的都没什么胃口,一直饿到8点多才出去吃饭,果然一个煲仔饭吃完了。

中国北斗导航计划

中国卫星导航计划提出很久了,直到2000年才开始布星,目前运行的北斗卫星导航系统是一代系统,称为北斗卫星导航定位系统(Beidou Satellite Navigation and Positioning System),新华社的英文通告中也介绍称Compass Navigation System,也有称为BNTS北斗导航试验系统。北斗是中国独立开发的卫星导航定位系统。目前的北斗一代系统包括四颗卫星,只覆盖中国部分地区。正在开发中的北斗二代系统包括35颗卫星(5颗GEO,30颗MEO),将是一个真正的全球卫星导航定位系统。

到2010-1-29为止已发射的卫星情况:

Date Launcher Satellite Orbit In Use
10/31/2000 LM-3A Beidou-1A GEO 140°E No
12/21/2000 LM-3A Beidou-1B GEO 80°E (unclear)
5/25/2003 LM-3A Beidou-1C GEO 110.5°E Yes
2/3/2007 LM-3A Beidou-1D deorbited58.75°E No
4/14/2007 LM-3A Compass-M1 MEO 21,500 km Yes
4/15/2009 LM-3C Compass-G2 GEO~80°E No
1/17/2010 LM-3C Compass-G3 GEO~160°E Yes

注:LM-3A为长征三号甲

Tags:.

QQ域名邮箱,使QQ邮箱更拉风

QQ推出域名邮箱,可以以自己拥有的域名作为邮箱后缀,自定义邮箱名称,自定义邮箱图标,并且可以添加十个成员(好像有点少)将个性邮箱分配给其他QQ密友。对于追求个性的博友太有益处了。根据要求上传文件,设置域名,验证就是瞬间完成。这么一来一个QQ邮箱至少可以有三个访问的名称了。对于将工作与生活分开的朋友是个不错的选择,在发送邮箱的时候注意选择邮箱账号就可以了。

设置完QQ域名邮箱后,发现QQ邮箱也有了些升级,对每个邮箱账号(包括POP邮箱账号)均可设置皮肤签名等。

PS:我的QQ域名邮箱:will#xinzero.com欢迎与我联系

Tags:.