Cadence高速PCB的时序分析1Cadence 高速 PCB 的时序分析 1.引言 时序分析,也许是 SI 分析中难度最大的一部分。我怀着满腔的期许给 Cadence 的资深 工程师发了一封 e-mail,希望能够得到一份时序分析的案例,但是希望化作了泡影。资深工 程师告诉我,他们还没有能够编写一个具体的案例。于是,我不得不将我的期许转化为自己 研究并编写一个具体的案例,与广大 PCB 工程师共享,令大彼天下 PCB 寒士俱欢颜。既然 有了共产主义的期许,自然就有了奋斗的信念。 如果你觉得好,请你顶一下;如果你觉得烂,请你顶起来骂一下。 2.从什么是时序电路谈起 我的导师,一位诲人不倦的人类伟大灵魂工程师,当我将 CPLD 连在了 CPU 的数据、 地址、读写和片选信号上,并企图在 CPLD 中自定义几个寄存器使得这几个寄存器相对于 CPU 就好似异步访问的存储空间时(如图 1) ,他迷惘了。他认为我应该将 CPU 的时钟输出 到 CPLD,不然就无法做到异步访问 CPLD 的时序。 图 1 CPLD 做异步访问存储器 原来这个世界从第一天起就将时序电路定义错了,它们定义为 y=f(x1,x2,…,xn,t1,t2,…,tn) 即函数值 y 不仅与输入有关,还与时钟触发条件有关,正是因为时钟,才叫时序电路。 我要将这世界颠倒的黑都纠白了。 为什么只有时钟能作触发条件, 做触发条件的不一定只是 时钟。图 2 是 TMS320C6713 这一 DSP 的异步存储器读定时。很显然,在 CPLD 中触发其 将寄存器中数据放入总线的触发条件是读信号(图中画红线处触发) 。这个读信号就成为二 者之间的握手信号,在 DSP 写 CPLD 的时候握手信号则是写信号了。用 CPLD 实现这个异 步存储器的 VHDL 程序如下: re 定义为读信号输入,wr 定义为写信号输入,D_REG 定义为数据寄存器,data 是……