第639章 通路之脑(2 / 3)

制单元。芯片内部的各种时钟和时序信号,全要从这里出。扫描用户线的周期、处理拨号脉冲的采样窗口、各模块之间的协调信号,一个都不能乱。”

“最后,故障检测与诊断逻辑。定期自检交换矩阵和通路状态表,发现异常置位故障标志,通过接口上报。不能因为一颗开关坏了,整个交换网络瘫痪。”

他把稿纸合上:“我估算了一下,这七个模块初步估计,需要9000多颗晶体管。”

会议室里安静了一瞬,昆仑1的kl-vu向量运算单元,两万多晶体管,那是整个昆仑工程最复杂的芯片,宋颜教授亲自带队,前后设计了将近一年。

九千多颗晶体管,虽然只有kl-vu的一半,但复杂度完全不同。

kl-vu的逻辑是规整的、重复的,一个加法器阵列,控制逻辑规规矩矩。

通路控制芯片的逻辑是高度耦合的、状态相关的、并发处理的。

“这不是芯片设计。”小张海低声说了一句,“这是把一个小型实时操作系统固化在硬件里。”

吕辰点点头:“小张海说得对,正因为复杂,所以才落到我们头上。”

他转向开始讲起设计关键。

“通路控制芯片的本质,就是一个硬件实现的实时操作系统。摘机、拨号、挂断,都是毫秒级事件。芯片必须在几十毫秒内完成查表、选路、闭合开关、回送拨号音。响应慢了,用户就能感觉到卡顿。”

他在白板上写了一个数字:50毫秒。

“这是从摘机到听到拨号音的上限。超过这个时间,用户会觉得这个电话是不是坏了。”

他在系统架构图旁边画了一个方框,标注了“通路控制芯片”,然后在方框周围画了七个箭头,指向交换矩阵、状态表、仲裁器、信令接口、微程序接口、时序单元、故障诊断。

“大家看,这七个模块,不是孤立工作的。”

他用粉笔在模块之间画了几条连线。

“信令接口检测到摘机,通知仲裁器。仲裁器查询通路状态表,找一条空闲的输出线。找到了,通知交换矩阵控制逻辑闭合开关。同时,通过微程序接口上报‘呼叫请求’,等待微程序做号码分析。”

“拨号的时候,信令接口接收脉冲,每收到一位号码,就暂存在数据缓冲里。收齐了,微程序通过接口读走,分析路由,然后下发‘建立通路’指令。芯片执行指令,再次查表、选路、闭合开关。”

“挂断了,信令接口检测到挂机,通知交换矩阵控制逻辑断开开关,更新通路状态表,通过接口上报‘释放完成’。”

他放下粉笔,拍了拍手上的灰。

“七个模块,要在一个时钟域里协同工作。时序不能乱,数据不能丢,冲突不能死锁。”

他转过身,看着台下:“这个任务,有些挑战,但还没突破咱们的能力。”

他顿了顿:“七个模块9000多颗晶体管,听起来很复杂。但和昆仑1的kl-vu那两万多晶体管比起来不算什么。宋教授他们画了kl-vu大半年,但那是从零开始,没有任何参考。钱教授已经用分立元件搭出了完整逻辑。我们要做的,不是发明,是集成。”

吕辰虽然说的轻松,把分立元件的电路图,翻译成晶体管级的版图。

这听起来像是“照抄”,但实际难度大得多。

分立元件的电路,用的是电阻、电容、二极管、三极管,几十个元器件搭一个触发器,几百个元器件搭一个计数器。

到了芯片上,一个触发器只要几个晶体管,一个计数器只要几十个晶体管。

翻译的过程,是重新设计的过程。

而且2微米工艺的版图设计规则,和分立元件完全不同。

线宽、间距、对准精度、寄生效应,每一个参数都要重新计算。

小张海叹了口气:“咱们六个人,能干得过来吗?这个活儿,比工业计算机的任何一颗芯片都难。”

“所以才要我们干。”吕辰的语气很平静,“容易的事,别人就干了。”

长条桌周围沉默了好一会儿。

既然免不了,大家也都打起精神,进入具体的工作之中。

郑强第一个开口:“吕师兄,多路呼叫同时到达的时候,仲裁器用什么优先级算法?”

吕辰拿起粉笔,在白板上写了几行字。

“固定优先级。输入线编号越小,优先级越高。最简单,占芯片面积最小。”

“但是,这样不公平。低优先级的线可能永远得不到服务。”

他在后面又加了一行:轮询。循环扫描,每条线机会均等。公平,但逻辑复杂一些。

“我的建议是,用固定优先级做第一版。先跑通,再看实际场景需不需要改。如果现场测试发现低优先级线路确实被‘饿死’了,第二版再改轮询。”

刘伟指着白板上的“通路状态表”模块,表情有些凝重。

小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

他在本子上算了算。