1.1 目录
(1)目录
(2)FPGA介绍
(3)Verilog HDL Bits:设计电路实现truth table1
(4)原理和代码讲解
1.2 FPGA简介
FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
1.3 Verilog HDL Bits:设计电路实现truth table1
本题在HDL Bits题库中的位置为Circuits/Combinational Logic/Basic Gates/Truth tables。
图中就是本题要实现的真值表,我们只需要对其进行逻辑化简就可以得到其逻辑表达式。由真值表写逻辑函数一般化简为与或非(就是用与门和非门表达)。例如这种形式:(A*B)+(B*C)。一般对真值表输出为1的几行进行或操作。也就是对2,3,5,7这四行进行或操作,其中x3、x2、x1为零时用x3、x2、x1非代表,为1时用x3、x2、x1代表。然后得到逻辑函数式,再进行化简即可。
1.4 原理和代码讲解
具体实现的代码如下:
module top_module(
input x3,
input x2,
input x1, // three inputs
output f // one output
);
assign f=(!x3&x2)|(x3&x1);
endmodule
具体的逻辑函数式化简如下: