EDA分频器
EDA分频器
实验报告课程名称CPU设计实验项目实验一多级分频器图形设计实验仪器LP-2900 FPGA实验装置系别计算机科学与技术专业计算机科学与技术班级/学号计科1206/学生姓名实验日期 2014/05/20 成绩指导教师胡信裕实验一多级分频器图形设计一、实验目的1.学习使用QUARTUSⅡ图形编辑器,熟悉一般的图形编辑方法,通过本实验设计输入,了解和掌握图形设计的一般原理和方法。
2.学习使用QUARTUSⅡ波形编辑器, 熟悉一般的波形编辑方法,通过本实验设计输入,了解和掌握仿真波形文件设计的一般原理和方法。
3.熟悉和掌握QUARTUSⅡ的编译、仿真操作。
4.进一步熟悉应用图形编辑方法,了解层次化设计原理,通过本实验设计输入,掌握自顶向下、自底向上设计方法及各层图形文件的编译、仿真。
二、实验器材微机系统、LP-2900 FPGA实验装置、QUARTUSⅡ。
三、实验内容(一)设计要求1.功能要求:分频器输入频率为10 MHz,输出频率为1 Hz。
2.分频器顶层图形文件设计、例化模块图形文件设计。
3.仿真测试波形文件设计及功能验证。
(二)实验步骤1.上机,学习掌握QUARTUSⅡ工具软件的操作及层次化图形设计输入方法。
2.建立一个设计项目文件夹(Ex1),建立底层文件(counter_n10.bsf)顶层图形设计文件(Ex1.bsf),绘制各层原理图。
3.建立各子模块图形符号,更新顶层设计文件。
4.编译、纠错,完成各层图形文件设计。
5.设计各层图形文件的仿真测试波形文件。
6.完成仿真测试并对各层图形设计文件进行纠错,直至全部功能正确实现。
7.保存设计文件,完成实验报告。
(三)实验设计1.顶层项目设计及仿真:所谓分频器其实就是通过计时器的作用,将频率转换(通常为高频转换为低频),所以只需做一个计时器每隔一定的时间输出一个正脉冲即可。
我们分析到输入频率为10MHz=107,输出频率为1Hz,如果使用十六进制的计数器,使得计算比较复杂,电路也变得复杂,这里我们做一个十进制的加法计数器,那么要完成上述功能,只需要7个这样的10进制计数器即可。
EDA课设占空比可调分频器设计报告
华侨大学EDA设计报告--占空比可调分频器姓名:学号:班级:学院:信息科学与工程学院课题难度:0.9摘要本课题为可占空比可调分频器,系统要求为占空比3:10,输出信号频率3MHz;外部时钟信号12MHz。
从题目可知系统功能分为分频和占空比可调两个部分,由于系统要求是能发生占空比为3:10的波形,故先对输入波形十分频,然后调解其占空比为3:10.由于十分频后频率达不到系统要求,故在分频器前加锁相环起到倍频作用,总电路功能是对输入信号四分频并任意调节其占空比,满足设计要求。
关键字:分频器,占空比可调,EDA目录一、系统设计 (3)1、设计要求 (3)2.系统设计方案 (3)二、单元电路设计 (3)1.锁相环 (3)2.分频器 (4)三、软件设计 (5)1.软件设计平台 (5)2.实现方法 (5)四、系统测试 (6)1.软件测试 (6)2.硬件测试 (7)五、结论 (7)六、参考文献 (7)七、附录 (8)总体原理图 (8)分频器源程序 (8)一、系统设计1、设计要求原设计要求:占空比3:10,输出信号频率3MHz;外部时钟信号12MHz。
新扩展要求:占空比任意可调,对任意输入信号四分频。
2.系统设计方案方案一:先通过锁相环把频率扩大为原来的2.5倍,若系统输入频率为12MHz,则锁相环输出频率为30MHz,再把30MHz的方波经分频器十分频,同时按输入的占空比值调节占空比(例如,输入3,则占空比为30%),即可得到设计要求的波形。
方案二:通过锁相环直接调节输入波形的占空比,输出12MHz(锁相环输出频率须大于10MHz,故不能直接输出3MHz的波形),占空比为3:10的波形,再通过四分频器输出3MHz 的波形。
方案对比:两种方案均能实现设计要求,但方案一可以实现任意调节占空比,方案二只能输出固定为3:10占空比的波形,可知方案一更为先进而实用。
故选用方案一。
二、单元电路设计1.锁相环锁相环原理:锁相环是一种基于输入信号与输入信号反馈给振荡控制器的信号之间的相位差的闭环频率控制系统。
EDA 实验2简单分频时序逻辑电路设计 实验报告
时序电路设计实验目的:1.掌握条件语句在简单时序模块设计中的使用。
2.学习在Verilog模块中应用计数器。
实验环境:Windows 7、MAX+PlusⅡ10等。
实验内容:1.模为60的8421BCD码加法计数器的文本设计及仿真。
2.BCD码—七段数码管显示译码器的文本设计及仿真。
3.用For语句设计和仿真七人投票表决器。
4.1/20分频器的文本设计及仿真。
实验过程:一、模为60的8421BCD码加法计数器的文本设计及仿真:(1)新建文本:选择菜单File下的New,出现如图5.1所示的对话框,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。
图5.1 新建文本(2)另存为Verilog编辑文件,命名为“count60.v”如图5.2所示。
(3)在编辑窗口中输入程序,如图5.3所示。
图5.2 另存为.V编辑文件图5.4 设置当前仿真的文本设计图5.3 模为60的8421BCD码加法计数器的设计代码(4)设置当前文本:在MAX+PLUS II中,在编译一个项目前,必须确定一个设计文件作为当前项目。
按下列步骤确定项目名:在File菜单中选择Project 中的Name选项,将出现Project Name 对话框:在Files 框内,选择当前的设计文件。
选择“OK”。
如图5.4所示。
(5)打开编译器窗口:在MAX—plusⅡ菜单内选择Compiler 项,即出现如图5.5的编译器窗口。
图5.5 编译器窗口选择Start即可开始编译,MAX+PLUS II编译器将检查项目是否有错,并对项目进行逻辑综合,然后配置到一个Altera 器件中,同时将产生报告文件、编程文件和用于时间仿真用的输出文件。
(6)建立波形编辑文件:选择菜单File下的New选项,在出现的New对话框中选择“Waveform Editor File”,单击OK后将出现波形编辑器子窗口。
(7)仿真节点插入:选择菜单Node下的Enter Nodes from SNF选项,出现如图5.6所示的选择信号结点对话框。
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课程设计数字钟
一、设计题目要求题目:数字钟;要求:1.输入10HZ的时钟;(提示:对已有kHz频率时钟进行分频)2.能显示时、分、秒,24小时制;3.时和分有校正功能;注意:硬件资源的节约,否则器件内资源会枯竭二、设计过程(一)设计方案数字钟由以下几部分构成:1、分频器2、可调24小时计时器3、扫描电路。
分频器对已有的kHz频率时钟进行分频得到10Hz的时钟;可调24小时计时器具有计时及时和分的校正功能;扫描电路用来实现数字显示功能。
1.分频器的实现:用三个74160连接成146进制计数器,把1465HZ的时钟信号变成10HZ的时钟信号,电路图如下:图分频器逻辑图图分频器仿真图2.24小时计时功能的实现:用两个74160采用整体置数法分别构成六十进制计数器(如图一)和24进制计数器(如图二),用两个六十进制一个二十四进制计数器分别完成秒,分,小时的计时功能。
然后将三者与D触发器以及或门按图三连接,实现24小时计时(具有时和分的校正功能)。
(1)六十进制计数器模块:图一六十进制计数器逻辑图图六十进制计数器仿真图(2)二十四进制计数器模块:图二二十四进制计数器逻辑图图二十四进制计数器仿真图(3)二十四小时计时器(具有时和分的校正功能)图三二十四小时计时器(具有时和分的校正功能)逻辑图图二十四小时计时器仿真图3.扫描电路,即二十四小时显示功能的实现扫描电路由74161构成的六进制计数器如图四,四个八选一数据选择器74151和7449七段译码器构成,扫描电路图如图五所示(1)六进制计数器模块:图四六进制计数器逻辑图图六进制计数器仿真图(2)扫描电路模块图五扫描电路图扫描电路仿真图4.数字钟的实现:十进制计数器:图十进制计数器图十进制计数器仿真图分频器输出端接十进制计数器为计时器提供周期为1s的时钟脉冲。
按下图连接得到数字钟总电路。
图数字钟电路总图图数字钟仿真图(二)硬件实验情况对各个部分进行编译,仿真后,总电路下载到实验箱,并进行相应的外部电路连线,对设计的电路进行硬件的仿真,对电路进行验证:实验的显示和走时都符合电路的设计要求;时和分的校正也能实现。
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 ;。
分频器的工作原理eda
分频器的工作原理eda
分频器是一种用于将输入信号划分为不同频率成分的电路或设备。
其工作原理可以通过以下步骤进行解释:
1. 输入信号:分频器的输入是一个带有特定频率的信号。
这个输入信号可以是正弦波、方波或脉冲等。
2. 分频器电路:分频器电路包括了几个不同的部件,例如振荡器、计数器、比较器和触发器等。
这些部件的组合形成了一个复杂的电路,用于将输入信号划分为不同频率的输出信号。
3. 振荡器:振荡器是用于产生特定频率的周期性信号的部件。
它可以由RC电路、晶体振荡器或其他类型的振荡电路实现。
振荡器的频率通常可以通过调节器件的参数进行调整。
4. 计数器:计数器是一个用于计数输入信号脉冲数量的部件。
它由多个触发器构成,每个触发器都根据输入信号的上升沿或下降沿触发。
计数器的输出是一个二进制编码,它表示了输入信号脉冲的数量。
5. 比较器:比较器是用于比较输入信号的频率与所需频率的部件。
比较器通常将输入信号与计数器的输出进行比较,并将结果提供给触发器。
6. 触发器:触发器是用于产生输出信号的部件。
触发器的触发条件通常由比较器提供。
一旦触发条件满足,触发器将产生一个输出信号,并将计数器的计数值重置为零。
通过不断重复上述步骤,分频器可以将输入信号分解为不同频率的输出信号。
这些输出信号可以在同一个电路中或者分别输出,用于不同的应用,如频率分析、频谱分析、数字通信等。
还可以根据特定的设计要求添加其他功能,如相位调整、幅值控制等。
EDA 分频器设计
图2.1
占空比为0.5的3分频电路仿真结果如图2.2所示,k_or输出波形的周期为clk脉冲的周期的倍,且占空比为50%。
图2.2
占空比为0.25的8分频电路模型如图2.3所示,有一个脉冲端口(clk),和一个输出端口
图2.3
占空比为0.25的8分频电路仿真结果如图2.4所示,k1输出波形的周期为clk脉冲的周期的倍,且占空比为25%。
图2.4
、结果分析与实验体会
经过本次实验,我对用xlinx软件进行EDA设计有了进一步的认识和理解,经过上一次的实验,这一次可以说是轻车熟路,尽管如此,在实验过程中还是遇到了很多问题,但在同学和老师的帮助这些问题都一一解决。
在解决这些问题的过程中,我体会不同开发环境对VHDL编码的要求,Xilinx ISE FPGA与QuartusII开发环境的区别,了解到更加严格,在中可以编译通过的程序。
eda 7分频代码
eda 7分频代码
在 EDA(电子设计自动化)中,可以使用 Verilog 或 VHDL 等硬件描述语言来实现 7 分频电路。
以下是一个使用 Verilog 实现 7 分频的简单示例代码:
```verilog
module七分频( input clk, output clk_out );
reg [6:0] count;
reg clk_out;
always @(posedge clk) begin
if (count == 6'd6) begin
count <= 6'd0;
clk_out <= ~clk_out;
end else begin
count <= count + 1'd1;
end
end
endmodule
```
上述代码中,我们使用了一个计数器`count`来对输入时钟`clk`进行计数。
当计数器的值达到 6 时,我们将输出时钟`clk_out`取反,并将计数器重置为 0。
这样就实现了 7 分频的功能。
在实际应用中,可能需要根据具体的需求对代码进行修改。
例如,如果需要使用异步复位信号来重置计数器,可以添加一个复位信号`rst`,并在代码中添加相应的复位逻辑。
请注意,上述代码只是一个简单的示例,实际的 7 分频电路可能需要考虑更多的细节和优化。
在设计实际电路时,建议使用专业的 EDA 工具进行综合、仿真和验证,以确保电路的正确性和可靠性。
EDA简单组合时序电路设计8分频
比较器的输出端:
agb:输出a端信号与b端信号的比较值。
图2比较器模块仿真波形图
仿真结果说明:
当a端信号大于b端信号时,比如a为15而b为0时,输出端agb输出高电平信号“1”;反之,输出端agb输出低电平信号“0”。
always @ (posedge clk)
if(! rst)
begin
count <= 1'b0;
clk_odd <= 1'b0;
end
else
if ( count < N/4-1)
begin
count <= count + 1'b1;
clk_odd <= 1'b1;
end
else if (count < N/2-1)
4.实验步骤和程序分为三部分:一为基本步骤,二为程序流程图(也可以为算法的文字或公式说明)或状态图,三为程序源代码(可以不用全写,只写出关键部分的程序)及其说明。
5.实验结论和体会:一为实验结论,二为讨论当前设计的不足及其改进设想。
6.测试数据记录和结果分析:Verilog程序综合出来的RTL图(电路很复杂时不做要求);时序仿真结果(必备),可以抓图后打印出来贴在报告上,但必须对图里的结果有详细的文字说明。可参考以下案例格式写
#100;
#10 rst=1;
实验五 EDA 数控分频器的设计
实验五数控分频器的设计一、实验目的1、学习数控分频器的设计、分析和测试方法。
2、了解和掌握分频电路实现的方法。
3、掌握EDA技术的层次化设计方法。
二、实验原理数控分频器的功能就是当输入端给定不同的输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器来设计完成的,方法是将计数溢出位与预置数加载输入信号相接得到。
三、实验内容本实验要求完成的任务是在时钟信号的作用下,通过输入八位的按键开关输入不同的数据,改变分频比,使输出端口输出不同频率的时钟信号,过到数控分频的效果。
在实验中时,数字时钟选择2HZ作为输入的时钟信号,用八个按键开关做为数据的输入,当八个按键开关置为一个二进制数时,在输出端口输出对应频率的时钟信号,用输出端口接LED灯来观察频率的变化。
四、实验步骤1、打开QUARTUSII软件,新建一个工程。
2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序.4、 编写完VHDL 程序后,保存起来。
方法同实验一。
5、 对自己编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。
6、 编译仿真无误后,依照按键开关、LED 与FPGA 的管脚连接表(表1-1、表1-2)或参照附录进行管脚分配。
表5-1是示例程序的管脚分配表。
分配完成后,再进行全编译一次,以使管脚分配生效。
端口名 使用模块信号 对应FPGA 管脚说 明 INCLK CLOCK2 17 时钟为10KHZDATA0 键1 1 分频比数据 DATA 1 键2 2 DATA 2 键3 3 DATA 3 键4 4 DATA4 键5 5 DATA 5 键6 6 DATA 6 键7 7 DATA 7 键8 10 FOUTLED 灯 D111分频输出 表5-1 端口管脚分配表7、 “模式选择键”:按动该键能使实验板产生12种不同的实验电路结构。
EDA课程设计---基于FPGA的半整数分频器设计
课程设计报告设计名称 EDA(VHDL)课程设计专业班级电子0942姓名姬鹏冲学号 0904451213成绩评定电气与信息工程学院二0一二年一月课程设计要求和成绩考核办法(要求和成绩考核办法在封皮背面打印)1.不允许在教室或实验室内吸烟、吃零食,不准带无关人员到教室或实验室活动,否则扣平时表现分。
2.凡病事假超过3天(每天7小时),或迟到早退三次以上,或旷课两次(1天)以上,不得参加本次考核,按不及格处理,本次课程设计不能通过。
3.病事假必须有请假条,需经班主任或有关领导批准,否则按旷课处理。
4.课程设计的考核由指导教师根据设计表现(出勤、遵守纪律情况等)、设计报告、设计成果、答辩等几个方面,给出各项成绩或权重,综合后给出课程设计总成绩。
该设计考核须经教研室主任审核,主管院长审批备案。
5.成绩评定采用五级分制,即优、良、中、及格和不及格。
6.课程设计结束一周内,指导教师提交成绩和设计总结。
7.设计过程考核和成绩在教师手册中要有记载。
实习报告要求实习报告内容、格式各专业根据实习(设计)类别(技能实习、认识实习、生产实习、毕业实习等)统一规范,经教研室主任审核、主管院长审批备案。
注意:1.课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。
2.为了节省纸张,保护环境,便于保管设计报告,统一采用A4纸,课程设计报告建议双面打印(正文采用宋体五号字)或手写,左侧装订,订两个钉。
基于FPGA的半整数分频器设计一、系统设计任务及功能概述本系统是利用VHDL硬件描述语言和原理图输入方式,通过MUX+PLUSⅡ开发软件和ALTER 公司的FLEX系列EPF10K10LC84-4型FPGA方便的完成了半整数分频器电路的设计。
本系统是通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。
二、系统设计方案和程序设计1.系统设计方案我们采用脉冲吞吐计数器和锁相环技术,先设计两个不同分频比的整数分频器,然后通112use ieee.std_logic_unsigned.all;entity cont6 isport(clk:in std_logic;rst:in std_logic;en:in std_logic;qa,qb,qc:out std_logic);end entity cont6;architecture wode of cont6 issignal count:std_logic_vector(2 downto 0);beginprocess(clk,rst,en)isbeginif rst='1'then count<="000";elsif clk'event and clk='1'thenif en='1'thenif count="101" then count<="000";else count<=count+1;end if;end if;end if;end process;qa<=count(0);qb<=count(1);qc<=count(2);end architecture wode;模六计数器原件生成图如下:图一模六计数器原件生成上面的程序经编译、时序模拟在MAX+PLUSⅡ中可得到如图所示的仿真波形:图2 模6计数器仿真波形(2)半整数分频器设计现在通过设计一个分频系数为5.5的分频器给出用FPGA设计半整数分频器的一般方法。
EDA分频器设计论文
1 引言简易多功能信号发生器是信号发生器的一种,在生产实践和科研领域中有着广泛的应用。
在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。
信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。
它可以产生多种波形信号,如正弦波,三角波,方波和锯齿波等,因而广泛用于通信、雷达、导航、宇航等领域。
本设计是采用VHDL来实现的简易多功能信号发生器。
它能产生正弦波,三角波,方波和锯齿波。
且对各种波形的要求如下:(1)根据按键选择不同的波形(实现正弦波,三角波,方波和锯齿波);(2)各波形的频率范围为100Hz-20KHz;(3)各波形频率可调(通过按键控制频率的变化,步进值为500Hz);(4)用LED数码管实时显示输出波形的频率值;(5)用按键控制实现输出信号的幅度调节(幅度调节为2.5V和5V)。
2 设计原理2.1设计思想信号发生器产生、控制和显示的总体结构图如图所示图1 总体结构图外部输入一个50MHZ的时钟频率,经过频率控制单元控制其频率在要求的范围内,由4选1数据选择器实现对输出波形的选择,再通过D/A转换模块,将数字信号转换成模拟信号在示波器上显示出来。
2.2 总体原理图基于VHDL语言设计一个简易多功能信号发生器,通过选入输入信号,可以输出正弦波、三角波、方波和锯齿波四种波形信号。
信号发生器的控制模块可以用数据选择器实现,四种信号的信号选择可以用4选1数据选择器实现。
同时本设计使用原理图的方法,对正弦波、三角波、方波和锯齿波和4选1数据选择器元件进行调用。
简易多功能信号发生器的原理图如下:2.3 总体功能介绍由总体原理图可知,总体有六个输入,六个个输出。
其中一个时钟输入端clk,以一个频率调节输入端b,一个使系统输出波形的频率为最大的控制输入端h和一个使系统输出波形的频率为最小的控制输入端l,sel进行幅度调节,一个波形选择输入端a,波形输出b,五个频率显示数码管。
eda 分频器 奇数 偶数 vhdl
EDA技术与VHDL语言课程大作业设计题目:电子分频器姓名:李露班级:自动化10(2)学号: 41003010208目录1. 设计背景2. 设计方案2.1计数器模块2.2任意偶数分频模块2.3任意奇数分频模块2.4设计思路3. 数字分频器模块的VHDL源程序3.1 任意偶数分频的VHDL源程序(dvf.VHD)3.2 任意奇数分频的VHDL源程序(dvf.VHD)4. 源程序总体描述5. 波形仿真图6. 总结7. 参考文献1.设计背景EDA技术作为计算机硬件设计中的关键设计技术之一,是每一位将来希望从事涉及电子系统与集成电路设计研究领域工作的人所必须掌握的一门技术。
时序逻辑电路作为其主要设计与研究的电路类型之一,在EDA中占据着重要的位置,而时钟信号在时序逻辑电路有占据着重要的位置,它决定了时序逻辑单元中的状态何时更新。
时钟信号作为一种有固定周期并与运行状态无关的信号量,在边沿触发机制中,只有上升沿或下降沿才是有效信号,才能控制逻辑单元状态量的改变。
为满足不同的时序电路要求,对时钟信号进行分频也显得格外重要基于EDA技术的数控分频器设计,采用的是用软件的方法设计硬件的EDA (电子设计自动化)技术。
作为EDA技术重要组成部分的VHDL 硬件描述语言是一种符合IEEE工业标准的建模语言。
用它设计的数控分频器可作为一个模块,移植到很多数字电路系统中,且极易修改,只要修改程序中的某几条语句,就可使最大分频系数得到改变。
整个设计过程简单、快捷。
可从根本上减少硬件调试的时间,为总体设计完成争取宝贵的时间。
2. 设计方案2.1 计数器模块通过计数器来记录clk的信号个数,分别有以上升沿计数和以下降沿计数。
偶数计数器可采用以上升沿计数,即每当clk从0变为1时记一个数,下降沿计数是当clk从1变为0时记一个数2.2 任意偶数分频模块定义一个计数器对输入时钟进行计数,在计数的前一半时间里,输出高电平,在计数的后一半时间里,输出低电平,这样输出的信号就是占空比为50%的偶数分频信号。
EDA技术分频器
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)
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;
6
1. 分频比是2的整数次幂,占空比是0.5 分频比是2的整数次幂,占空比是0.5
EDA数字分频器的实验
现代EDA技术课程设计实验报告题目:基于FPGA技术的数字频率计的设计学院:研究生学院专业名称:检测技术与自动化装置班级: 2010 (7)班学号:100081102001学生姓名:司红伟指导教师:徐精华二O一一年五月基于FPGA技术的数字频率计的设计1.实验目的(1)熟悉QUARTUS的基本使用。
(2)熟悉FPGA实验开发系统的基本使用。
(3)学习VHDL基本单元电路的综合设计应用。
2.实验内容设计并调试好一个八位十进制的数字频率计,要求具有以下基本功能:1)测频范围:1HZ-50MHZ。
2)测频精度:测频采用等精度频率测量,其全范围相对误差恒为万分之一。
3)响应时间:小于5S。
4)具有记忆显示功能,即在测量过程中不刷新数据,测量结束才将测量结果送显示。
3.试验原理(1)采用直接测频法。
直接测频法就是在确定的闸门时间内,记录被测信号的脉冲个数。
由于闸门时间通常不是待测信号的整数倍,这种方法的计数值也会产生最大为±1个脉冲误差。
进一步分析测量准确度:设待测信号脉冲周期为Tx,频率为Fx,当测量时间为T=1s时,测量准确度为&=Tx/T=1/Fx。
由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。
因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。
(1)采用等精度测频法。
频率是周期信号在单位时间内的重复次数,电子计数器可以对一个周期信号发生的次数,进行计数。
如果某一信号在T 秒时间间隔内的重复次数为N 次,则该信号的频率f 为在直接测频率的基础上发展的多周期同步测频率法,在目前的测频系统中得到越来越多广泛的应用。
多周期同步法测频原理如图3.1 所示。
图3.1 等精度测频原理波形图首先,由控制线路给出闸门开启信号,此时,计数器并不开始计数,而是等到被测信号的上升沿到来时,来真正开始计数。
然后,两组计数器分别对被测信号子和标准信号分别进行计数,要等到被测信号下降沿到来时才真正结束计数,完成一次测量过程。
EDA课程设计分频器钟福茹资料
EDA课程设计设计题目: 竞赛抢答器姓名:刘云龙学号:2010508140班级:10级2班专业:电子信息院系:信息科学与技术学院指导老师:田敏实验日期:2013 年 1 月13 日一、前言 (2)1.1课程设计的意义 (2)1.2 VHDL语言简介 (2)二、方案选择及原理分析 (3)2.1 通用可控分频器硬件方案选择 (3)2.2 通用可控分频器原理分析 (3)2.2.1 偶数分频器 (3)2.2.2奇数分频器 (4)三、软件设计 (5)3.1系统分析 (5)3.2系统的结构和模块划分 (5)3.2.1固定数值分频模块 (6)3.2.2按键和显示模块 (7)3.2.3占空比和分频系数可控分频模块 (7)3.3 可控分频的实现 (8)四、软硬件的系统测试 (8)五、心得体会 (8)附录 (9)参考文献 (16)一、前言分频器是数字系统设计中的一种基本电路,我们往往需要通过分频器得到我们所需要的时钟频率。
在实际设计中我们经常用到的为整数分频,有时要求等占空比,有时又要求非等占空比。
在同一个设计中有时要求多种形式的分频,通常由计数器或计数器的级联结构构成各种形式的任意占空比偶数分频及非等占空比的奇数分频,实现起来比较简单,对于等占空比的奇数分频以及可控的分频实现起来会较为困难。
本文利用VHDL硬件描述语言,使用Altera公司的FPGA芯片,设计了一种能够满足上述要求,而且较为通用的可控分频器。
只需在分频器的输入端用按键输入相应的分频系数,就可以得到所需的频率。
1.1课程设计的意义随着电子技术的高速发展,FPGA/CPLD以其高速、高可靠性、串并行工作方式等突出优点在电子设计中受到广泛的应用,而且代表着未来EDA设计的方向。
FPGA/CPLD的设计采用了高级语言,如VHDL语言AHDL语言等,进一步打破了软件与硬件之间的界限,缩短了产品的开发周期。
所以采用先进的FPGA/CPLD取代传统的标准集成电路、接口电路已成为电子技术发展的必然趋势。
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实验三 数控分频器设计
实验三数控分频器设计【实验目的】1.设计实现一个根据不同的输入,将时钟信号进行分频2.掌握分频计数器类型模块的Verilog描述方法;3.学习设计仿真工具的使用方法;4.学习层次化设计方法;【实验内容】1.用Verilog 语言设计带计数允许和复位输入的数控分频器。
2.编制仿真测试文件,并进行功能仿真。
3.下载并验证分频器功能【实验原理】数控分频器的功能就是当在输入端给定不同数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相加即可。
【程序源代码】(加注释)module FDIV (clk,d,fout,pfull); //数控分频器顶层设计描述input [7:0]d; //定义一个七位数输入input clk; //定义一个时钟信号output fout ,pfull; //定义输出和记满标志位pfullreg[7:0] Q; //定义一个7位寄存器变量reg full;reg pfull;reg fout;always @ (posedge clk) //开始过程语句posedge clk位敏感变量beginif (Q==d) //当有上升沿敏感信号时Q==dbegin Q=0; //Q被清零full=1; // full被赋值为1endelsebeginQ=Q+1; full =0; //否则Q=Q+1,full=0pfull=full; //将full赋值给pfullendalways @ (posedge pfull) //过程语句posedge pfull为敏感变量fout=~fout; // fout取反以后赋值给fout endmodule //结束模块【仿真和测试结果】【实验心得和体会】通过本次试验,我们对数控分频器的设计与原理都有了初步的了解,例如给定100HZ的时钟信号,然后给定d=5的输入,而后输出信号的频率为10HZ。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称CPU设计
实验项目实验一多级分频器图形设计
实验仪器LP-2900 FPGA实验装置
系别计算机科学与技术
专业计算机科学与技术
班级/学号计科1206/
学生姓名
实验日期 2014/05/20 成绩
指导教师胡信裕
实验一多级分频器图形设计
一、实验目的
1.学习使用QUARTUSⅡ图形编辑器,熟悉一般的图形编辑方法,通过本实验设计输入,了解和掌握图形设计的一般原理和方法。
2.学习使用QUARTUSⅡ波形编辑器, 熟悉一般的波形编辑方法,通过本实验设计输入,了解和掌握仿真波形文件设计的一般原理和方法。
3.熟悉和掌握QUARTUSⅡ的编译、仿真操作。
4.进一步熟悉应用图形编辑方法,了解层次化设计原理,通过本实验设计输入,掌握自顶向下、自底向上设计方法及各层图形文件的编译、仿真。
二、实验器材
微机系统、LP-2900 FPGA实验装置、QUARTUSⅡ。
三、实验内容
(一)设计要求
1.功能要求:分频器输入频率为10 MHz,输出频率为1 Hz。
2.分频器顶层图形文件设计、例化模块图形文件设计。
3.仿真测试波形文件设计及功能验证。
(二)实验步骤
1.上机,学习掌握QUARTUSⅡ工具软件的操作及层次化图形设计输入方法。
2.建立一个设计项目文件夹(Ex1),建立底层文件(counter_n10.bsf)顶层图形设计文件(Ex1.bsf),绘制各层原理图。
3.建立各子模块图形符号,更新顶层设计文件。
4.编译、纠错,完成各层图形文件设计。
5.设计各层图形文件的仿真测试波形文件。
6.完成仿真测试并对各层图形设计文件进行纠错,直至全部功能正确实现。
7.保存设计文件,完成实验报告。
(三)实验设计
1.顶层项目设计及仿真:
所谓分频器其实就是通过计时器的作用,将频率转换(通常为高频转换为低频),所以只需做一个计时器每隔一定的时间输出一个正脉冲即可。
我们分析到输入频率为10MHz=107,输出频率为1Hz,如果使用十六进制的计数器,使得计算比较复杂,电路也变得复杂,这里我们做一个十进制的加法计数器,那么要完成上述功能,只需要7个这样的10进制计数器即可。
Quartus II 6.0中提供了众多74系列的芯片包括74LS160(同步十进制加法计数器)和
74LS161(同步十六进制加法计数器)芯片,但为了更深入的理解模块及子模块以及顶层文件的相关概念,我们使用4个T触发器制作一个10进制的同步加法计数器。
T触发器的特征为:T端为1时反转,T端为0时保持。
我们分析到要想计数,最低一位的二进制位每来一个脉冲就会变化一次,而高位变化的条件为地位全都为1,通过上述分析使用T触发器连线做成的10进制计数
器如图1-1:
图1-1
图中我们为相关的连线节点命了名,这样做有两个好处:①可以方便以后的测试②可以通过连接不同组件的某些线段命同样的名实现线段的逻辑上的连接。
这样很方便,避免了在布线上的一些复杂的考虑。
我们使用异步清零端在第11个信号即1010信号到来的时候,使其输出0000.这样就实现10进制的功能。
将其设为顶层文件然后编译,看是否有错如图1-2
图1-2
发现没有错误然后我们新建一个波形文件,用于测试,添加所有节点(如图1-3)
图1-3
然后对CLK节点添加时钟信号以及对CI添加有效电平信号,然后在Process菜单项中选择Simulation Tool,弹出仿真工具对话框按下Generate Functional Netlist按钮,完成后按下Start完成后,按下Report按钮。
弹出模拟的波形图如图1-4
图1-4
自此,底层模块文件实现。
2.子模块设计及仿真
在上述counter_n10文件窗口激活的情况下,选择文件下拉菜单的Create菜单项,打开子菜单,选择Create symbol file for current file.然后新建一个Block Diagram/Schema file 然后双击窗体空白我们添加7个新建立的counter_n10同步十进制加法计数器模块将其级联,形成一个107进制的加法计数器如图1-5
图1-5
然后将其设为顶层文件编译,发现没有错误,新建波形文件按照上面的步骤,添加节点,然后为CLK添加脉冲。
选择仿真工具,然后进行仿真(不要忘记按下Generate Functional netlist按钮),产生报告如下图1-6
图1-6
四、实验总结
1.通过此次实验我掌握了QuartusII图形编辑器编辑的一般方法及仿真中用到的相关波形的产生方法以及简单的仿真的步骤。
理解了QuartusII中所涉及顶层文件,模块,层次化等相关
概念。
掌握了自顶向下的设计方法以及各层图形文件的编译、仿真。
2.这次实验中用到的较多的操作是组件的添加以及连线、节点的定义以及编译和模拟仿真的操作。
要注意连接两条线的时候如果中间有一个X证明改线段没有连接,定义节点的时候选中一条线段直接输入其名即可,编译之前不要忘记将要编译的文件设置为顶层文件,仿真的时候要注意选取的CLK的频率以及持续的时间是否合理,注意在Simulation Tool对话框要先选择波形文件,然后按下Gnerate Functional netlist按钮再按Start,最后生成报告,看结果是否正确。
3.实验过程个出现的主要问题还是连线的问题,很多时候由于两条应该连在一起的线没有连上,出现一些问题。
另外编译如果出现问题,在下方的Processing窗口会输出相关信息,只需要点击那些红色的错误即可定位的错误的位置。
另外注意模拟频率和持续时间的选取。
4.通过对比设计要求,我完成了上述所有功能。
并清楚理解了相关概念,熟悉了操作流程。
5.这次实验的内容相当丰富,学到了很多软件操作的细节,理解了相关设计思想及相关的概念。
感受到了QuartusII软件的功能的强大以及对硬件开发效率的巨大提升。
简化的设计开发的时间。