基于FPGA的五功能智能逻辑笔_第1页
基于FPGA的五功能智能逻辑笔_第2页
基于FPGA的五功能智能逻辑笔_第3页
基于FPGA的五功能智能逻辑笔_第4页
基于FPGA的五功能智能逻辑笔_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上五功能智能逻辑笔一、项目名称:五功能智能逻辑笔二、项目来源:教材10-4题,将要求由LED更改为用7段数码显示三、项目要求利用状态机设计五功能逻辑笔,要求能测高电平(大于2.5V)、低电平(低于1V)、中电平(低于2.5V,高于1V)、高阻态以及脉冲(即快速变化电平)。要求用7段共阴极数码管显示五中结果,如显示H为高电平,显示L为低电平,显示M为中电平,显示Z为高阻态,显示P为连续脉冲。设计要求使用状态机表示状态切换,使用元件例化和顶层调用方式处理7段译码电路和五种状态的关系,有程序流程图,状态机图及程序源码及注解。最后附波形仿真文件。叙述必要设计过程。1、 设计流程

2、图如图:1所示。图1:五功能逻辑笔流程图2、 例化元件程序设计2.1例化元件需要完成六种状态的译码功能,显示在7段共阴极数码管。定义3位二进制输入端口,真值表如表一所示:表一:7段译码真值表输入码输出码代表数据000H001L010M011Z100P101111-2.2译码程序module SIXSL7S (A,LED7S);input2:0 A;output6:0 LED7S;reg6:0 LED7S;always (A)case (A)3'b000 : LED7S <= 7'b; /H3'b001 : LED7S <= 7'b; /L3'

3、b010 : LED7S <= 7'b; /M3'b011 : LED7S <= 7'b; /Z3'b100 : LED7S <= 7'b; /Pdefault : LED7S <= 7'b; /-endcaseendmodule 2.3 例化元件功能仿真如图2所示。图2:7段译码电路仿真3、 顶层逻辑笔电路设计3.1 按照逻辑流程图设计状态图按照已经设计好的程序流程图,忽略所有长方形的部分,只关心圆和菱形的条件,设计状态图的切换状态,并用verliog设计实现,通过编译,查看生成的状态流程图是否和设计流程图一致。流程图如

4、图3所示。图3:状态机流程3.2 通过对比得到一致的结果后,加入赋值程序,此时暂时不调用LED显示,用5位LED显示状态,查看仿真结果是否正确。未调用译码程序的功能仿真如图4所示。图4:未调用例化时的仿真波形3.3确定功能正确后,用例化语句调用底层LED译码模块,完成整体设计功能,程序文本如下:module LGC_PEN_L7 (CLK,VO,TEST,LEDS);input CLK;/状态机工作时钟input1:0 VO;/输入来自LM393中两个比较器的输出信号output6:0 LEDS;/外接7段数码管显示状态output TEST;/测试高阻态信号TESTparameter s0=

5、0,s1=1,s2=2,s3=3,s4=4,/状态表 s5=5,s6=6,s7=7,s8=8,s9=9, s10=10,s11=11,s12=12,s13=13;reg4:0 ST,NST;reg TEST;reg2:0LED;SIXSL7S U1(.A(LED),.LED7S(LEDS);always (posedge CLK) ST<=NST;always (ST or VO)begincase (ST)s0:beginTEST <=1'b1;NST <=s1;end s1:beginTEST <=1'b1;if (VO=2'b10) NST

6、 <=s2;else NST <=s4;ends2:beginTEST <=1'b0;NST <=s3;ends3:beginTEST <=1'b0;beginif (VO=2'b01)begin LED<=3'b001;/高阻态NST<=s0;end else NST <=s4;end ends4:if (VO=2'b01) NST <=s5;else NST <=s7;s5:if (VO=2'b01) NST <=s6;else NST <=s7;s6:if (VO=2&

7、#39;b01)beginLED <=3'b001;/低电平NST <=s0;end else NST <=s7;s7:if (VO=2'b10) NST <=s8;else NST <=s10;s8:if (VO=2'b10) NST <=s9;else NST <=s10;s9:if (VO=2'b10)beginLED <=3'b000;/高电平NST <=s0;end else NST <=s10;s10:if (VO=2'b11) NST <=s11;else NST <=s13;s11:if (VO=2'b11) NST <=s12;else NST <=s13;s12:if (VO=2'b11)beginLED <=3'b010;/中电平NST <=s0;end else NST <=s13;s13:beginLED <=3'

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论