显示页面 讨论 修订记录 反向链接 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 <WRAP center 60%> ====== 实验一 2输入逻辑门电路 ====== </WRAP> ===== 一、 实验要求 ===== - 所有的数字系统都由一些基本的数字电路,也就是逻辑门构成。对于所有可能的逻辑输入,真值表对应了其逻辑输出。通过三种基本的逻辑门,了解其他常用逻辑门;\\ - 完成电路设计并得到仿真波形。 ===== 二、 实验原理与内容 ===== 与门,或门,与非门,或非门,异或门,同或门真值如下表所示:\\ {{ :简单逻辑门真值表.jpg?800 |真值表}} ===== 三、 硬件连接 ===== LED也叫发光二极管,可以把电能转化成光能,因为是二极管的一种,由一个PN结组成,具有单向导电性。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过二极管的电流,LED的亮度与电流有关,一般LED能够承受的最大电流为20mA(具体需要看使用的LED的参数),本设计使用的限流电阻为1K。下图为LED的硬件电路:\\ {{ :实验一简单逻辑门ld.jpg?400 |LD}} 本实验中我们需由LD1,LD2,LD3,LD4,LD5,LD6的状态表示输出的结果,由上图可知当控制信号LED1端为高电平时D1熄灭,当控制信号LED1端为低电平时LD1点亮。 LED与FPGA的引脚连接关系如下: |LD1:管脚N13 | LD2:管脚M12 | LD3:管脚P12 | |LD4:管脚M11 | LD5:管脚P11 | LD6:管脚N10 | 本实验所用开关原理图如下: {{ :实验一简单逻辑门sw.jpg?600 |SW}} 由上图可知,开关导通状态处于高电平。 LED与FPGA的引脚连接关系如下: |SW1:管脚M7 | SW2:管脚M8 | SW3:管脚M9 | SW4:管脚M10 | 小脚丫仿真原理:开关SW1,SW2处于四种不同状态,代表两个输入信号的4种不同取值情况,LED1~LED6,分别代表6个逻辑门的输出情况。 管脚分配如下:\\ {{ :实验一简单逻辑们管脚.jpg?500 |管脚}} ===== 四、 代码设计 ===== LED默认状态为点亮,若其他LED不加控制,则会常亮。以下代码目的为改变其默认状态,使之常灭:\\ <code verilog> assign empty=8'b1111_1111; //led's defualt mode is lighted </code> 由于LED为低电平触发,若直接将z连接在LED管脚上,LED亮将代表输入为低电平,LED灭代表输入为高电平。所以有如下代码,使之更符合我们的思维习惯: <code verilog> assign led=~z; //led is low active </code> 逻辑门电路的函数表达式如下所示:\\ <code verilog> assign z[5]=a&b; //AND assign z[4]=~(a&b); //NAND assign z[3]=a|b; //OR assign z[2]=~(a|b); //NOR assign z[1]=a^b; //XOR assign z[0]=a~^b; //XNOR </code> 原理图如下所示,其中“与非门”和“或非门”是将“与门”和“或门”取反所得 : {{ :wiki:实验一简单逻辑门原理图.jpg?700 |原理图}} ===== 五、 仿真波形 ===== a,b两项输入的真值表如第二部分所示,产生如下波形:\\ {{:实验一仿真.jpg?600|仿真}} 如下图所示,开关SW1为0,SW2为1,对应波形图中z=010110。对应的LD2、LD4、LD5发光。此时,或非门、或门、与非门为真。\\ {{:实验一简单逻辑门实物图.jpg?500|实物图}} ===== 六、 资源报告 ===== ^ 资源 | 数量 | 比例 | 说明 | ^ LUTs | 7 | 0% | | ^ 寄存器 | 0 | 0% | | ^ 存储器 | 0 | 0% | | ^ IO管脚 | 26 | 23% | | ^ 时钟频率 | 12MHz | | | ===== 七、 源文件 ===== ^ **文件名称** | **功能** | ^ **[[gates.v]]** | **逻辑门** | ^ **[[gates_tb.v]]** | **测试文件** |