FPGA中实现逻辑功能的基本原理
发布时间:2013/10/21 20:03:59 访问次数:4680
FPGA中实现逻辑功能的基本原理
现场可编程门阵列是20世纪80年代中期发展起来的另一种类型的可编程器件。HA17902G它不像CPLD那样采用可编程的“与一或”阵列来实现逻辑函数,而是采用查找表(LUT)实现逻辑函数。这种不同于CPLD结构的特点,使得FPGA中可以包含数量众多的LUT和触发器,从而能够实现更大规模,更复杂的逻辑电路,避免了“与一或”阵列结构上的限制和触发器及I/()端口数量的限制。
近年来,生产工艺上的进步大大降低了FPGA的成本,其功能及性能上的优越性更为突出。因此,FPGA已成为目前设计数字电路或系统的首选器件之一。
在FPGA中,实现组合逻辑功能的基本电路是LUT和数据选择器,而触发器仍然是实现时序逻辑功能的基本电路。LUT本质上就是一个SRAM。目前FPGA中多使用4个输入、一个输出的LUT,所以每一个LUT可以看成是一个有4棍地址线的16×1位的SRAM。例如,要实现逻辑函数F= ABJ- CD,则可列出F的真值表,如表10.2.3所示,可将F的值写入SRAM中,如图10.2.12所示。这样,每输入一组ABCD信号进行逻辑运算,就相当于输人一个地址进行查表,找出地址对应的内容输出,在F端便得到改组输入信号逻辑运算的结果。
表10.2.3 8421码转换成余3码的真值表
图10.2.12 4输入查找表
当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果(真值表),并把结果写入SRAM,这一过程就是所谓的编程。此后,SRAM中的内容始终保持不变,LUT就具有了确定的逻辑功能。由于SRAM具有数据易失性,即一旦断电,其原有的逻辑功能将消失。所以FPGA -般需要一个外部的PROM保存编程数据。上电后,FPGA首先从PROM中读入编程数据进行初始化,然后才开始正常工作。
FPGA中实现逻辑功能的基本原理
现场可编程门阵列是20世纪80年代中期发展起来的另一种类型的可编程器件。HA17902G它不像CPLD那样采用可编程的“与一或”阵列来实现逻辑函数,而是采用查找表(LUT)实现逻辑函数。这种不同于CPLD结构的特点,使得FPGA中可以包含数量众多的LUT和触发器,从而能够实现更大规模,更复杂的逻辑电路,避免了“与一或”阵列结构上的限制和触发器及I/()端口数量的限制。
近年来,生产工艺上的进步大大降低了FPGA的成本,其功能及性能上的优越性更为突出。因此,FPGA已成为目前设计数字电路或系统的首选器件之一。
在FPGA中,实现组合逻辑功能的基本电路是LUT和数据选择器,而触发器仍然是实现时序逻辑功能的基本电路。LUT本质上就是一个SRAM。目前FPGA中多使用4个输入、一个输出的LUT,所以每一个LUT可以看成是一个有4棍地址线的16×1位的SRAM。例如,要实现逻辑函数F= ABJ- CD,则可列出F的真值表,如表10.2.3所示,可将F的值写入SRAM中,如图10.2.12所示。这样,每输入一组ABCD信号进行逻辑运算,就相当于输人一个地址进行查表,找出地址对应的内容输出,在F端便得到改组输入信号逻辑运算的结果。
表10.2.3 8421码转换成余3码的真值表
图10.2.12 4输入查找表
当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果(真值表),并把结果写入SRAM,这一过程就是所谓的编程。此后,SRAM中的内容始终保持不变,LUT就具有了确定的逻辑功能。由于SRAM具有数据易失性,即一旦断电,其原有的逻辑功能将消失。所以FPGA -般需要一个外部的PROM保存编程数据。上电后,FPGA首先从PROM中读入编程数据进行初始化,然后才开始正常工作。
上一篇:可编程阵列逻辑(PAL)
上一篇:可编程数据选择器MUX