EDA技术分频器
EDA技术实验讲义
E D A/S O P C技术实验讲义陕西科技大学电气与信息工程学院目录4第一章 EDA_VHDL实验/设计与电子设计竞赛4 1-1、应用QuartusII完成基本组合电路设计5 1-2. 应用QuartusII完成基本时序电路的设计6 1-3. 设计含异步清0和同步时钟使能的加法计数器7 1-4. 7段数码显示译码器设计8 1-5. 8位数码扫描显示电路设计9 1-6. 数控分频器的设计10 1-7. 32位并进/并出移位寄存器设计10 1-8. 在QuartusII中用原理图输入法设计8位全加器11 1-9. 在QuartusII中用原理图输入法设计较复杂数字系统11 1-10. 用QuartusII设计正弦信号发生器13 1-11. 8位16进制频率计设计16 1-12. 序列检测器设计16 1-13. VHDL状态机A/D采样控制电路实现18 1-14. 数据采集电路和简易存储示波器设计19 1-15. 比较器和D/A器件实现A/D转换功能的电路设计20 1-16 移位相加硬件乘法器设计24 1-17 采用流水线技术设计高速数字相关器24 1-18 线性反馈移位寄存器设计25 1-19 乐曲硬件演奏电路设计28 1-20 乒乓球游戏电路设计32 1-21 循环冗余校验(CRC)模块设计33 1-22. FPGA步进电机细分驱动控制设计(电子设计竞赛赛题)34 1-23. FPGA直流电机PWM控制实验35 1-24. VGA彩条信号显示控制器设计37 1-25. VGA图像显示控制器设计37 1-26. 清华大学学生基于GW48PK2系统VGA图像显示控制器设计示例5则38 1-27. 直接数字式频率合成器(DDS)设计实验(电子设计竞赛赛题)39 1-28. 嵌入式锁相环PLL应用实验41 1-29. 使用嵌入式锁相环的DDS设计实验(200MHz超高速DAC的PLL测试42 1-30. 基于DDS的数字移相信号发生器设计(电子设计竞赛赛题)45 1-31. 采用超高速A/D的存储示波器设计(含PLL,电子设计竞赛赛题)46 1-32. 信号采集与频谱分析电路设计(电子设计竞赛赛题)46 1-33. 等精度数字频率/相位测试仪设计实验(电子设计竞赛赛题)48 1-34. FPGA与单片机联合开发之isp单片机编程方法49 1-35. 测相仪设计(电子设计竞赛赛题)50 1-36. PS/2键盘鼠标控制电子琴模块设计50 1-37. PS/2鼠标与VGA控制显示游戏模块设计50 1-38. FPGA_单片机_PC机双向通信测频模块设计50 1-39. 10路逻辑分析仪设计(电子设计竞赛赛题)51 1-40. IP核:数控振荡器NCO应用设计52 1-41. IP核:FIR数字滤波器应用设计53 1-42. IP核:FFT应用设计53 1-43. IP核:CSC VGA至电视色制互转模块应用设计54 1-44. IP核:嵌入式逻辑分析仪SignalTapII调用55 1-45. USB与FPGA通信实验56第二章 SOPC/EDA设计实验I56 2-1 用逻辑锁定优化技术设计流水线乘法器实验57 2-2 用逻辑锁定优化技术设计16阶数字滤波器实验59 2-3 基于DSP Builder的FIR数字滤波器设计实验60 2-4 基于DSP Builder的IIR数字滤波器设计实验60 2-5 基于DSP Builder的DDS与数字移相信号发生器设计实验62 2-6 m序列伪随机序列发生器设计实验63 2-7 巴克码检出器设计实验65 2-8 RS码编码器设计实验65 2-9 正交幅度调制与解调模型设计实验67 第三章 SOPC/EDA设计实验II67 3-1 基于MATLAB/DSP Builder DSP可控正弦信号发生器设计72 3-2 32位软核嵌入式处理器系统Nios开发实验73 3-3 设计一个简单的SOPC系统74 3-4 简单测控系统串口接收程序设计74 3-5 GSM短信模块程序设计75 3-6 基于SOPC的秒表程序设计77 3-7 Nios Avalon Slave外设(PWM模块)设计78 3-8 Nios Avalon Slave外设(数码管动态扫描显示模块)设计79 3-15 DMA应用和俄罗斯方块游戏设计79第四章 SOPC/EDA设计实验III ( NiosII系统设计 ) 79 4-1、建立NIOSII嵌入式处理器硬件系统87 4-2、NIOSII软件设计与运行流程94 4-3、加入用户自定义组件设计100 4-4、加入用户自定义指令设计103 4-5、FLASH编程下载104 4-6、设计DSP处理器功能系统104 4-7、AM调制电路设计105第五章液晶接口实验105 5-1 GDM12864A液晶显示模块接口开发111 5-2 HS162-4液晶显示模块与单片机的接口114 5-3 G240-128A液晶显示模块的接口115第六章 CPU及其结构组件设计实验115 6-1 复杂指令CPU设计122 6-2 8051/89C51单片机核于FPGA中实现实验124第七章模拟EDA实验124 7-1 模拟EDA实验及其设计软件使用向导(PAC _Designer使用)124 7-2 基于ispPAC80的5阶精密低通滤波器设计126 7-3 基于ispPAC10的直流增益为9的放大器设计129附录:GW48 EDA/SOPC主系统使用说明129 第一节:GW48教学系统原理与使用介绍,132 第二节:实验电路结构图137 第三节:超高速A/D、D/A板GW-ADDA说明138 第四节:步进电机和直流电机使用说明138 第五节:SOPC适配板使用说明139 第六节:GWDVPB电子设计竞赛应用板使用说明141 第七节:GWCK/PK2/PK3系统万能接插口与结构图信号/与芯片引脚对照表第一章EDA_VHDL实验/设计与电子设计竞赛1-1. 应用QuartusII完成基本组合电路设计(1) 实验目的:熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
EDA技术
徐州工业职业技术学院班级:电子与电气071姓名:徐勤学号:730516137指导老师:张江伟内容摘要:EDA 技术是依赖功能强大的计算机,在EDA 工具软件平台上来实现既定的电子线路系统功能。
就因为EDA 有如此大的功能,因此选择EDA 来实现数字钟的设计。
数字钟是一种用数字显示秒、分、时的计时装置,与传统机械钟相比,它具有走时准确、显示直观、无机械转动装置等优点,因而得到广泛应用。
本课题是利用EDA 技术用集成电路设计一个数字钟,即显示秒、分、时,分别用60、60、24进制计数器,秒、分均为六十进制,即显示00~59,它们的个位是十进制,十位是六进制。
时为二十四进制,显示00~23,个位仍为十进制,而十位为二进制,但当十位计到2、个位计到4时清零,就为二十四进制了,其中组成秒、分、时的芯片均用7490来实行,先用它实现十进制,然后分别用两个十进制模板来实现六十进制、二十四进制,最终实现数字钟。
但这只是用4位二进制数来表示1位十进制数,因此要将这些二进制码,通过译码器7448来实现十进制文字符号的转换,将数字钟的计时状态直观清晰的反应出来,然后通过EDA 的坡形仿真,来检验其真确性。
这一设计原本原理图复杂,所用连线众多,但因EDA 具有把原理图模板化的功能,因此,最终生成的数字钟原理图简单、清晰、明了。
(参考文献《EDA 技术及其应用》、《电子技术技能实验实训指导》)一.设计要求:设计一个综合性的数字计时钟,要求能实现时、分、秒的计数功能,,同时将结果通过4个7段数码管显示,具体框图如下:根据设计要求,综合数字钟电路可分为计秒电路、计分电路、计时电路3个子模块,这3个子模块必须都具有预置、计数、进位功能,设计思想如下:A.计秒电路:以直接输入或由分频器产生的秒脉冲作为计秒电路的计数时钟信号,待计数至60瞬间,进位,计分电路加1,而计秒电路则清零并重新计秒。
B.计分电路:计秒电路得到进位脉冲,来一个脉冲就加1,当得到60个脉冲,即计数至60瞬间,进位,计时电路加1,而计秒、计分电路则清零,并重新计秒、分。
EDA七分频设计
基于VHDL的占空比50%的7分频电路设计一、题目分析1.七分频电路属于奇数分频较之偶数分频电路更难实现一点,由于知道奇数分频占空比不为50%的分频电路非常容易实现,于是希望能从此处入手获得奇数分频电路占空比为50%与非50%之间的关系,从而完成此类题目的设计。
经分析知道两个占空比为3/7的七分频电路在初相位相差半个时钟周期的情况下进行或操作可获得题目要求的七分频电路。
2.占空比50%的分频电路与非50%的分频电路的真值关系如下表所示:可见从原理上满足要求。
二、用MAX+plusii编程开发实现上述功能。
1、运行MAX+plusii进入编程开发环境,选择新建文件如下图并将文件保存为实体名的VHD文件:2、在程序文本编辑窗口编写程序,关键字以绿色字体呈现,编写程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT14 ISPORT(CLK:IN STD_LOGIC;K1,K2,Y:OUT STD_LOGIC);END;ARCHITECTURE bhf OF CNT14 ISSIGNAL C1,C2:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL M1,M2:STD_LOGIC;BEGINPROCESS(CLK,C1)BEGINIF RISING_EDGE(CLK) THENIF(C1="110") THEN C1<="000"; ELSE C1<=C1+1; END IF;IF(C1="001") THEN M1<=NOT M1; ELSIF(C1="100") THEN M1<=NOT M1;END IF; END IF;END PROCESS;PROCESS(CLK,C2) BEGINIF FALLING_EDGE(CLK) THENIF(C2="110") THEN C2<="000"; ELSE C2<=C2+1; END IF;IF(C2="001") THEN M2<=NOT M2; ELSIF(C2="100") THEN M2<=NOT M2;END IF; END IF;END PROCESS;K1<=M1; K2<=M2; Y<=M1 OR M2;END bhf;3、将当前设计设置成工程,选择set Project to current file,如下图所示:4、执行菜单栏中,弹出窗口设置如下:5、调出编译器对程序进行编译,操作如下图所示:6、在编译窗口执行如下图两项设置操作:7、点击start执行程序编译,编译顺利执行,证明程序没有语法错误,结果如下图:8、通过如下操作新建波形文件并保存文件:9、从SNF文件中输入设计文件的信号节点如下图所示:10、选中时钟信号该行呈黑色,并进行参数设置如下图:11、点击菜单栏中MAX+plusii下拉菜单,选择simulator弹出仿真控制窗口,单击start进行波形仿真:12、获得仿真波形如下图所示,可见波形除了在时间上有延时外符合分析要求:三、程序分析。
EDA分频器实验报告 含有实验程序、仿真图像 三分频 八分频
if(!rst_n) begin
t2<=0;
k2<=0;
end
else begin
if(t2==2'b10) begin
t2<=0;
k2<=k2;
end
else begin
t2<=t2+1;
k2<=!k2;
end
end
end
assign clk_out=k1|k2;
endmodule
2、八分频器程序:
moduleba(inclk,tick);
output tick;
input inclk;
reg [1:0] t;
reg tick;
always @ (posedge inclk)
begin
if(t==3)
begin
tick =~tick;
t=0;
end
else t=t+1;
end
endmodule
五、实验仿真波形
六、实验总结和感想
通过这次实验我对PLD的设计流程有了更深的感触,明白了其设计的一般步骤及方法,为以后的Quartus Ⅱ的综合设计奠定了基础。同时,对于分频器程序的编写有了更深的认识,这能更好的促进我们以后的理论学习。实验过程中也必须本着不骄不躁、耐心严谨,否则容易出错而达不到实验要求。
三、实验内容
1、根据要求设计三分频器、八分频器。
2、对设计的分频器进行波形仿真分析。
四、三位、八位简易频率计程序
1、三分频器程序
modulesan(clk_in,rst_n,clk_out);
input clk_in;
EDA技术内涵
软件程序
与CPU应用系统比较
基于FPGA 完成乐曲演奏电路, 在AlteraQuartus II 环境下, 用VHDL 语言实现电子琴演奏音乐的设计 实例, 设计者根据VHDL 的语法规则, 对系统的逻辑行 为进行描述, 然后通过综合工具进行电路结构的综合、 编译、优化,用仿真, 可在短时间内设计出高效、稳定、 符合设计要求的电路。本设计还可扩展为多个音阶的 电子琴, 并利用FPGA 内部的ROM装上多首歌曲, 可 用手动或自动选择歌曲。与利用微处理器(CPU 和 MCU)来实现乐曲演奏相比, 可以很简单的设计出多种 演奏电路, 具有高性能, 高可靠性等优点, 在性能价格 比方面优于同类产品, 有着广泛的应用前景和使用价 值。
PLD的优势
PLD在设计过程中为客户提供了更大的灵活性,因为对 于PLD来说,设计反复只需要简单地改变编程文件就可以了, 而且设计改变的结果可立即在工作器件中看到。 PLD不需要漫长的前置时间来制造原型或正式产品 PLD器件已经放在分销商的货架上并可随时付运。 PLD不需 要客户支付高昂的NRE成本和购买昂贵的掩模组- PLD供应 商在设计其可编程器件时已经支付了这些成本,并且可通过 PLD产品线延续多年的生命期来分摊这些成本。 PLD允许客户在需要时仅订购所需要的数量,从而使客 户可控制库存。 采用固定逻辑器件的客户经常会面临需要废 弃的过量库存,而当对其产品的需求高涨时,他们又可能为 器件供货不足所苦,并且不得不面对生产延迟的现实。 PLD甚至在设备付运到客户那儿以后还可以重新编程。
这回真的木有了……
建智092
小组成员:陆嘉磊 何涛 唐生昇 朱凯
EDA技术内涵
EDA是英文“Electronics Design Automation(电子设计自动 化)”的缩写。EDA 技术是近几年迅速发展起来的计算机软件、硬件和 微电子交叉的现代电子设计学科, 是现代电子工程领域的一门新技术。 它是以可编程逻辑器件(PLD)为物质基础, 以计算机为工作平台, 以 EDA 工具软件为开发环境, 以硬件描述语言(HDL)作为电子系统功能 描述的主要方式, 以电子系统设计为应用方向的电子产品自动化设计 过程。 VHDL 是常用的HDL, 它的英文全名是VHSIC“Very HighSpeed Integrated Circuit Handware Description Language (高速集成 电路硬件描述语言)”,VHDL 语言具有很强的电路描述和建模能力, 能 简化硬件设计任务, 提高设计的效率和可靠性。Quartus II 是Altera 提供的FPGA“Field Programmable GateArray (现场可编程门阵列 )” 和CPLD “Complex programmableLogic Device(复杂可编程逻 辑器件)”的开发集成境, Altera 是世界最大可编程逻辑器件供应商之 一。Altera 的Quartus II提供了完整的多平台设计环境, 能满足各种 特定设计的需要, 也是单芯片可编程系统(SOPC)设计的综合性环境和 SOPC 开发的基本设计工具, 并为Altera DSP 开发包进行系统模型 设计提供了集成综合环境。
EDA技术综合应用设计实例
EDA技术综合应用设计实例EDA(Electronic Design Automation)技术是一种电子设计自动化技术,通过软件工具和方法来实现电子产品的设计和验证。
下面是一个EDA技术综合应用设计实例。
背景:在现代社会中,无线通信技术是非常重要的技术之一,随着无线通信技术的不断发展,人们的生活质量得到了极大的提高。
在无线通信系统中,无线电频率的调整和控制是重要的步骤。
为了实现频率调整和控制,需要设计一个频率锁定环(PLL)电路。
本次实例的目标是使用EDA技术设计和验证一个简单的PLL电路。
设计要求:设计一个具有以下特性的PLL电路:1.输入信号频率为10MHz2.输出信号频率为400MHz3. 希望达到的锁定时间为100 ns4.锁定范围为±20kHz设计步骤:1.设计电路结构图:根据PLL电路的原理,设计电路结构图。
PLL电路包括一个相位比较器、一个锁定振荡器和一个分频器。
相位比较器用于比较反馈信号和参考信号的相位差,输出控制信号给锁定振荡器调整频率。
锁定振荡器生成输出信号,分频器用于将输出信号的频率分频到400MHz。
2.选择合适的元件:根据设计要求和电路结构图,选择适合的元件。
例如,选择合适的电阻、电容、晶体振荡器等。
3. 使用EDA工具进行电路模拟:使用EDA工具,如Cadence或Mentor Graphics等,进行电路模拟。
在模拟中,可以设置输入信号的频率和幅值,并观察输出信号的频率和幅值。
4.优化电路性能:根据模拟结果,可以对电路进行优化。
例如,可以通过调整电路参数、改变电路结构等方式来改善锁定时间、锁定范围等性能指标。
5.进行电路布局与布线:根据设计结果,进行电路布局和布线。
电路布局是指将电路中的元件放置在适当的位置,以减小信号干扰和噪声。
电路布线是指将电路中的元件通过导线连接起来,形成完整的电路路径。
6.进行电路验证:设计完成后,进行电路验证。
验证是指使用EDA工具验证设计的正确性和性能指标是否符合要求。
EDA实验五数控分频器的设计(程序)
三、实验效果分析(包过仪器设备等使用效果)三、实验效果分析:①八分频,十一分频器的程序主要包括两部分,一是先设定好计数的位数,让计数器计数,当计数满时产生溢出,使溢出标志位为高电平;二是当溢出标志位为1时,D 触发器的D状态发生翻转,从而产生高低电平的变化,而达到分频的目的,计数初值的不同,计数满所要的时钟个数也就不同,D触发器电平翻转所用的时间也就不同,频率也就不同。
②循环计数器是给定时器赋不同的初值,不同初值溢出所用的时间也就不同,状态翻转所用时间也就不同,从而达到实现不同音频循环输出的目的。
③硬件测试:写好程序连接好电路后电路能够很好的实验16种不同音频之间的循环输出,说明实验程序正确,对应的RTL仿真图形也正确。
④实验例序中的P_DIV进程的作用是当计数满产生溢出时让D触发器的状态发生翻转,D触发器状态的翻转的频率就是分频器输出的频率。
也就是做分频器的频率输出作用。
教师评语指导教师年月日江西师范大学物理与通信电子学院教学实验报告专业:电子信息工程2011年月日实验名称数控分频器的设计指导老师姓名年级学号成绩一、预习部分1、实验目的2、实验基本原理3、主要仪器设备(包含必要的元器件、工具)一、实验目的:1.了解数控分频器的设计原理以及分析和测试方法。
2.学会构造使用不同功能的数控分频器械。
二、实验基本原理:给定时器设定好初值,当计数满时溢出,产生溢出后溢出标志位D触发器取反,这样当设定不同的初值时产生一次溢出所用的时间也就不同,频率也就随之改变。
通过设定不同的初值从而产生不同的分频。
三、主要仪器设备电脑,实验箱二、实验操作步骤1.实验数据、表格及数据处理2.实验操作过程(可以用图表示)3.结论1.实验数据、表格及数据处理如下:十一分频器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sy52 isport(clk:in std_logic;d:in std_logic_vector(10 downto 0);fout:out std_logic);end ;architecture one of sy52 issignal full :std_logic;beginp_reg:process(clk)variable cnt8:std_logic_vector(10 downto 0);beginif clk'event and clk='1' thenif cnt8="11111111111"thencnt8:=d;full<='1';elsecnt8:=cnt8+1;full<='0';end if;end if;end process p_reg;p_div:process(full)variable cnt2:std_logic;beginif full'event and full='1'thencnt2:=not cnt2;if cnt2='1'thenfout<='1';elsefout<='0';end if ;end if ;end process p_div;end 2、实验操作过程如下:八分频器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sy51 isport(clk:in std_logic;d:in std_logic_vector(7 downto 0);fout:out std_logic);end ;architecture one of sy51 issignal full :std_logic;beginp_reg:process(clk)variable cnt8:std_logic_vector(7 downto 0);beginif clk'event and clk='1' thenif cnt8="11111111"thencnt8:=d;full<='1';elsecnt8:=cnt8+1;full<='0';end if;end if;end process p_reg;p_div:process(full)variable cnt2:std_logic;beginif full'event and full='1'thencnt2:=not cnt2;if cnt2='1'thenfout<='1';elsefout<='0';end if ;end if ;end process p_div;end ;。
(VHDL实验报告)模值12计数器、分频器的设计
电子科技大学成都学院学院指导教师模值12计数器,分频器设计二、实验目的1、了解二进制计数器的工作原理。
2、时钟在编程过程中的作用。
3、学习数控分频器的设计、分析和测试方法。
4、了解和掌握分频电路实现的方法。
5、掌握EDA技术的层次化设计方法。
三、实验原理(1)二进制计数器中应用最多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下:在时钟上升沿的情况下,检测使能端是否允许计数,如果允许计数(定义使能端高电平有效)则开始计数,否则一直检测使能端信号。
在计数过程中再检测复位信号是否有效(低电平有效),当复位信号起作用时,使计数值清零,继续进行检测和计数。
其工作时序如下图所示:(2)数控分频器的功能就是当输入端给定不同的输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器来设计完成的,方法是将计数溢出位与预置数加载输入信号相接得到。
(1)“模值12计数器的设计”的实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。
实验中时钟信号使用数字时钟源模块的1HZ信号,用一位拨动开关K1表示使能端信号,用复位开关S1表示复位信号,用LED模块的LED1~LED4来表示计数的二进制结果。
实验L ED 亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。
通过输入不同的值模拟计数器的工作时序,观察计数的结果。
实验箱中的拨动开关、与FPGA 的接口电路,LED 灯与FPGA 的接口电路以及拨动开关、LED 与F PGA 的管脚连接在实验一中都做了详细说明,这里不在赘述。
数字时钟信号模块的电路原理如下图所示,其时钟输出与F PGA 的管脚连接表如下图所示:信号名称对应FPGA 管脚名说明DIGITAL-CLK C13 数字时钟信号送至FPGA 的C13按键开关模块的电路原理如下图所示:按键开关的输出与F PGA 的管脚连接表如下图所示:五、实验步骤(一)模值12计数器的设计1、建立工程文件1)运行QUARTUSII 软件。
EDA课程设计——数字跑表
第一章引言数字电子技术的应用一直在向着广度和深度扩展。
时至今日,“数字化”的浪潮几乎席卷了电子技术应用的一切领域。
由于电子产品的更新周期日益缩短,新产品开发速度日益加快,因而对电子设计自动化(EDA)提出了更高的要求,也有力地促进了EDA技术的发展和普及。
在数字集成电路方面,电路的集成度如摩尔定律(Moore’s Law)所预言的那样,以每1-2年翻一番的速度增长,使电路的复杂程度越来越高、规模越来越大。
同时,在基本技能方面,对使用EDA工具的能力也提出了更高的要求。
因此,学好EDA课程设计至关重要。
第二章 设计说明1.器件介绍-集成十进制加法计数器74160集成同步十进制加法计数器74160。
图2-1给出了74160的引脚排列图和逻辑符号图。
除了具有十进制加法计数功能外,还具有异步复位、同步预置数和计数状态保持、对输入的时钟信号进行分频等功能。
CLRN 为异步复位端,LDN 为预置数控制端,A-D 为预置状态输入端,RCO 为进位输出端,ENT 和ENP 为工作状态控制端(双使能端)。
图2-1 74160逻辑符号图 表2-1 74160功能特性 表2-2是74160的功能表,它给出了各种控制信号作用下计数器的工作状态,具体如下。
序号 CLK CLRN LDN ENP ENT 工作状态 1 × 0 × × × 复位 2 ↑ 1 0 × × 预置数 3 ↑ 1 1 1 1 正常计数 4 × 1 1 × 0 保持,且C=0 5×110 1保持表2-2 74160的功能表⑴当CLRN=0时,无论其他功能端为何状态,计数器都将复位,有QD ~QA=0000(注:QD 为状态端最高位)。
⑵当CLRN=1、LDN=0时,计数器处于预置数状态。
在出现此情况后的第一个CLK 上升沿,将预置输入端加载的数据送入计数器,即有QD ~QA=D ~A(注:D 为置入端最高位)。
《EDA技术》教学大纲
《EDA 技术》教学大纲课程名称:EDA 技术,Electronic Design Automation Technology 课程性质:专业基础课学 分:2.5总 学 时:45其中,理论学时:27 实验(上机)学时: 18适用专业:电子信息工程先修课程:数字电子技术,C 语言程序设计基础 一、教学目的与要求本课程是电类专业的专业基础课,要求学生通过本课程的学习和实验,初步掌握常用EDA 工具的使用方法、FPGA 的开发技术以及VHDL 语言的编程方法。
能比较熟练地使用QuartusII 等常用EDA 软件对FPGA 和CPLD 作一些简单电路系统的设计,同时能较好地使用VHDL 语言设计简单的逻辑电路和逻辑系统,学会行为仿真、时序仿真和硬件测试技术,为现代EDA 工程技术的进一步学习,ASIC 器件设计以及超大规模集成电路设计奠定基础。
二、教学内容与学时分配学时分配实验上机序号章节名称理论学时实验(上机)学时总学时1第一章 绪论332第二章 大规模可编程逻辑器件3334第三章 VHDL 编程基础126184第四章 VHDL 设计应用实例91221合计学时数801045三、各章主要知识点与教学要求 第一章 绪论(3学时)第一节 EDA 技术的涵义第二节 EDA 技术的发展历程第三节 EDA 技术的主要内容一、大规模可编程逻辑器件二、硬件描述语言(HDL )三、EDA 软件开发工具四、EDA 实验开发系统第四节 EDA 软件系统的构成第五节 EDA 工具发展趋势第六节 EDA 的工程设计流程一、FPGA/CPLD 工程设计流程二、ASIC 工程设计流程第七节 数字系统的设计一、数字系统的设计模型二、数字系统的设计方法三、数字系统的设计准则四、数字系统的设计步骤第八节 EDA技术的应用展望本章重点:1、EDA技术的特点2、EDA技术的发展及应用3、数字系统的设计流程本章难点:1、EDA技术的主要特点2、ASIC技术本章教学要求:1、正确理解EDA的概念2、掌握EDA技术的特点、应用和发展趋势3、了解EDA技术的发展历程4、掌握数字系统的设计流程 第二章 大规模可编程逻辑器件(3学时)第一节 可编程逻辑器件概述一、PLD的发展进程二、PLD的分类方法三、常用的CPLD和FPGA标识的含义第二节 Altera公司的CPLD和FPGA器件一、Altera公司的CPLD和FPGA概述二、MAX系列CPLD结构三、MAXII系列CPLD结构四、Cyclone系列FPGA结构五、Stratix系列FPGA结构第三节 CPLD和FPGA的编程与配置一、CPLD和FPGA的编程配置二、CPLD和FPGA的下载接口三、CPLD器件的编程电路四、FPGA器件的编程电路第四节 FPGA和CPLD的开发应用选择本章重点:1、CPLD的结构与工作原理2、FPGA的结构与工作原理本章难点:1、CPLD的结构与工作原理 2、FPGA的结构与工作原理本章教学要求:1、了解可编程逻辑器件的基本结构、发展和分类2、理解简单PLD3、掌握CPLD和FPGA FPGA的结构与工作原4、了解在系统可编程逻辑器件第三章 VHDL编程基础(18学时)第一节 概述一、常用硬件描述语言简介二、VHDL的优点三、VHDL程序设计约定第二节 VHDL程序基本结构一、VHDL程序设计举例二、VHDL程序的基本结构三、库、程序包使用说明四、实体描述五、结构体描述六、结构体配置第三节 VHDL语言要素一、VHDL文字规则二、VHDL数据对象三、VHDL数据类型四、VHDL操作符第四节 VHDL顺序语句一、赋值语句二、转向控制语句三、等待语句四、子程序调用语句五、返回语句六、空操作语句七、其他语句和说明第五节 VHDL并行语句一、进程语句二、块语句三、并行信号赋值语句四、并行过程调用语句五、元件例化语句六、生成语句第六节子程序一、函数二、重载函数三、过程四、重载过程第七节程序包第八节 VHDL描述风格一、行为描述3二、数据流描述三、结构描述第九节基本逻辑电路设计一、组合逻辑电路设计二、时序逻辑电路设计三、存储器电路设计第十节状态机的VHDL设计一、状态机的基本结构格功能二、一般状态机的VHDL设计三、摩尔状态机的VHDL设计四、米立状态机的VHDL设计本章实验:Quartus II操作使用( 3学时)数码管扫描电路设计( 3学时)本章重点:1、VHDL程序结构2、VHDL语言要素3、VHDL基本描述语句4、组合逻辑电路和时序逻辑电路设计5、状态机和存储器的VHDL设计本章难点:1、程序包的应用和配置 2、数据类型转换3、状态机和FIFO设计本章教学要求:1、理解VHDL语言的特点2、掌握VHDL程序的结构、语言要素和语句描述,能够正确书写VHDL程序3、掌握组合逻辑电路和时序逻辑电路的设计4、熟悉状态机的应用5、正确理解存储器电路的设计第四章 VHDL程序设计基础(21学时)第一节 电子数字钟一、系统功能分析和模块划分二、分频器和计数器的设计三、数码管动态扫描电路的设计四、顶层电路的分析和设计第二节 乒乓球游戏机一、系统功能分析和模块划分二、分频器和计数器的设计三、状态机电路设计四、顶层电路的分析和设计第三节 简单电子琴一、系统功能分析和模块划分二、音频控制系统设计三、顶层电路的分析和设计第四节 16×16LED点阵汉字滚屏显示一、系统功能分析和模块划分二、LED点阵汉字显示系统设计三、顶层电路的分析和设计本章实验:数字频率计的设计( 3 学时) 数字秒表的设计( 3 学时)交通信号灯控制器的设计(3 学时) 16×16点阵汉字显示系统( 3 学时)本章重点:1、数字系统的综合设计2、VHDL语言的综合应用本章难点:1、系统模块的划分和设计分析2、顶层电路的描述和编程本章教学要求:1、掌握应用VHDL语言描述不同逻辑功能的电路2、理解数字系统的设计四、成绩与考核方式 1、课程总评成绩由平时成绩(30%)和其末考试成绩(70%)组成,其中平时成绩包括作业、实验报告和考勤以及期中考试成绩和单元测验。
河南工业大学EDA技术 实验报告实验五 用LPM设计8位数控分频器和4位乘法器
河南工业大学EDA技术实验报告专业电科班级姓名学号 2 实验地点6526+ 6215 实验日期-11-4 成绩评定一、实验项目实验五用LPM设计8位数控分频器和4位乘法器二、实验目的掌握LPM模块的参数设置方法以及设计和应用方法。
三、实验原理对于高速测控系统,影响测控速度最大的因素可能是,在测得必要的数据并经过复杂的运算后,才能发出控制指令。
因此数据的运算速度决定了此系统的工作速度。
为了提高运算速度,可以用多种方法来解决,如高速计算机、纯硬件电路、ROM查表式运算器等。
用高速计算机属于软件解决方案,用纯硬件运算器属于硬件解决方案,而ROM属于查表式运算解决方案。
数控分频器的功能要求为:若在其输入端给定不同的数据,其输出脉冲具有相应的对输入时钟的分频比。
设计流程是首先按照原理图输入的设计步骤,通过元件输入窗在原理图编辑窗中调入兆功能块,并按图连接起来,其中计数器LPM-COUNTER模块的参数设置可按照以下介绍的方法进行。
硬件乘法器有多种实现方法,相比之下,由高速RAM构成乘法表方式的乘法表方式的乘法器的运算速度最快。
8位数控分频器电路原理图用LPM_ROM设计的4位乘法器原理图DFF的VHDL代码:(1)8位数控分频器数控分频器的功能要求为:若在其输入端给定不同的数据,其输出脉冲具有相应的对输入时钟的分频比。
(2)4位乘法器硬件乘法器有多种实现方法,相比之下,由高速RAM构成乘法表方式的乘法表方式的乘法器的运算速度最快。
一个4×4bit查表式乘法器乘法表文件如下图所示;四、仿真结果及分析下图即为8位数控分频器的仿真结果,仿真参数设置时具体设置界面如下图所示,波形图如图;下图即为乘法器的仿真结果,仿真参数设置时具体设置界面如下图所示;五、硬件验证过程及结果分析数控分频器的硬件验证时通过数码管来观察分频器的数据变化情况。
4位乘法器的硬件测试引脚并连接至插槽,通过数码管来观察数据相乘后的结果。
EDA三分频器设计
EDA课程设计实验题目:占空比可调节的三分频器班级:电子081学号:***姓名:**1:实验要求:实现一个占空比可调节的三分频器,占空比可调节为1:3和1:2,时钟信号输入为CLK,带使能输入ENABLEBLE。
2:源代码:library ieee;use ieee.std_logic_1164.all;gned.all;use ieee.std_logic_arith.all;entity div isport(clk,enable:in std_logic;qout1,qout2:buffer std_logic;clk1,clk2:out std_logic) ;end entity div;architecture behave of div isbeginprocess(clk,enable)isvariable cnt:integer range 0 to 2;beginif clk'event and clk='1' thenif enable='1' thenif cnt=2 thencnt:=0;qout1<='1';elsecnt:=cnt+1;qout1<='0';end if;clk1<=qout1;end if;end if;end process;process(clk,enable)isvariable cnt:integer range 0 to 2;beginif clk'event and clk='0' then if enable='0' thenif cnt=2 thencnt:=0;qout2<='1';elsecnt:=cnt+1;qout2<='0';end if;end if;end if;end process;clk2<= qout1 or qout2;end behave;3:仿真波形:图(1)clk1为1:2占空比、clk2为1:3的占空比:4:结果分析:为了实现三分频,必需保证输出波形周期是原信号周期的三倍。
eda技术概述
题目:基于FPGA的嵌入式车载终端的设计
vcc
FPGA GPS模块 液晶的嵌入式车载终端的设计
设计题目:基于FPGA的多功能移相式函数信号发 生器的设计
FPGA
单 片 机 IP 核 DDS 液晶显示
矩阵键盘
D/A 转换
示波器
设计题目:基于FPGA的多功能移相式函数信号发生器的设计
二、EDA设计几大部分 1、硬件描述语言(HDL:hardware description language) 常用的语言: VHLD语言 ------ 1987年作为硬件描述语言, 分为87版和93版 Verilog HDL语言 比较:VHDL系统抽象能力和功能描述能力强 Verilog HDL:更贴近硬件 教学主要讲VHDL语言
一、EDA技术的定义 狭义的定义 定义:以硬件描述语言为主要的表达方式,,以EDA 软件为开发软件,以大规模可编程器件为设计载体 的电子产品设计过程。 EDA技术的核心:利用计算机完成电子电路设计全程 自动化 EDA设计的目标:完成专用集成电路的设计(ASIC) ASIC:Application Special Integrated Circuit (有专门用途和特点功能的独立集成电路器件)
频率和相位差相等时,选择不同波形
设计题目:基于FPGA的多功能移相式函数信号发生器的设计
波形和相位差相等时,选择不同频率
波形和频率相等时,选择不同相位差
设计题目:基于FPGA的UART串行通信接口设计
设计题目:基于FPGA的UART串行通信接口设计
设计题目:基于FPGA的UART串行通信接口设计
本学期本课程的学习目标:
熟练掌握VHDL硬件描述语言的语法和语句, 熟练使用EDA软件Quartus软件 设计电子器件和电路。
EDA电子项目2.5分频器的原理图输入设计
四、项目实施——1. Quartus Ⅱ原理图设计 (1) 创建工程
在D:\altera\Quartus50\example\Freqdivider下建立 项目Freqdivider
选择EPM240T100C5作为目标器件
一、项目描述
2. 项目目标
序号 类别 1. 2. 3. 4. 目 标 掌握n.5分频器原理 掌握时序逻辑电路的EDA设计方法 掌握原理图设计文件的图元创建方法 掌握原理图输入法实现层次性设计
一
知识
二
技能
1. 掌握Quartus II软件的原理图输入的层次性设计方 法 2. 熟练掌握时序逻辑电路的设计方法 3. 能使用Quartus II软件的对设计电路进行时序仿真 4. 会调试学习开发板
五、项目评价与总结提高 2.项目总结
分频器属于时序逻辑电路,在进行原理图设计时, 可以采用一般的时序逻辑电路设计方法利用触发器 和门电路来进行设计。
3.拓展与提高
采用原理图输入方式,选用JK触发器设计模5同步减法分频器。 采用原理图输入方式,选用JK触发器设计4位单向右移寄存器。 采用原理图输入方式,选用D触发器设计3位数码寄存器。
良
能根据项目要求完成资 讯及学习,能制订合理 的行动计划。 分频器软硬件设计基本 正确,项目方案需要调 整。 能正确使用QuartusII 软件综合、编译、仿真 并下载程序到学习板, 能正确调试电路,基本 完成项目要求。
及格
能根据项目要求完成 资讯及学习,能制订 合理的行动计划 分频器软硬件设计思 路基本正确,但有一 定缺陷。 能正确使用 QuartusII软件综合 、编译、仿真并下载 程序到学习板,会调 试电路。
EDA课程设计_数字钟
数字钟一、原理图:二、模块说明:该模块实现分频即将24M时钟源分频为1HZ信号。
该分频器由D触发器和计数器构成,每个D 触发器的输出信号频率为输入信号频率的一半从而实现分频,COUNTER为计数器,配合D触发器进行进一步分频最终达到合适的频率。
对二分频器进行波形仿真为对COUNTER即87计数器仿真为即输入89个时钟脉冲后输出才为一。
对COUNTER1即80计数器仿真为即输入80个时钟脉冲后输出为一。
Second模块实现秒计数为六十进制计数模式,当计数达到59后如再来一个时钟脉冲则进位即分钟加一,秒位清零即为00。
Minute模块实现分计数也为六十进制计数模式,当计数达到59时再来一个脉冲则进位即时钟加一,分位清零即为00。
Hour模块实现时计数为二十四进制计数模式,当计数达到23时再来一个脉冲则复位即为00。
Link模块实现隔离即将分与秒,时与分隔开。
分隔符表现形式为“-”,用了此模块后时钟显示更直观。
Sel_clock模块实现扫描显示即每一瞬间输出的数据为秒的个位或十位,或者为分的个位或十位,或者时的个位或十位。
因该试验增加了一些功能,所以该模块要做相应修改――增加为八位显示。
此时连线时应注意各模块的个位十位接线和分隔符接线。
Deled模块为字符译码模块即将十六进制字符翻译为七段数码管相应段位亮灭从而实现字符译码。
该模块也要作少许修改,如把h"f" =>1,0,0,0,1,1,1;改为了h"f" =>0,0,0,0,0,0,1;这样显示后就起到分隔的作用了。
当然这也不是唯一的修改方法,关键是修改要和你的link模块相匹配。
Alert为整点报时模块,呐叭发声为脉冲激发,不同频率的信号会得到不同音调的声音,如果不停的改变信号频率就会得到一串抑扬顿挫的声音。
对second模块仿真为对minute模块进行仿真为:对hour模块进行仿真:对deled字符译码模块仿真该模块将字符转换成数码管相应的段码以便数码管能显示为人们习惯的字符。
EDA实训函数信号发生器
《EDA技术与应用》实训报告学号姓名指导教师:实训题目:1.系统设计1.1 设计要求1.1.1 设计任务设计一个多功能信号发生器1.1.2 技术要求①能够产生两种或以上种输出波形(正弦波、三角波、锯齿波等)。
②输出的波形的频率允许有多种选择。
③输出波形的幅度在1V~5V范围内。
④输出的波形能够用示波器测量。
1.2 方案比较运用了我们所学的Vverilog VHDL 语言及Quartus II 7.0软件,来完成并实现这一次实训。
1.3 方案论证1.3.1 总体思路多功能信号发生器的原理框图如图所示。
其中,fpq是分频器,用于对EDA实训仪主板上提供的20MHz的主频率进行分频,以得到满足多功能信号发生器设计需要的时钟频率,clk 是20MHz的主频率输入端,step是步长控制端,当step为0或1时,分别控制分频器的分频比,并由clk_out端输出到Lpm_counter0中,Lpm_counter0是参数可设置的计数器,用于产生lpm_rom4 ,lpm_rom2和lpm_rom3的8位位置,并从q[7..0]端输出到数据选择器abcd 中,并通过s1和s2的组合进行选择。
lpm_rom4, lpm_rom2和lpm_rom3是参数可设置的只读存储器,用于存放多功能信号发生器的波形数据信号,其中lpm_rom3存放的是正弦波,lpm_rom2中存放的是锯齿波,lpm_rom4中存放的是方波。
而波形的产生还需要一份Mif文件。
Mif是将波形分成N个点并将各点输入只读存储器中,这样只读存储器就可以输出相应的波形数据。
只读存储器的位置输出端接于s数据选择器的输入端abcd,而数据选择器便可通过改变从存储器中接受的数据进行区分选择,逐步地取出波形数据,经D/A转换后产生模拟波形输出。
1.3.2 设计方案2.各个模块程序的设计1分频器:module fpq(clk, newclk,step);input clk,step;output newclk;reg newclk;reg[24:0] cnter,sc;reg[1:0] stepcnt;always @(posedge step)beginstepcnt=stepcnt+1;beginif (stepcnt == 0) sc = 2000;else if (stepcnt == 1) sc = 200;else if (stepcnt == 2) sc = 20;else if (stepcnt == 3) sc = 2;else sc = 2000;endendalways @(posedge clk)beginif (cnter < sc) cnter = cnter+1;else cnter = 0;if (cnter < sc/2) newclk = 'b1;else newclk = 'b0;endendmodule2 数据选择器:module jsq(q,a,b,c,d,k1,k2);input k1,k2;input [7:0]a,b,c,d;output reg [7:0]q;always @(k1 or k2)begincase ({k1,k2})'b00: q=a;'b01: q=b;'b10: q=c;'b11: q=d;endcaseendendmodule3.整理与调试过程将示波器的探头与试验箱上DAOUT及GND进行连接,将试验箱接通电源,此时便产生了20MHz的时钟信号,由拨码开关s14和s15分别控制正弦波,方波,锯齿波与三角波的输出,可以在示波器上看到波形成,但是还需要在示波器上调整波的幅度等参数使之形成清晰稳定的波形。
eda分频器原理
eda分频器原理EDA分频器是一种电子设备,用于将输入信号分割成不同频率的输出信号。
它基于信号处理和数字电路技术,可以广泛应用于无线通信、音频处理、仪器仪表等领域。
其工作原理可以简要描述如下:1. 输入信号:EDA分频器的输入信号可以是任何频率范围内的连续波形信号。
通常,输入信号会经过预处理电路进行滤波和放大,以增加后续分频电路的稳定性和可靠性。
2. 分频电路:分频电路是EDA分频器的关键组成部分,它能够将输入信号按一定比例分割成不同频率的输出信号。
分频电路的设计与实现可以采用不同的方法,包括模拟电路和数字电路。
常见的分频电路包括频率除法器、相位锁定环(PLL)以及数字信号处理器(DSP)等。
3. 输出信号:EDA分频器的输出信号是经过分频电路处理后的结果。
根据所需应用和设计要求,分频器可以提供不同数量和不同频率的输出通道。
输出信号可以用于进一步的信号处理、数据采集、通信传输等应用。
EDA分频器的性能指标包括分频精度、频率范围、干扰抑制能力和输出功率等。
分频精度是指分频器实际输出频率与理论输出频率之间的偏差,通常以百分比或ppm(百万分之一)表示。
频率范围是指分频器可以处理的输入信号的频率范围,一般以Hz为单位。
干扰抑制能力是指分频器抑制输入信号中噪声和干扰的能力,通常用信噪比(SNR)来衡量。
输出功率是指分频器输出信号的功率水平,常用单位是dBm。
总之,EDA分频器是一种常见的信号处理设备,通过将输入信号分割成不同频率的输出信号,可以满足各种应用对信号频率处理的需求。
它在无线通信、音频处理、仪器仪表等领域起到重要作用。
EDA 动态扫描 分频器 程序
1.动态扫描显示程序:library ieee;use ieee.std_logic_1164.all;entity dtsm_xs isport(clk:in std_logic;B14,B13,B12,B11,B10,B9,B8,B7,B6,B5,B4,B3,B2,B1:in std_logic_vector(3 downto 0);x:out std_logic_vector(6 downto 0);led_select: out std_logic_vector(13 downto 0));end;architecture behave of dtsm_xs issignal bcd_in: std_logic_vector(3 downto 0);signal cnt2: integer range 0 to 13;beginp1:process(clk)beginif clk'event and clk='1' thenif cnt2>13 thencnt2<=0;elsecnt2<=cnt2+1;end if;end if;end process;p2:process(cnt2,B14,B13,B12,B11,B10,B9,B8,B7,B6,B5,B4,B3,B2,B1)begincase cnt2 iswhen 0=>led_select<="11111111111110";bcd_in<=B1;when 1=>led_select<="11111111111101";bcd_in<=B2;when 2=>led_select<="11111111111011";bcd_in<=B3;when 3=>led_select<="11111111110111";bcd_in<=B4;when 4=>led_select<="11111111101111";bcd_in<=B5;when 5=>led_select<="11111111011111";bcd_in<=B6;when 6=>led_select<="11111110111111";bcd_in<=B7;when 7=>led_select<="11111101111111";bcd_in<=B8;when 8=>led_select<="11111011111111";bcd_in<=B9;when 9=>led_select<="11110111111111";bcd_in<=B10;when 10=>led_select<="11101111111111";bcd_in<=B11;when 11=>led_select<="11011111111111";bcd_in<=B12;when 12=>led_select<="10111111111111";bcd_in<=B13;when 13=>led_select<="01111111111111";bcd_in<=B14;end case;end process;p3:process(bcd_in)begincase bcd_in iswhen "0000"=>x<="1111110";when "0001"=>x<="0110000";when "0010"=>x<="1101101";when "0011"=>x<="1111001";when "0100"=>x<="0110011";when "0101"=>x<="1011011";when "0110"=>x<="1011111";when "0111"=>x<="1110000";when "1000"=>x<="1111111";when "1001"=>x<="1111011";when others=>x<="0000000";end case;end process;end;2.分频器设计程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity divider_1m isport(clk: in std_logic;clk_1Hz: out std_logic;clk_500Hz:buffer std_logic); end divider_1m;architecture rtl of divider_1m is signal cnt1:integer range 0 to 1999; signal cnt2:integer range 0 to 499; beginp1:process(clk)beginif clk'event and clk='1' thenif cnt1=cnt1'high thencnt1<=0;elsecnt1<=cnt1+1;end if;end if;end process;p2:process(clk,cnt1)beginif clk'event and clk='1' thenif cnt1>=999 thenclk_500Hz<='1';elseclk_500Hz<='0';end if;end if;end process;p3:process(clk_500Hz)beginif clk_500Hz'event and clk_500Hz='1' then if cnt2=cnt2'high thencnt2<=0;elsecnt2<=cnt2+1;end if;end if;end process;p4:process(clk_500Hz,cnt2)beginif clk_500Hz'event and clk_500Hz='1' then if cnt2>=249 thenclk_1Hz<='1';elseclk_1Hz<='0';end if;end if;end process;end rtl;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity divider_1m isport(clk: in std_logic;clk1s: out std_logic;clk2HZ:out std_logic);end divider_1m;architecture rtl of divider_1m issignal cnt:integer range 0 to 23999;signal cnt2:integer range 0 to 249;beginp1:process(clk)beginif clk'event and clk='1' thenif cnt=cnt'high thencnt<=0;elsecnt<=cnt+1;end if;end if;end process;p2:process(clk,cnt)beginif clk'event and clk='1' thenif cnt>=11999 thenclk1s<='1';elseclk1s<='0';end if;end if;end process;p3:process(clk1s)beginif clk1s'event and clk1s='1' then if cnt2=cnt2'high thencnt2<=0;elsecnt2<=cnt2+1;end if;end if;end process;p4:process(clk1s,cnt2)beginif clk1s'event and clk1s='1' thenif cnt2>=125 thenclk2HZ<='1';elseclk2HZ<='0';end if;end if;end process;end rtl;。
分频器的工作原理eda
分频器的工作原理eda
分频器是一种用于将输入信号划分为不同频率成分的电路或设备。
其工作原理可以通过以下步骤进行解释:
1. 输入信号:分频器的输入是一个带有特定频率的信号。
这个输入信号可以是正弦波、方波或脉冲等。
2. 分频器电路:分频器电路包括了几个不同的部件,例如振荡器、计数器、比较器和触发器等。
这些部件的组合形成了一个复杂的电路,用于将输入信号划分为不同频率的输出信号。
3. 振荡器:振荡器是用于产生特定频率的周期性信号的部件。
它可以由RC电路、晶体振荡器或其他类型的振荡电路实现。
振荡器的频率通常可以通过调节器件的参数进行调整。
4. 计数器:计数器是一个用于计数输入信号脉冲数量的部件。
它由多个触发器构成,每个触发器都根据输入信号的上升沿或下降沿触发。
计数器的输出是一个二进制编码,它表示了输入信号脉冲的数量。
5. 比较器:比较器是用于比较输入信号的频率与所需频率的部件。
比较器通常将输入信号与计数器的输出进行比较,并将结果提供给触发器。
6. 触发器:触发器是用于产生输出信号的部件。
触发器的触发条件通常由比较器提供。
一旦触发条件满足,触发器将产生一个输出信号,并将计数器的计数值重置为零。
通过不断重复上述步骤,分频器可以将输入信号分解为不同频率的输出信号。
这些输出信号可以在同一个电路中或者分别输出,用于不同的应用,如频率分析、频谱分析、数字通信等。
还可以根据特定的设计要求添加其他功能,如相位调整、幅值控制等。
EDA技术
实验一MAX+PLUSII使用(简单逻辑电路设计与仿真)一.实验目的1.学习并掌握MAX+PLUSII CPLD开发系统的基本操作。
2.掌握简单逻辑电路的设计方法与功能仿真技巧。
二.实验仪器设备3.PC机,1台4.MAX+PLUSII CPLD软件开发系统,1套三.实验预习要求5.预习教材中的相关内容;6.预习老师教学演示的相关内容;7.阅读并熟悉本次实验内容。
四.实验内容用原理图设计一个2位二进制的全加器并进行电路功能仿真与验证。
五.实验操作步骤(1)开机,进入MAX+PLUSII开发系统;(2)在D盘建立自己的目录(注意要以英文命名);(3)在主菜单中选NEW,从输入文件类型选择菜单中选图形编辑文件输入方式,见图1-1。
图1-1 输入文件类型选择菜单4)在空白屏幕上双击,从元件库中确定并选择基本元件。
注意:从prim子目录中选择输入引脚input和输出引脚output和相应的门电路。
见图1-2。
图1-2 符号元件库选择目录(5)在图形编辑窗口完成电路的连线及对引脚的命名。
图1-3 1位半加器的电路(6)打开FILE主菜单,选择SAVE AS,将画好的线路图以自己设定的某个名称保存在自己的目录下(文件的扩展名必是.gdf )。
(7)并将该设计文件指定成项目文件(选择菜单“FILE”→ project→ set project to current file).(8)对所设计的电路进行编译。
(选择菜单“FILE”→ project→ save&compile).编译成功会弹出如下信息。
(9)软件仿真。
在图1-1新建仿真波形文件,后缀名.SCF。
出现图1-4的仿真波形编辑界面。
图1-4仿真波形编辑界面(10)双击Name下方的空白处,在弹出的对话框中点击“List”按钮,添加输入、输出节点。
选择输入节点A,点OK,再选择输入节点B,点OK。
以此类推,将输入输出节点添加好。
(11)在时钟输入端处设置好输入端口A、B方波脉冲,点击屏幕左侧,弹出对话框中,设置时钟周期,A 为100ns,B 为150ns 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
为什么要打开 这个程序包
1
原因
VHDL是一种强数据类型语言. VHDL是一种强数据类型语言. 是一种强数据类型语言 要求设计实体中的每一个常数,信号,变量, 要求设计实体中的每一个常数,信号,变量, 函数以及设定的各种参量都必须具有确定的数据类型, 函数以及设定的各种参量都必须具有确定的数据类型, 并且相同数据类型的量才能互相传递和作用. 并且相同数据类型的量才能互相传递和作用. 对于算术运算符, 对于算术运算符,如"+","-"等,要求操作数必须是 , 等 整型.对于不是整型的数据要进行算术运算, 整型.对于不是整型的数据要进行算术运算,就必须 把非整型数据转换为整型数据. 把非整型数据转换为整型数据. 因此,就必须打开STD_LOGIC_UNSIGNED这个程序包. 因此,就必须打开STD_LOGIC_UNSIGNED这个程序包. STD_LOGIC_UNSIGNED这个程序包
7
2. 分频比不是2的整数次幂,但是偶数,占空比是0.5 分频比不是2的整数次幂,但是偶数,占空比是0.5
例7.2 对时钟信号CLK进行6分频. 对时钟信号CLK进行6分频. CLK进行 ARCHITECTURE RTL OF CLK_DIV IS STD_LOGIC_VECTOR(1 SIGNAL COUNT : STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL CLK_TEMP : STD_LOGIC; STD_LOGIC; BEGIN PROCESS(CLK) (CLK'EVENT CLK='1 ) BEGIN IF (CLK EVENT AND CLK= 1') THEN IF(COUNT="10 10") =>'0 ) IF(COUNT= 10 ) THEN COUNT <= (OTHERS => 0'); CLK_TEMP; CLK_TEMP <=NOT CLK_TEMP; ELSE COUNT <= COUNT +1; PROCESS; END IF ; END IF ;END PROCESS; CLK_DIV6 CLK_TEMP; CLK_DIV6 <= CLK_TEMP; END RTL; RTL;
10
功能仿真
4分频电路(占空比位1:2)仿真波形如图7.2所示.
11
10分频电路(占空比位1:2)仿真波形如图7.3所示.
12
5分频电路(占空比位2:5)仿真波形如图7.4所示.
13
5分频电路(占空比位1:2)仿真波形如图7.5所示.
14
周四实验:n进制加法计数译码 显示电路 (n=你学号后3位) 任务与要求:
19
为什么要使用分频器
因为只有一个外部时钟,而需要两个时 钟,一个是计数时钟,另一个是扫描时钟. 扫描时钟的频率远大于计数时钟.因此, 需要将扫描时钟进行分频.
如何设计分频器? 如何设计分频器?
20
பைடு நூலகம் 仿真
因为使用了动态扫描,故仿真波形不是很 直观.可以不做波形仿真.
21
管脚分配
rst: rst: en: en: clk: clk: ledseg0 ledseg0: ledseg1 ledseg1: ledseg2 ledseg2: ledseg3 ledseg3: ledseg4 ledseg4: ledseg5 ledseg5: ledseg6: ledseg6 ledsel0 ledsel0: ledsel1 ledsel1: ledsel2 ledsel2: cout: cout: P41 P42 P55 P72 P73 P78 P79 P80 P81 P82 P68 P69 P70 P116 K1 K2 CLK1 CLK1 LED_a LED_b LED_c LED_d LED_e LED_f LED_g LED_SEL0 LED_SEL0 LED_SEL1 LED_SEL1 LED_SEL2 LED_SEL2 OUT1 OUT1
8
3. 分频比是偶数,占空比是和分频比相同. 分频比是偶数,占空比是和分频比相同.
例7.3 将输入的时钟信号进行16分频,分频信号的占空比为 1:15. 将输入的时钟信号进行16分频, 16分频 15. ARCHITECTURE RTL OF CLK_DIV IS STD_LOGIC_VECTOR(3 SIGNAL COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN (CLK'EVENT CLK='1 ) IF (CLK EVENT AND CLK= 1') THEN IF(COUNT="1111 1111") =>'0 ) IF(COUNT= 1111 ) THEN COUNT <= (OTHERS => 0'); ELSE COUNT <= COUNT +1; PROCESS; END IF ; END IF ; END PROCESS; PROCESS(CLK) BEGIN (CLK'EVENT CLK='1 ) IF (CLK EVENT AND CLK= 1') THEN IF(COUNT="1111 1111") CLK_DIV16 IF(COUNT= 1111 ) THEN CLK_DIV16 <= '1'; 1; ELSE CLK_DIV <= '0'; 0; PROCESS; RTL; END IF ; END IF ;END PROCESS;END RTL; 9
说明
由BIT_VECTOR转换成 转换成 STD_LOGIC_VECTOR 由STD_LOGIC_VECTOR转换成 转换成 BIT_VECTOR 转换成STD_LOGIC 由BIT转换成 转换成 转换成BIT 由STD_LOGIC转换成 转换成 由INTEGER,UNSIGNED和SIGNED转换成 和 转换成 STD_LOGIC_VECTOR 转换成INTEGER 由UNSIGNED和SIGNED转换成 和 转换成
4
2.占空比(DUTY CYCLE) 占空比在电信领域中有如下含义: 在一串理想的脉冲序列中(如方 波),正脉冲的持续时间与脉冲总 周期的比值.例如:正脉冲宽度 1ΜS,信号周期4ΜS的脉冲序列占 空比为0.25或者为1:4.
5
使用VHDL基本语句设计分频器电路
分频器电路在VHDL中一般采用计数器 进行描述.根据要求的分频比和占空比 的不同,相应的描述方法也不同.
17
动态扫描
为什么要动态扫描? 因为EDA实验箱上的六个数码管的使能端 连接到3-8译码器,当3-8译码器输出有效时, 数码管点亮.在一个瞬间(时刻), 3-8译码 器的只有一个输出有效,只能点亮一个数码管. 但是现在要同时显示三个数码管,就必须要使 3-8译码器输出变换的很快,利用人眼的视觉残 余惰性,看上去好像同时点亮了三个数码管.
2
转换函数表 P34
函数
STD_LOGIC_1164包 包 TO_STDLOGICVECTOR(A) TO_BITVECTOR(A) TO_LOGIC(A) TO_BIT(A) STD_LOGIC_ARITH包 包 CONV_STD_LOGIC_VECTOR(A, 位长) 位长 CONV_INTEGER(A)
18
如何设计动态扫描电路?
经过以上分析,只要3-8译码器输出变换得很快,就能实现. 那么如何使3-8译码器输出快速变换呢? 只要在很短时间内给3-8译码器送不同的输入. 那么如何使3-8译码器的输入快速变换? 做一个3选1多路选择器,使选择信号快速变换,将3选1 的输出连到3-8译码器的输入即可. 如何使选择信号快速变换? 做一个快速的计数器,将计数输出连接到3选1的选择信号 即可. 如何做快速计数器?只要计数的时钟频率高就可以实现了.
1, VHDL设计n进制加法计数器 2, VHDL设计BCD-7段显示译码器 3 , VHDL设计动态扫描电路 4 , VHDL设计分频器电路 5, 原理图设计n进制带3个数码管显 示的加法n进制计数电路
15
n进制加法计数译码显示电路的实体符号
16
设计分析
n进制加法计数译码显示电路由n进制 加法分频器电路,计数器电路,显示电路, 动态扫描电路组成.其中,计数器电路, 译码显示电路就是项目6做过的计数显示 译码器电路,故本项目其实只要完成分频 器电路和动态扫描电路的设计.
6
1. 分频比是2的整数次幂,占空比是0.5 分频比是2的整数次幂,占空比是0.5
例7.1 对时钟信号CLK进行2分频,4分频,8分频,16分频. 对时钟信号CLK进行2分频, 分频, 分频,16分频 CLK进行 分频. ARCHITECTURE RTL OF CLK_DIV IS STD_LOGIC_VECTOR(3 SIGNAL COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN (CLK'EVENT CLK='1 ) IF (CLK EVENT AND CLK= 1') THEN IF(COUNT="1111 1111") =>'0 ) IF(COUNT= 1111 ) THEN COUNT <= (OTHERS => 0'); ELSE COUNT <= COUNT +1; END IF ; END IF ; PROCESS; END PROCESS; CLK_DIV2 COUNT(0 CLK_DIV4 COUNT(1 CLK_DIV2 <= COUNT(0);CLK_DIV4 <= COUNT(1); CLK_DIV8 COUNT(2 CLK_DIV16 COUNT(3 CLK_DIV8 <= COUNT(2);CLK_DIV16 <= COUNT(3); END RTL;