EDA分频器实验教案

合集下载

EDA 分频器设计

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分频器实验报告 含有实验程序、仿真图像 三分频 八分频

EDA分频器实验报告  含有实验程序、仿真图像  三分频  八分频
always @(negedge clk_in) begin
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课程设计 分频器 钟福茹资料

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实验三 数控分频器设计

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。

EDA实验教案1

EDA实验教案1
2、引脚锁定以及硬件下载测试提示:建议选实验电路模式6,用数码8显示译码输出(PIO46--PIO40),键8、键7、键6、键5四位控制输入,硬件验证译码器的工作性能。
四、实验报告要求
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其分析报告。
(12)给电路板图加上铺铜,铺铜与地相连,并且去除死铜,最后完成的印制电路板图如图2-7所示。
(13)将文件存盘退出.
图2-5完成自动布线图2-6连接完毕的电路
图2-7最后完成的电路板图
3.思考题
(1)简述自动布局的步骤。
(2)自动布线前,要进行哪些设置?
(3)何种类型的电路,在设计印制板时要使用铺铜?
五、实验思考和总结
1、讨论语句WHEN OTHERS=>NULL的作用。对于不同的VHDL综合器,此句是否具有相同含义和功能?
2、用VHDL例化语句(参考实验2)按图3-25的方式,以本章第一节实验三和本节实验一为底层元件,完成顶层文件设计,并重复以上实验过程。注意图3-25中的tmp是4位总线,led是7位总线。对于引脚锁定和实验,建议仍选实验电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接时钟信号clock0。
Macrofunctions项,然后选Counters项。
图3-4两位十进制计数器工作波形
向原理图编辑窗中调入宏功能元件如图3-2所示,直接在上端的Symbol Name栏中键入器件的名称,如74390等,然后点击OK键即可。如果要了解74390内部的情况,可以用鼠标在其上双击。最后根据图2-1在原理图编辑窗中完成该电路的全部绘制。绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式:

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分频器的设计

EDA实验报告学院:班级:学号:指导老师:姓名:一、实验目的:学习数控分频器的设计,分析和测试方法。

二、实验原理:不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有计时器溢出位与预置数加载输入信号相接即可。

三、实验内容1、将4096HZ的时钟信号分频为1HZ的时钟信号。

实验原理图:实验源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dvf isport(clk_in:in std_logic;fout:out std_logic);end;architecture one of dvf issignal cnt: integer range 0 to 2048;signal clk_out:std_logic;beginprocess(clk_in)beginif clk_in'event and clk_in = '1' thenif cnt=2048 thencnt <=0;clk_out <=not clk_out;elsecnt<=cnt+1;end if;end if;end process;fout<=clk_out;end one;功能仿真波形图:实验引脚图:实验箱上工作情况:当CLOCK5接4096HZ的时钟信号时,扬声器每秒钟响一次。

2、如实验内容1将4096HZ的时钟信号分频为2HZ、8HZ、16HZ的时钟信号。

3、编写四选一MUX,可用按键控制选择分频后的某时钟。

实验原理图:实验源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dvf isport(clk:in std_logic;s: in std_logic_vector(1 downto 0);clk_out:out std_logic);end;architecture one of dvf issignal clk1_out:std_logic;signal clk2_out:std_logic;signal clk3_out:std_logic;signal clk4_out:std_logic;signal cnt2048:integer range 0 to 2048; signal cnt1024:integer range 0 to 1024; signal cnt256:integer range 0 to 256; signal cnt128:integer range 0 to 128;beginfen1: process(clk)beginif clk'event and clk = '1' thenif cnt2048=2048 thencnt2048 <=0;clk1_out <=not clk1_out;elsecnt2048<=cnt2048+1;end if;end if;end process;fen2: process(clk)beginif clk'event and clk = '1' thenif cnt1024=1024 thencnt1024 <=0;clk2_out <=not clk2_out;elsecnt1024<=cnt1024+1;end if;end if;end process;fen8: process(clk)beginif clk'event and clk = '1' thenif cnt256=256 thencnt256 <=0;clk3_out <=not clk3_out;elsecnt256<=cnt256+1;end if;end if;end process;fen16: process(clk)beginif clk'event and clk = '1' thenif cnt128=128 thencnt128 <=0;clk4_out <=not clk4_out;elsecnt128<=cnt128+1;end if;end if;end process;xuan: PROCESS(s)BEGINCASE s ISWHEN "00" => clk_out<=clk1_out;WHEN "01" => clk_out<=clk2_out;WHEN "10" => clk_out<=clk3_out;WHEN "11" => clk_out<=clk4_out;WHEN OTHERS => NULL;END CASE;END PROCESS;END;功能仿真波形:实验引脚图:实验箱上工作情况:CLOCK5接4096HZ的时钟信号,按键1、键2使输入分别为00、01、10、11,扬声器输出声音频率分别为1HZ、2HZ、8HZ、16HZ。

EDA数控分频器设计的实验报告

EDA数控分频器设计的实验报告
青岛理工大学
实验报告
专业班级:电子092姓名:林明辉学号:200901122
实验课程:EDA技术实用教材
项目名称:
一.实验目的:1.了解并掌握QuartusⅡ使用方法
2.学Байду номын сангаас8位数码扫描器显示电路设计
3.实验箱的运用
实验原理:其中每个数码管的8个段:h、g、f、e、d、c、b、a(h是小数点)都分别连在一起,8个数码管分别由8个选通信号k1、k2、…k8来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,k3为高电平,其余选通信号为低电平,这时仅k3对应的数码管显示来自段信号端的数据,而其它7个数码管呈现关闭状态。根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1、k2、…k8分别被单独选通,并在此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。
二.实验步骤:1.先编好底层文件—数控分频器程序
2.编好8位数码扫描显示电路程序
3.把两个底层文件设置成符号文件
4.调用以上两个符号文件连成以下电路图
三.实验仪器:电脑一台
实验箱一个
四.数据记录及处理:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三:整数分频器的设计
一实验目的
了解利用类属设计可配置的重用设计技术。

二实验原理
利用类属n 可以改变分频器的分频系数,输出q的频率是输入信号clk频率的1/n。

通过给n赋不同的值,就可以得到需要的频率。

三实验器材
EDA实验箱
四实验内容
1.参考教材第5章中5.3.1,完成整数分频器的设计。

2.修改5.
3.1中的分频系数n,观察仿真波形和实验箱输入/输出信号的变化。

3.在试验系统上硬件验证分频器的功能。

在实验三中,建议将实验箱的实验电路结构模式设定为模式7。

输入信号clk由键7的输出来模拟,输入信号reset_n由键8模拟,输出信号q接至LED:D14。

当然,也可以由实验者设定到其它功能相似的键或者LED。

代码:(参考教材第5章中5.3.1)
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity div is
generic(n:integer:=8);
port(clk,reset_n:in std_logic;
q: out std_logic);
end div;
architecture behavl_div of div is
signal count:integer range n-1 downto 0;
begin
process(reset_n,clk)
begin
if reset_n='0' then q<='0'; count<=n-1;
elsif(clk'event and clk='1' and clk'last_value='0')then
count<=count-1;
if count>=(n/2)then q<='0';
else q<='1';
end if;
if count<=0 then count<=n-1;
end if;
end if;
end process;
end behavl_div;
五实验注意事项
1.编写代码时一定要书写规范
2模式的选择和引脚的配置一定要合理
六实验报告
简述实验过程,将实验项目分析设计,仿真和测试写入实验报告。

相关文档
最新文档