资源预览内容
第1页 / 共60页
第2页 / 共60页
第3页 / 共60页
第4页 / 共60页
第5页 / 共60页
第6页 / 共60页
第7页 / 共60页
第8页 / 共60页
第9页 / 共60页
第10页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,计数时钟设计,Electronic Design Automation,EDA技术,2,EDA技术,Electronic Design Automation,主要内容:,一、项目前知识 二、项目任务 三、项目目标 四、实施步骤 五、相关知识,4,EDA技术,时序逻辑在数字电路设计中占着重要的地位,其中计数器的使用频率非常高,因此需要掌握各种功能(下面举例14种功能)的计数器的设计方法。,一、项目前知识:计数器设计,Electronic Design Automation,4,EDA技术,Electronic Design Automation,(1)带使能端的计数器:,4,EDA技术,Electronic Design Automation,(2)带同步置位的计数器:,4,EDA技术,Electronic Design Automation,(3)带同步复位的计数器:,4,EDA技术,Electronic Design Automation,(4)向上/向下计数器:,4,EDA技术,Electronic Design Automation,(5)同步置位和使能的计数器:,4,EDA技术,Electronic Design Automation,(6)带使能端的向上/向下计数器:,4,EDA技术,Electronic Design Automation,(7)同步复位和使能的计数器:,4,EDA技术,Electronic Design Automation,(8)同步复位和置位的计数器:,4,EDA技术,Electronic Design Automation,(9)同步置位向上/向下的计数器:,4,EDA技术,Electronic Design Automation,(10)同步置位、使能、向上/向下的计数器:,4,EDA技术,Electronic Design Automation,(11)同步复位、置位、使能的计数器:,4,EDA技术,Electronic Design Automation,(12)同步复位、向上/向下的计数器:,4,EDA技术,Electronic Design Automation,(13)同步复位、使能、向上/向下的计数器:,4,EDA技术,Electronic Design Automation,(14)模为200的向上计数器:,4,EDA技术,要求:对每一种不同功能组合的计数器都进行功能和时间上的仿真,如果结果正确,请加上静态共阳数码显示电路,并且在试验箱上验证计数结果。,一、项目前知识:计数器设计,Electronic Design Automation,2,EDA技术,Electronic Design Automation,主要内容:,一、项目前知识 二、项目任务 三、项目目标 四、实施步骤 五、相关知识,4,EDA技术,计数时钟由模60秒的计数器、模60分的计数器、模24小时的计数器、报警模块、分钟/小时设定模块、输出显示模块构成。秒钟计数模块的进位输出是分钟计数模块的进位输入,分钟计数模块的进位输出为小时计数模块的进位输入。其中秒钟模块应设有分钟的调节端口,分钟模块应设有小时的调节端口。输出显示模块使用动态共阴数码管显示电路,报警设置为整点报时,每次报时15秒。,二、项目任务,Electronic Design Automation,2,EDA技术,Electronic Design Automation,主要内容:,一、项目前知识 二、项目任务 三、项目目标 四、实施步骤 五、相关知识,5,通过本项目,利用VHDL语言完成基于FPGA实现的动态共阴极数码管显示的计数时钟的设计,并下载到FPGA中进行验证, 达到以下要求: 1、 掌握动态数码管显示电路的设计 2、 掌握VHDL编程语言 3、 熟悉各种功能计数器的设计,Electronic Design Automation,EDA技术,三、项目目标,2,EDA技术,Electronic Design Automation,主要内容:,一、项目前知识 二、项目任务 三、项目目标 四、实施步骤 五、相关知识,6,1、准备工作: (1)了解并分析设计要求 (2)整体分析设计后进行模块化设计,先分别进行单元功能设计并仿真,最后再进行连调并仿真。,Electronic Design Automation,EDA技术,三、实施步骤,7,2设计框图,EDA技术,Electronic Design Automation,7,3原理设计框图,EDA技术,Electronic Design Automation,7,4实验电路连线,EDA技术,Electronic Design Automation,本例使用位于试验箱EDAPRO/240H上的”动态键盘显示模块“中的6个8段数码管DS1ADS6A实现显示。数码管段码A,B,C,D,E,F,G分别为独立扩展下载板上第86脚(和”KPL_AH”的A连接)、87脚(和”KPL_AH”的B连接) 、88脚(和”KPL_AH”的C连接) 、89脚(和”KPL_AH”的D连接) 、90脚(和”KPL_AH”的E连接) 、92脚(和”KPL_AH”的F连接) 、93脚(和”KPL_AH”的G连接)。SS0,SS1,SS2是数码管的位选扫描信号,分别为独立扩展下载板上第68脚(和“DS1_8A(T)”的SS0连接),69脚(和“DS1_8A(T)”的SS1连接),70脚(和“DS1_8A(T)”的SS2连接)。,7,4实验电路连线,EDA技术,Electronic Design Automation,RESET为独立扩展下载板上的第71脚,接”F1_12(T)”的“F9F12”任意插孔。 HOURSET为独立扩展下载板上的第73脚,接”F1_12(T)”的“F9F12”任意插孔。 MINSET为独立扩展下载板上的第74脚,接”F1_12(T)”的“F9F12”任意插孔。 CLK为独立扩展下载板上的第79脚,接“FRQ(21)”插孔,即1Hz。 CLKDSP为独立扩展下载板上的第183脚,接“FRQ(11)”插孔,即1024Hz SPEAK为独立扩展下载板上的第38脚,内部已经锁定,无需外部连线。 操作:计数时钟从0秒开始计数,计满60分钟蜂鸣器鸣叫15秒。小时、分钟的设置是通过对应的按键设置,每按下键一次,小时或分钟向上加1分钟或1小时。,7,5实验管脚分配,EDA技术,Electronic Design Automation,7,6实验波形仿真结果,EDA技术,Electronic Design Automation,(1)秒/分计数器模块仿真结果:,7,6实验波形仿真结果,EDA技术,Electronic Design Automation,(2)小时计数器模块仿真结果:,7,6实验波形仿真结果,EDA技术,Electronic Design Automation,(3)数码管显示驱动模块仿真结果:,7,6实验波形仿真结果,EDA技术,Electronic Design Automation,(4)报警器模块仿真结果:,7,6实验波形仿真结果,EDA技术,Electronic Design Automation,仿真波形看出:选择SS输出与data30数据输出完全同步,每次clk上升沿有效,秒钟加1秒,且MINSET有效,分钟加1分。,7,7硬件验证实验结果,EDA技术,Electronic Design Automation,功能仿真和时序仿真结果符合预期,最后上试验箱验证设计结果。,2,EDA技术,Electronic Design Automation,主要内容:,一、项目任务 二、项目目标 三、实施步骤 四、相关知识 五、评价与总结,四川邮电职业技术学院,四. 相关知识,1、并发语句(补充) 2、VHDL的信号驱动和延迟,56,Electronic Design Automation,EDA技术,1、VHDL的并发语句,(1)块语句(Block) 块语句的并行工作方式更为明显。块语句本身是并行语句结构,而且它的内部也都是由并行语句构成的,包括进程与其它的并行语句。相比块语句本身并没有独特的功能,它只是一种并行语句的组合方式,利用它可以将程序编排得更加清晰、更有层次,因此对于一组并行语句,是否将它们纳入块语句中,都不会影响原来的电路功能。在多层嵌套的块结构中,内层块的所有定义值对外层块都是不可见的,而对其内层块都是可见的。因此,如果在内层的块结构中定义了一个与外层块同名的数据对象,那么内层的数据对象将与外层的同名数据对象互不干扰。,56,Electronic Design Automation,EDA技术,1、VHDL的并发语句,【例1】含有三重嵌套的块语句 . . b1 : BLOCK - 定义块 b1 SIGNAL s : BIT ; - 在 b1 块中定义s BEGINs = a AND b ; - 向 b1 中的s 赋值b2 : BLOCK - 定义块 b2 套于b1 块中SIGNAL s : BIT ; - 定义 b2 块中的信号sBEGINs = c AND d ; - 向 b2 中的s 赋值b3 : BLOCKBEGINz = s ; - 此 s 来自b2 块END BLOCK b3 ;END BLOCK b2 ;y = s ; - 此s 来自b1 块 END BLOCK b1;,56,Electronic Design Automation,EDA技术,1、VHDL的并发语句,【例2】,56,Electronic Design Automation,EDA技术,1、VHDL的并发语句,【例3】,56,Electronic Design Automation,EDA技术,1、VHDL的并发语句,例3要特别注意信号定义的区域,在结构体与块中定义的信号的透明性是不同的。其中so2只能在块内使用,块外的结构体中是不可见的,而信号so1、co1、co2在结构体中的任何块中都是可见的。由此例综合所得到的电路图可以看出,块的设置和应用并不象例化语句那样会产生低层次的元件模块电路结构。,56,Electronic Design Automation,EDA技术,1、VHDL的并发语句,(2)并行过程调用语句 并发过程调用语句是一个完整的语句,在它的前面可以加标号; 并发过程调用语句应带有IN,OUT或者INOUT的参数,它们应列于过程名后跟的括号内; 并发过程调用可以有多个返回值,但这些返回值必须通过过程中所定义的输出参数带回。并行过程调用语句的语句调用格式与顺序过程调用语句是相同的,即 过程名(关联参量名);,56,Electronic Design Automation,EDA技术,1、VHDL的并发语句,(2)并行过程调用语句并行过程的调用,常用于获得被调用过程的多个并行工作的复制电路。例如要同时检测出一系列有不同位宽的位矢信号,每一位矢信号中的位只能有一个位是1 ,而其余的位都是0 ,否则报告出错。完成这一功能的一种办法是先设计一个具有这种对位矢信号检测功能的过程,然后对不同位宽的信号并行调用这一过程。 PROCEDURE check(SIGNAL a : IN STD_LOGIC_VECTOR; - 在调用时 SIGNAL error : OUT BOOLEAN ) IS - 再定位宽 VARIABLE found_one : BOOLEAN := FALSE ; - 设初始值 BEGIN FOR i IN aRANGE LOOP - 对位矢量 a 的所有的位元素进行循环检测 IF a(i) = 1 THEN - 发现a 中有 1 IF found_one THEN - 若found_one 为TRUE 则表明发现了一个以上的1 ERROR = TRUE; - 发现了一个以上的1 令found_one 为TRUE,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号