nginx URL自动加斜杠及301重定向问题
第二章ASIC设计与集成系统设计
内嵌式系统可以采用通用的微处理器,例如Intel 8051等,加上特定要求的输入/输出接口,编制相应的应用软件,就可以组成实现某种特定功能的控制电路。这种内嵌式系统产品已经扩展到各个应用领域,例如F22战斗机中使用了100多个微处理器和几百万行源程序代码,福特和宝马汽车也用了30多个微处理器和几万行源代码。消费类电子中,家电产品如洗衣机、电饭煲、电扇、微波炉等都采用这种内嵌式系统芯片。具体可以参考这篇关于高性能ASIC和微处理器供电电源的文章。
设计重用方法(Design Reuse)在片上系统的设计中是极其重要的。采用设计重用方法可以将ASIC设计中核心部分的设计无需修改或者只作少量修改就可用于其他设计中。微处理器中的算术逻辑部件ALU,如果前一次开发的该部件性能很好,那么在下一次开发微处理器时,就可以直接将它转换到新的设计中。更多关于ASIC设计流程的细节,可以参考这篇ASIC设计流程的文章。
当然,设计重用的方法在实现上有一定的难度。设计重用方法需要一定的设计环境和设计工具,常规的Top-Down设计方法应作适当扩展。要建立设计重用模块的系统级模型及相应的模块库,使用VHDL或Verilog语言编写行为级模型,进行行为级验证,然后综合优化,直到物理设计和工艺制造,经测试和试用证实设计正确无误后,才能将该模块的行为级模型、RTL级模型等存入重用模块库。设计工具应具有对重用模块的建立、修改、使用和管理的功能,同时也应具备对重用模块和其他方式生成的模块协同设计和界面格式转换的能力。详细设计指南可参见这篇asic设计教程。
设计重用的应用一般有两种情况。一种是重用模块包含行为级模块和RTL模块,即事先已将模块的行为级描述综合成适合于某一工艺过程的形式,设计时只需将ASIC行为级模型分配成专用工艺过程的RTL级描述,然后使用所需的RTL级模块,一起进行逻辑综合。另一种情况是针对某一特定工艺过程,设计重用模块除了硬件块外,还有软件块执行特定操作的程序。例如微处理机中的微程序,它们通常以代码形式放置在ROM中,这种软件硬化的ROM也叫做固件,因此软件一般以ROM形式出现。关于汽车系统中的ASIC设计,可参考汽车系统ASIC ASSP和EMC设计。
设计重用模块也是知识产权的具体体现,通常由半导体厂家或第三方独立提供。对于设计重用和集成系统级设计的更多信息,可以参考这篇电子设计集成系统级设计的文章。
采用设计重用方法显然比每个模块都从头开始设计所需的工作量要少得多,设计重用在概念上简单,但实现起来并不容易。这些挑战,你能应对吗?