课程链接:深入浅出计算机组成原理_组成原理_计算机基础-极客时间
目录
2、对于需要实现的时序逻辑电路,在 FPGA 里面直接放上 D 触发器,作为寄存器
一、FPGA
PAL(Programmable Array Logic,可编程阵列逻辑),只能“编程”一次,把预先写好的程序一次性烧录到硬件里面,之后就不能再修改了。
FPGA,现场可编程门阵列(Field-Programmable Gate Array):可以通过编程,来控制硬件电路的芯片。
(一)FPGA 的解决方案步骤
1、用存储换功能实现组合逻辑
在实现 CPU 的功能的时候需要完成各种各样的电路逻辑。在 FPGA 里,这些基本的电路逻辑,不是采用布线连接的方式进行的,而是预先根据软件里设计的逻辑电路,算出对应的真值表,然后存储到一个叫作 LUT(Look-Up Table,查找表)的电路里面。这个 LUT 呢,其实就是一块存储空间,里面存储了“特定的输入信号下,对应输出 0 还是 1”(存储各种情况下的结果,使用的时候根据实际需要查找结果)。
2、对于需要实现的时序逻辑电路,在 FPGA 里面直接放上 D 触发器,作为寄存器
和 CPU 里的触发器没有本质的不同。不过,会把很多个 LUT 的电路和寄存器组合在一起,变成逻辑簇(Logic Cluster)。在 FPGA 里,这样组合了多个 LUT 和寄存器的设备,也被叫做 CLB(Configurable Logic Block,可配置逻辑块)。
3、可编程逻辑布线
通过 LUT 和寄存器,我们能够组合出很多 CLB,FPGA 通过可编程逻辑布线,来连接各个不同的 CLB,最终实现需要实现的芯片功能。