ZYNQ简介
那片会“变形”的硅片:当钢铁直男的FPGA遇上了灵活的ARM你有没有想过,如果一台电脑可以随时改变自己的硬件电路,会是什么样子?想象一下这样的场景:你正在用电脑打游戏,觉得显卡渲染速度不够快。正常情况下,你的选择是攒钱买一块新显卡。但假如你的电脑是一块ZYNQ,你只需要敲几行代码,告诉它“你现在需要更多的逻辑单元来处理图形”,它瞬间就能把自己的一部分电路重构成一个专门的GPU加速器。打完游戏,你开始搞深度学习,它又能摇身一变,变成一个张量计算核。这不是科幻电影里的情节,这是ZYNQ—— 赛灵思(Xilinx,现属AMD)推出的全可编程片上系统—— 正在做的事情。很多人第一眼看到ZYNQ芯片,会以为它只是一块更高级的FPGA(现场可编程门阵列)。就像看一辆混动汽车,如果只把它当成“带了个电机的汽油车”,就彻底低估了它。ZYNQ的本质,是一颗拥有钢铁侠战衣的ARM处理器。一、从“软件”与“硬件”的千年之恋说起在聊ZYNQ之前,我们必须先搞清楚两个概念:硬件和软件的边界到底在哪里。在传统的电脑里,CPU(中央处理器)是绝对的王者。它像一位全能的数学家,什么算术题都会做,但一次只能做几道。程序——也就是软件——是一串指令,告诉CPU:去,把A寄存器的数加上B寄存器的数,结果存到C里。而FPGA不同。FPGA里没有“指令”这个概念。它内部是成千上万个逻辑门和触发器。你用代码(Verilog/VH