本章介绍了关于芯片外围接口/信号的设计问题,这些接口/信号包括:复位信号的处理、跨时钟域的信号处理方法、时钟的锁相与分频以及与其他芯片连接的状态机设计。这些问题是数字系统中的输入与输出的基本问题,只有了解了本章内容才有可能设计出稳定、有效的芯片接口。
阅读建议:对于复位信号的内容,是一个数字逻辑系统关键,建议详细阅读。如果时间不足,对于其他内容,并不是每个数字逻辑系统都会涉及的,如果时间紧迫,建议在工作遇到的时候阅读。
在我们的设计中,无论是FPGA还是ASIC系统,大多数都属于信号处理/数据交换系统。这种系统类似于国际贸易里面的“来料加工”的情况。系统需要芯片外的信号驱动;信号进入系统之后,经过一系列的处理;最后,结果也输出到芯片以外。没有“挥一挥手,不带走一片云彩”的潇洒,但是也没有“雁过拔毛”的本事。正所谓,大多数设计的系统属于贱脾气:“汽车的方向——不打不动”。
这些输入输出,总结起来也就几种:第一种是复位信号;第二种是直接数据输入输出,第三种是时钟调节,第四种是与其他芯片的接口。这四种信号接口都是有固定路数的,只要记住口诀,没有什么“烟泡鬼吹灯”好使。所以,和下一章的内容一样,属于“先易后难”里面的“易”的类别。贫僧在这里先和诸位一起把它们解决了,然后留下主要精力来处理其他重点内容。
这些接口属于“鸡肋”的感觉:“食之无肉,弃之有味”。不说吧,本书不完整;写了吧,又怕人嘲笑水平低。因此,姑且本着“宁滥毋缺”的基本思想,尽量用一个简短的篇幅向列位做一个介绍。如果您老对这些很熟悉,那就是马三立马老的话:“您走您的,别管我”。捎带脚,下一章不看,我也不会埋怨您的。
正当贫僧唾沫横飞、说古论今、如黄河之水一发不可收拾之际,“啪,啪!”,贫僧挨了两棒子——方丈急了,来了个“当头棒喝”:“啰嗦,太啰嗦!还有,卖弄,太卖弄!用一句话说!”
呃,那就是(摸着头上的鼓包,下手还真重,吾却是敢怒不敢言啊):这章某家有必要写,您老不一定需要看,南无阿弥陀佛。