文档库 最新最全的文档下载
当前位置:文档库 › 实验八8 分频器的设计与实现

实验八8 分频器的设计与实现

实验八8 分频器的设计与实现
实验八8 分频器的设计与实现

实验八 8分频器的设计与实现

一.实验目的

1.使用ISE软件设计并仿真;

2.学会程序下载。

二.实验内容

使用ISE软件进行8分频器的设计与实现。

三.实验步骤

1. 编写文本文件并编译

2. 软件仿真

3. 进行硬件配置

四.实验原理

1. ISE软件是一个支持数字系统设计的开发平台。

2. 用ISE软件进行设计开发时基于相应器件型号的。

注意:软件设计时选择的器件型号是与实际下载板上的器件型号相同。

3. 8分频器的真值表如图8-1所示,其最高位q2的输出就是对输入信号的8分频。本实验中用Verilog语句来描述。

图8-1 8分频器真值表

(1)新建工程

双击桌面上“ISE Design Suite 14.7”图标,启动ISE软件(也可从开始菜单启动)。每次打开ISE都会默认恢复到最近使用过的工程界面。当第一次使用时,由于还没有历史工程记录,所以工程管理区显示空白。选择File New--Project 选项,在弹出的对话框中输入工程名称并指定工程路径。

点击Next按钮进入下一页,选择所使用的芯片及综合、仿真工具。计算机上安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中找到。在图中我们选用了Spartan6 XC6SLX16芯片,采用CSG324封装,这是NEXYS3开发板所用的芯片。另外,我们选择Verilog作为默认的硬件描述语言。

再点击Next按钮进入下一页,这里显示了新建工程的信息,确认无误后,点击Finish就可以建立一个完整的工程了。

(2)设计输入和代码仿真

在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New Source命令,选择Verilog Module输入,并输入Verilog文件名。

单击Next按钮进入端口定义对话框。其中Module Name栏用于输入模块名,

这里是count3a,下面的列表框用于端口的定义。Port Name表示端口名称,Direction表示端口方向(可选择为input、output或inout),MSB表示信号最高位,LSB表示信号最低位,对于单信号的MSB和LSB不用填写。当然,端口定义这一步我们也可以略过,在源程序中再行添加。

定义了模块的端口后,单击Next进入下一步,点击Finish完成创建。这样,ISE就会自动创建一个Verilog模块的模板,并且在源代码编辑区打开。简单的注释、模块和端口定义已经自动生成,接下来的工作就是将代码编写完整。

输入代码后,我们还需要对模块进行测试。在工程管理区将view设置为Simulation,在任意位置单击鼠标右键,并在弹出的菜单中选择New Source,在类型中选择Verilog Test Fixture,输入测试文件名,单击下一步。这时所有工程中的模块名都会显示出来,我们选择要进行测试的模块。点击Next ,再单击Finish按钮,ISE会在源代码编辑区自动生成测试模块的代码。我们看到,ISE 已经自动生成了基本的信号并对被测模块做了例化。我们的工作就是在

initi al…end块中的“//Add stimulus here”后面添加测试向量。

完成测试文件编辑后,确认工程管理区中view选项设置为Simulation,这时在过程管理区会显示与仿真有关的进程。右键单击其中的Simulate Behavioral Model项,选择弹出菜单中的Process Properties项,会弹出属性设置对话框,其中Simulation Run Time就是仿真时间的设置,可将其修改为任意时长。

仿真参数设置完后,就可以进行仿真。首先在工程管理区选中测试代码,然后在过程管理区双击Simulate Behavioral Model,ISE将启动ISE Simulator,可以得到仿真结果,如图8-2所示。

图8-2

(3)综合与实现

在工程管理区的view中选择Implementation,然后在过程管理区双击Synthesize-XST,就可以开始综合过程。

另外,要实现设计,还需要为模块中的输入输出信号添加管脚约束,这就需要在工程中添加UCF文件。在工程管理区单击鼠标右键,点击New Source,选择Implementation- Constraints File,出现一个空白的约束文件,我们就可以为设计添加各种约束。如果综合步骤没有语法错误,XST能够给出初步的资源消耗情况,点击Design Summary,即可查看。

在过程管理区双击Implementation Design选项,就可以自动完成实现步骤。如果设计没有经过综合,就会启动XST完成综合,在综合后完成实现过程。经过实现后能够得到精确的资源占用情况。在Design Summary即可看到具体的资源占用情况。

(4)器件配置

硬件配置是FPGA开发最关键的一步,只有将HDL代码下载到FPGA芯片中,才能进行调试并最终实现相应的功能。首先我们必须生成能下载到硬件中的二进制比特文件。双击过程管理区的Generate Programming File,ISE就会为设计生成

相应的二进制比特文件。

然后利用USB-MiniUSB缆线,来为开发板提供电源和数据下载。我们只需上网下载免费的Digilent Adept软件,即可快速实现Nexys3开发板上FPGA的配置。用USB-MiniUSB缆线连接开发板和PC,打开开发板的电源开关,然后启动Digilent Adept软件。系统开始自动连接FPGA设备,成功检测到设备后,会显示出JTAG链上所用芯片。

界面上将显示检测到NEXYS3开发板上的器件FPGA(XC6SLX16)。这里我们对FPGA进行配置。在Browse中找到之前生成的设计的二进制比特文件,并点击旁边的Program按钮,软件就开始对FPGA进行配置。配置成功后,下面的状态栏会显示Programming Successful。至此,器件配置成功,我们就可以在器件上验证预期的设计有没有很好的得以实现。

五.实验结论

补充:(仅供参考)

1.8分频器的verilog源代码

module count3a (

input wire clr,

input wire clk,

output reg [2:0] q

);

wire [2:0] D;

assign D[2] = ~q[2] & q[1] & q[0]

| q[2] & ~q[1]

| q[2] & ~q[0];

assign D[1] = ~q[1] & q[0]

| q[1] & ~q[0];

assign D[0] = ~q[0];

// 3个D触发器

always @ (posedge clk or posedge clr)

if (clr == 1)

q <= 0;

else

q <= D;

endmodule

2.8分频器的约束文件

NET "clr" LOC="T10";

NET "clk" LOC="V10";

NET "q[0]" LOC ="T12";

NET "q[1]" LOC ="V12";

NET "q[2]" LOC ="N10";

注意:输出信号频率高,需用示波器观测。

哈工大FPGA设计与应用分频器设计实验报告

FPGA设计与应用 分频器设计实验报告 班级:1105103班 姓名:郭诚 学号:1110510304 日期:2014年10月11日

实验性质:验证性实验类型:必做开课单位:电信院学时:2学时 一、实验目的 1、了解Quartus II软件的功能; 2、掌握Quartus II的HDL输入方法; 3、掌握Quartus II编译、综合、适配和时序仿真; 4、掌握Quartus II管脚分配、数据流下载方法; 5、了解设计的资源消耗情况; 6、掌握分频器和计数器的实现原理; 7、掌握数码管的静态和动态显示原理 二、实验准备(1分) 2.1 EP2C8的系统资源概述 逻辑单元8,256 M4K RAM 块(4k比特+512校验比特) 36 总的RAM比特数165,888 嵌入式乘法器18 锁相环PLLs 2

2.2 工程所用到的FPGA引脚及功能说明 工程所用到的FPGA引脚及功能说明: PIN_23是时钟引脚; PIN_114 PIN_117 PIN_127 PIN_134是数码管的位选引脚; PIN_133 PIN_116 PIN_110 PIN_112 PIN_128 PIN_118 PIN_115是数码管段选信号引脚;实验所用的LED是共阴级连接 2.3 数码管的动态显示原理 动态显示是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O 线控制,当输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于FPGA对位选通COM端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

实验一 八位全加器的设计

电子科技大学电子工程学院标准实验报告(实验)课程名称EDA技术与应用 姓名:孙远 学号:2010021030002 指导教师:窦衡 电子科技大学教务处制表

实验一八位全加器的设计 一、预习内容 1.结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程; 2.八位全加器设计原理。 二、实验目的 1.掌握图形设计方法; 2.熟悉QuartusⅡ软件的使用及设计流程; 3.掌握全加器原理,能进行多位加法器的设计。 三、实验器材 PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干 四、实验要求 1、用VHDL设计一个四位并行全加器; 2、用图形方式构成一个八位全加器的顶层文件; 3、完成八位全加器的时序仿真。 五、实验原理与内容 1、原理: 加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。

2、实现框图: 1)四位加法器 四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。 通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。因此,减小进位的延迟对提高运算速度非常有效。下图是减少了进位延迟的一种实现方法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。因此,总的延迟是两级门的延迟,其高速也就自不待言。 2)八位加法器 用两个并行四位加法器实现一个八位加法器的框图如下:

VHDL非整数分频器设计实验报告

非整数分频器设计 一、 输入文件 输入时钟CLK: IN STD_LOGIC 二、 设计思路 1. 方法一:分频比交错 (1) 确定K 值 先根据学号S N 确定M 和N :为了保证同学们的学号都不相同,取学号的后四位,即N S =1763 ()mod 1920(mod 17)0 17mod 17 S S S N N if N then M else M N =+=== 由以上公式,得N=(1763 mod 19)+20=35 M=(1763 mod 17)=12 然后根据下式计算分频比K 的值: 8()9N M M K N -+= = =8.34285714 (2) 确定交错规律 使在35分频的一个循环内,进行12次9分频和23次8分频,这样,输出F_OUT 平均为F_IN 的8.34285714分频。为使分频输出信号的占空比尽可能均匀,8分频和9分频应‘交替’进 (3) 设计框图:要求同步时序设计

(4)代码 在实体内定义两个进程(PROCESS P1和PROCESS P2),一个进程控制输出8/9分频,一个进程控制35分频周期比例输出。控制器输出FS_CTL信号控制输出是8分频还是9分频,分频器输出C_ENB信号来控制35分频计数器计数。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY DIV IS--定义实体,实体名DIV PORT(F_IN: IN STD_LOGIC;--输入时钟信号 F_OUT: OUT STD_LOGIC--输出时钟信号 ); END DIV; ARCHITECTURE A OF DIV IS SIGNAL CN1: INTEGER RANGE 0 TO 7;--8分频计数器 SIGNAL CN2: INTEGER RANGE 0 TO 8;--9分频计数器 SIGNAL CN: INTEGER RANGE 0 TO 34;--整体计数器 SIGNAL C_ENB: STD_LOGIC;--整体计数器时钟驱动信号 SIGNAL FS_CTL: STD_LOGIC;--控制8、9分频比例信号,高电平8分频,低电平9分频 BEGIN P1:PROCESS(F_IN)--8、9分频计数进程 BEGIN IF (F_IN'EVENT AND F_IN='1') THEN IF(FS_CTL='0') THEN--9分频 IF CN2=8 THEN--计数 CN2<=0; ELSE CN2<=CN2+1; END IF; IF CN2>4 THEN--控制输出,占空比0.5 F_OUT<='1'; ELSE F_OUT<='0'; END IF; IF CN2=8 THEN--控制整体计数器驱动信号 C_ENB<='1'; ELSE C_ENB<='0'; END IF; ELSE IF CN1=7 THEN--8分频计数,同上 CN1<=0; ELSE CN1<=CN1+1; END IF; IF CN1>3 THEN F_OUT<='1'; ELSE F_OUT<='0'; END IF; IF CN1=7 THEN C_ENB<='1'; ELSE C_ENB<='0'; END IF; END IF; END IF; END PROCESS P1; P2:PROCESS(C_ENB)--整体计数进程 BEGIN IF (C_ENB'EVENT AND C_ENB='1') THEN--由驱动信号驱动 IF CN=34 THEN--计数 CN<=0; ELSE CN<=CN+1; END IF; IF (CN=34 OR CN=2 OR CN=5 OR CN=8 OR CN=11 OR CN=14 OR CN=17 OR CN=20 OR CN=23 OR CN=26 OR CN=29 OR CN=32) THEN FS_CTL<='0'; ELSE FS_CTL<='1'; END IF;--8、9分频比例分配 ELSE CN<=CN; END IF; END PROCESS P2; END A;

分频器实验报告

分频器实验报告 分频器实验报告 start simulation直至出现 simulation as suessful,仿真结束。观察仿真结果。 时序仿真 图 : 六.实验过程所出现的问题及其解决 通过本次实验,初步掌握了语言的初步设计,收获颇多。但在实验过 程中也遇到了许多的问题,通过自己的独立思考和老师同学的相互讨 论对这个实验有了进一步的了解和认识。在最初建立工程的地方出现 了不少问题,因为没有详细阅读教材,导致无法成功建立工程运行程 序,最后认真熟读教材后,解决了问题。通过对错误的分析和解决, 让自己更好的掌握这一软件的基础操作,为下一次试验打下了见识的 基础。篇五: 八位十进制分频器实验报告 重庆交通大学信息科学与工程学院综合性实 验报告 姓名: 赵娅琳学号 10950214 班级:

通信工程专业201X级 2班 实验项目名称: 8位16进制频率及设计 实验项目性质: 设计性 实验所属课程: 数字设计基础 实验室 BEGIN IF CLKK'EVENT AND CLKK='1' THEN --1Hz时钟2分频 Div2CLK <= NOT Div2CLK; END IF; END PROCESS; PROCESS BEGIN IF CLKK='0' AND Div2CLK='0' THEN RST_CNT<='1'; --产生计数器清零信号 ELSE RST_CNT <='0'; END IF; END PROCESS; Load <= NOT Div2CLK; CNT_EN <= Div2CLK; END behav; 3、十进制计数模块

8位全加器的设计

课程设计报告 课程名称数字逻辑课程设计 课题8位全加器的设计 专业计算机科学与技术 班级1202 学号34 姓名贺义君 指导教师刘洞波陈淑红陈多 2013年12月13日

课程设计任务书 课程名称数字逻辑课程设计 课题8位全加器的设计 专业班级计算机科学与技术1202 学生姓名贺义君 学号34 指导老师刘洞波陈淑红陈多审批刘洞波 任务书下达日期:2013年12月13日 任务完成日期:2014年01月21日

一、设计内容与设计要求 1.设计内容: 本课程是一门专业实践课程,学生必修的课程。其目的和作用是使学生能将已学过的数字电子系统设计、VHDL程序设计等知识综合运用于电子系统的设计中,掌握运用VHDL或者Verilog HDL设计电子系统的流程和方法,采用Quartus II等工具独立应该完成1个设计题目的设计、仿真与测试。加强和培养学生对电子系统的设计能力,培养学生理论联系实际的设计思想,训练学生综合运用数字逻辑课程的理论知识的能力,训练学生应用Quartus II进行实际数字系统设计与验证工作的能力,同时训练学生进行芯片编程和硬件试验的能力。 题目一4线-16线译码器电路设计; 题目二16选1选择器电路设计; 题目三4位输入数据的一般数值比较器电路设计 题目四10线-4线优先编码器的设计 题目五8位全加器的设计 题目六RS触发器的设计; 题目七JK触发器的设计; 题目八D触发器的设计; 题目九十进制同步计数器的设计; 题目十T触发器的设计; 每位同学根据自己学号除以10所得的余数加一,选择相应题号的课题。 参考书目 1 EDA技术与VHDL程 序开发基础教程 雷伏容,李俊,尹 霞 清华大学出版 社 978-7-302-22 416-7 201 TP312VH/ 36 2 VHDL电路设计雷伏容清华大学出版 社 7-302-14226-2 2006 TN702/185 3 VHDL电路设计技术王道宪贺名臣? 刘伟 国防工业出版 社 7-118-03352-9 2004 TN702/62 4 VHDL 实用技术潘松,王国栋7-8106 5 7-81065-290-7 2000 TP312VH/1 5 VHDL语言100 例详解 北京理工大学A SIC研究所 7-900625 7-900625-02-X 19 99 TP312VH/3 6 VHDL编程与仿真王毅平等人民邮电出版 社 7-115-08641-9 20 00 7 3.9621/W38V 7 VHDL程序设计教程邢建平?曾繁泰清华大学出版 社 7-302-11652-0 200 5 TP312VH/27 /3

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)另存为V erilog编辑文件,命名为“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所示的选择信号结点对话框。按右上侧的“List”按钮,在左边的列表框选择需要的信号结点,然后按中间的“=>”按钮,单击“OK”,选中的信号将出现在波形编辑器中。 图5.6 仿真节点插入

八位十进制分频器实验报告

重庆交通大学 信息科学与工程学院 综合性实验报告 姓 名: 赵娅琳 学 号 10950214 班 级: 通信工程专业2010级 2班 实验项目名称: 8位16进制频率及设计 实验项目性质: 设计性 实验所属课程: 数字设计基础 实验室(中心): 现代电子实验中心 指 导 教 师 : 李 艾 星 实验完成时间: 2012 年 6 月 18 日

教师评阅意见: 签名:年月日 实验成绩: 一、课题任务与要求 1、验证8位16进制频率计的程序; 2、根据8位16进制频率计的程序设计8位10进制频率计; 二、设计系统的概述 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率,通常情况下计算每秒内待测的脉冲个数,此时闸门时间为1秒,闸门时间也可以大于或小于1秒。频率信号易于传输,抗干扰性强,可以获得较好的测量精度。 数字频率计的关键组成部分包括一个测频控制信号发生器、一个计数器和一个锁存器,另外包括脉冲发生器、姨妈驱动电路和显示电路。 工作过程:系统正常工作时,脉冲信号发生器输入1HZ的标准信号,经过测频控制信号发生器的处理,2分频后即可产生一个脉宽为1秒的时钟信号,以此作为计数闸门信号。测量信号时,将被测信号通过计数器作为时钟。当技术闸门信号高平有效时,计数器开始计数,并将计数结果送入锁存器中。设置锁存器的好处是现实的数据稳定,不会由于周期的清零信号而不断闪烁。最后将所存的数值由外部的译码器并在数码管上显示。 三、单元电路的设计与分析(重点描述自己设计部分) 1、八位十进制计数顶层模块设计 (1)、此模块是元件例化语句将各个元件(测频控制模块、十进制计数模块、测频锁存器模块)连接形成一个整体,完成最终频率计所期望的功能。

数控分频器实验报告

《数控分频实验》 姓名:谭国榕班级:12电子卓越班学号:201241301132 一、实验目的 1.熟练编程VHDL语言程序。 2.设计一个数控分频器。 二、实验原理 本次实验我是采用书上的5分频电路进行修改,通过观察其5分频的规律进而修改成任意奇数分频,再在任意奇数分频的基础上修改为任意偶数分频,本次实验我分为了三个部分,前两部分就是前面所说的任意奇数分频和任意偶数分频,在这个基础上,再用奇数输入的最低位为1,偶数最低位为0的原理实现合并。 三、实验步骤 1.任意奇数分频 程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY DIV1 IS PORT(CLK:IN STD_LOGIC; D:IN INTEGER RANGE 0 TO 255; K1,K2,K_OR:OUT STD_LOGIC ); END; ARCHITECTURE BHV OF DIV1 IS SIGNAL TEMP3,TEMP4:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL M1,M2:STD_LOGIC; --SIGNAL OUT1,OUT2,OUT3:STD_LOGIC; BEGIN PROCESS(CLK,TEMP3) BEGIN IF RISING_EDGE(CLK) THEN IF(TEMP3=D-1) THEN TEMP3<="00000000"; ELSE TEMP3<=TEMP3+1; END IF; IF(TEMP3=D-(D+3)/2) THEN M1<=NOT M1; ELSIF (TEMP3=D-2) THEN M1<=NOT M1; END IF; END IF; END PROCESS; PROCESS(CLK,TEMP4) BEGIN IF FALLING_EDGE(CLK) THEN IF(TEMP4=D-1) THEN TEMP4<="00000000"; ELSE TEMP4<=TEMP4+1; END IF; IF(TEMP4=D-(D+3)/2) THEN M2<=NOT M2; ELSIF (TEMP4=D-2) THEN M2<=NOT M2;

8位全加器设计

基于原理图的8位全加器设计 实验目的:熟悉利用Quartus II的原理图输入方法设计简单的组合电路,掌握层次化设 计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 实验原理:一个8位全加器可以由8个1位全加器串行构成,即将低位加法器的进位输 出cout与相临的高位加法器的最低位输入信号cin相接。 试验任务:1.完成半加器和全加器的设计。 2.建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,完成编译、综合、适配、仿真和硬件测试。 实验步骤: 一、1位全加器设计 1.建立工程文件夹adder,路径d:\adder。 2.输入设计项目和存盘 原理图编辑输入流程如下: (1)打开Quartus II,选择file—>new命令,在弹出的窗口中选择block diagram/schematic file 选项,单击ok按钮后将打开原理图编辑窗口。 (2)在编辑窗口中的任何一个位置上右击,将弹出快捷菜单,选择inset—>symbol命令,将弹出元件输入对话框。 (3)单击“…”按钮,找到基本元件库路径d:/altera/90/quartus/libraries/primitives/logic项(假设软件安装在D盘),选中需要的元件,单击“打开”按钮,此元件即显示在窗口中,然后单击symbol窗口中的ok按钮,即可将元件调入原理图编辑窗口中。也可以在name栏输入需要的元件名。调入好元件和引脚后,连接好电路,再输入各引脚名。 (4)选择file—>save as命令,选择刚才为自己的工程建立的目录d:\adder,将已设计好的原理图取名为h_adder.bdf,并存盘此文件夹内。 3.将设计好的项目设置成可调用的元件 为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成可调用的元件。在打开半加器原理图文件的情况下,选择file—>create/update—>create symbol file for current file命令,即可将当前文件h_adder.bdf变成一个元件符号存盘,以待高层次设计中调用。4.设计全加器顶层文件 打开一个原理图编辑窗口,方法同前。在新打开的原理图窗口中双击,在弹出的窗口中选择project选项,选择h_adder.bdf,并调入其他元件,连接好电路。以f_adder.bdf名存在同一路径d:\adder中。 二、8位全加器设计 1.将刚设计好的1位全加器设置成可调用的元件,方法同上。 2.调入元件,连接电路图,以8f_adder.bdf保存于同一路径d:\adder中的文件夹中。 3.将顶层文件8f_adder.bdf设置为工程。 4.编译与仿真 原理图与仿真波形分析:

实验一 QUARTUS II入门和分频器设计

实验报告 课程名称EDA技术与VHDL设计 实验项目Quartus II入门 实验仪器计算机、Quartus II 系别信息与通信工程学院 专业电子信息工程 班级/学号电信1201 / 2012010970 学生姓名张宗男 实验日期 成绩 指导教师

实验一 QUARTUS II入门和分频器设计 一、实验目的 1.掌握QUARTUS II工具的基本使用方法; 2.掌握FPGA基本开发流程和DE2开发板的使用方法; 3.学习分频器设计方法。 二、实验内容 1.运用QUARTUS II 开发工具编写简单LED和数码管控制电路并下载到DE2 实验开发板。2.在QUARTUS II 软件中用VHDL语言实现十分频的元器件编译,并用电路进行验证,画出仿真波形。 三、实验环境 1.软件工具:QUARTUS II 软件;开发语言:VHDL; 2.硬件平台:DE2实验开发板。 四、实验过程 1.设计思路 (1)、 18个开关控制18个LED灯,通过低位四个开关的‘1’‘0’控制LED灯上7段灯的显示(2)、 实现10分频IF(count="1001") THEN count<="0000"; clk_temp<=NOT clk_temp; 达到9的时候,把“0000”给到cout,然后clk_temp 信号翻转,从而实现10分频。 2.VHDL源程序 (1)、 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY e_zhangzongnan IS PORT(SW :IN STD_LOGIC_VECTOR(0 TO 17); HEX0 :OUT STD_LOGIC_VECTOR(0 TO 6);

用原理图输入方法设计8位全加器

实验一 用原理图输入方法设计8位全加器 1.实验目的和要求 本实验为综合性实验,综合了简单组合电路逻辑,MAX+plus 10.2的原理图输入方法, 层次化设计的方法等内容。其目的是通过一个8位全加器的设计熟悉EDA 软件进行电子线路设计的详细流程。学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。 2.实验原理 1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor 为同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。 (1) 半加器的设计: 半加器表达式:进位:co=a and b 和:so=a xnor ( not b ) 半加器原理图如下: (2) 全加器的设计: 全加器原理图如下: 3.主要仪器设备(实验用的软硬件环境) 实验的硬件环境是: 微机 I113co a so b 1 0101 0110001 10 0co so b a not xnor2 and2 I113ain cout cout ain bin sum cin bin sum cin f_adder or2a f e d u3 u2 u1 b a c co so B co so B h_adder A h_adder A

EDA实验开发系统 ZY11EDA13BE 并口延长线,JTAG延长线 实验的软件环境是: MAX+plus 10.2 4.操作方法与实验步骤 ●按照4.1 节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。 ●建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真、硬件测试。 5.实验内容及实验数据记录 1.设计半加器: 用原理图输入的方法输入一个半加器的逻辑图,如图所示: 然后在assign里头的device里头根据试验箱的芯片设置Decices,接着就设置输入输出荧脚的输入端和输出端,设置如表1所示: 表1.半加器引脚端口设置 引脚名称设置端口 ain input Pin=45 bin input Pin=46 co output Pin=19 so output Pin=24 然后Save,名称为h_add.gdf,再save & Compile。 结果如图所示:

EDA分频器实验教案

实验三:整数分频器的设计 一实验目的 了解利用类属设计可配置的重用设计技术。 二实验原理 利用类属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模式的选择和引脚的配置一定要合理 六实验报告 简述实验过程,将实验项目分析设计,仿真和测试写入实验报告。

八位二进制加法器课程设计

长安大学电子技术课程设计 课题名称______________ 班级______________ 姓名______________ 指导教师 日期______________

前言 8位二进制加法器,它的功能主要是实现两个8位二进制数的相加,其结果的范围应该在00000000到111111110之间,即000到510之间。加法器在实际应用中占据着十分重大的地位,从我们呱呱坠地起,到小学,到初中,到高中,到大学,到工作,等等。我们能离开加法吗,不能!加法可以说是一切运算的基础,因此8位二进制加法器的设计是很有必要的。 那么我们如何设计一个8位二进制加法器呢?在实际应用中,我们通常输入的是十进制数,一个八位二进制数所对应的最大的十进制数是255,于是输入两个范围在000到255之间的数,首先通过二-十进制编码器将输入的三位十进制数的个位、十位、百位分别转换为8421BCD码,得到两个十二位字码,再通过加法器将它们相加,逢10进1,得到一个新的十二位字码,再用7447数字显示译码器将这个十二位字码还原到原来的三位十进制数。最后输出的就是一个三位十进制数,其范围在000到510之间。通过上述方法我们实现了八位二进制数的相加,从而达到了题目的要求。 为实现上述目的,我们需要查阅相关资料。通过查阅,理解以及加以运用,我们认识到了收集资料的不易性,但同时也得到了不少收获,可以说是有苦有甜。同时,虽然我们基本设计出了这个八位二进制加法器,但是不必可避免地会产生一些问题,比如说在连线上可能有更简便的途径,在元件的选用上可能还有其它更简便的方法,在控制上可能还不够精简,等等。我们希望在以后的实践中能找出更好的方法,也希望能吸取这次设计中的不足,逐渐改善。另外,在电子设计的过程中,与同组同学之间的合作配和是十分重要的。我在此次设计中也充分认识到这一点的重要性,我相信这次的电子设计能够为我们将来的工作奠定一定的基础。

分频器的设计

分频器的设计 一、课程设计目的 1.学会使用电路设计与仿真软件工具Hspice,熟练地用网表文件来描述模拟电路,并熟悉应用Hspice内部元件库。通过该实验,掌握Hspice的设计方法,加深对课程知识的感性认识,增强电路设计与综合分析能力。 2.分频器大多选用市售成品,但市场上出售的分频器良莠不齐,质量上乘者多在百元以上,非普通用户所能接受。价格在几十元以下的分频器质量难以保证,实际使用表现平庸。自制分频器可以较少的投入换取较大的收获。 二.内容 分频器-概述 分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成分,分频器是一种主要变换手段。早期的分频器多为正弦分频器,随着数字集成电路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器,即使在输入输出信号均为正弦波时也往往采用模数转换-数字分频-数模转换的方法来实现分频。正弦分频器除在输入信噪比低和频率极高的场合已很少使用。

分频器-作用 分频器是音箱中的“大脑”,对音质的好坏至关重要。功放输出的音乐讯号必须经过分频器中的各滤波元件处理,让各单元特定频率的讯号通过。要科学、合理、严谨地设计好音箱之分频器,才能有效地修饰喇叭单元的不同特性,优化组合,使得各单元扬长避短,淋漓尽致地发挥出各自应有的潜能,使各频段的频响变得平滑、声像相位准确,才能使高、中、低音播放出来的音乐层次分明、合拍,明朗、舒适、宽广、自然的音质效果。 在一个扬声器系统里,人们把箱体、分频电路、扬声器单元称为扬声器系统的三大件,而分频电路对扬声器系统能否高质量地还原电声信号起着极其重要的作用。尤其在中、高频部分,分频电路所起到的作用就更为明显。其作用如下: 合理地分割各单元的工作频段; 合理地进行各单元功率分配; 使各单元之间具有恰当的相位关系以减少各单元在工作中出现的声干涉失真; 利用分频电路的特性以弥补单元在某频段里的声缺陷; 将各频段圆滑平顺地对接起来。 分频器-分类 1)功率分频器:位于功率放大器之后,设置在音箱内,通过LC滤波网络,将功率放大器输出的功率音频信号分为低音,中音和高音,分别送至各自扬声器。连接简单,使用方便,但消耗功率,出现音频谷

用原理图方法设计8位全加器

实验报告一 一、实验目的 熟悉利用QuartusII的原理图输入方法设计简单电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。 二、实验内容 1.根据工作原理,完成1位半加器和全加器的设计; 2.建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成 编译、综合、适配、仿真。 三、实验环境 计算机、QuartusII软件 四、实验步骤 1.根据半加器工作原理,建立电路并仿真,并将元件打包。 (1)电路 (2)仿真: 仿真结果分析:S为和信号,当A=1,B=0或A=0,B=1时,和信号S为1,否则为0.当A=B=1时,产生进位信号,及CO=1。 (3)打包后的文件:

2.利用半加器构成一位全加器,并打包。 (1)电路 (2)仿真 仿真结果分析:CI为来自低位的进位,S=A xor B xor CI,即:当A,B,CI中有一位为高电平‘1’或者三位同时高电平为‘1’,则S=1,否则S=0;当A,B,CI有两位或者三位同为高电平‘1’时,产生进位信号CO=‘1’。 (3)打包后的文件 3.利用全加器构成8位全加器,并完成编译、综合、适配、仿真。 (1)电路

(2)仿真 仿真结果分析:八位全加器,和S分别与A,B 对应。当来自第七位的进位信号为‘1’、A 的最高位和B的最高位三者有两个位高电平‘1’时,则产生进位信号CO=‘1’。 五、实验结果与讨论 实验的仿真结果与预计的结果一致,所以所设计的电路是正确的。不足的地方有: 1、对软件还不够熟悉,所以操作的有点慢;

2、设计电路时,由于数字电路的知识有些开始淡忘了,所以应当及时去补 缺补弱。 六、总结 思考题:为了提高加法器工作速度,如何改进以设计的进位方式? 答:采用超前进位。串行加法器的第i位进位是由0~(i-1)决定的,而超前进位是事先得出每一位全加器的进位输出信号,而无需再从低位开始向高位逐位传递进位信号了,这就有效地提高了工作速度了。

实验报告1 简单分频器

课程名称:FPGA指导老师:_竺老师_______成绩:__________________ 实验名称:简单分频器的设计实验类型:_______同组学生姓名:__俞杰草______ 一、实验目的和要求(必填)二、实验内容和原理(必填) 三、主要仪器设备(必填)四、操作方法和实验步骤 五、实验数据记录和处理六、实验结果与分析(必填) 七、讨论、心得 一.实验目的 a)熟悉Xilinx ISE软件,学会设计,仿真,综合和下载。 b)熟悉实验板电路设定频率的方法。 二.实验内容 根据实验板上晶振的输入频率50MHz,如果直接用这么高的时钟频率来驱动LED的闪烁,人眼将无法分辨。因此本实验着重介绍如何通过分频计数器的方式将50MHz的输入频率降低为人眼可分辨的频率(10Hz以下),并在实验板的LED2~LED5上显示出来。 三.实验记录 【实验现象】 当将rst_n信号对应的开关拨下,led0熄灭,其他所有led亮。 当将rst_n信号对应的开关往上拨,有7盏led亮,1盏led灭,且灭的led从led0向led7,再跳回led0不断循环往复的移动。 【主要程序段分析】 reg[22:0]cnt; always@(posedge clk) if(rst_n)cnt<=23'd0; else cnt<=cnt+1'b1;//带复位键的位宽为24位的分频计数器,以降低闪烁频率reg[7:0]led; always@(posedge clk) if(rst_n) led<=8'b00000001;//按键复位 else if((cnt==23'h7fffff)&&(led==8'b10000000)) led<=8'b00000001;//循环一周后从D5开始下一周的循环 else if(cnt==23'h7fffff) led<=led<<1;//左移一位,右端补零 assign led_d2=~led[2]; assign led_d4=~led[4];

利用Quartus II软件和原理图输入法设计八位加法器

摘要 Quartus II是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。Quartus II提供完善的timing closure 和LogicLock 基于块的设计流程。QuartusII design是唯一一个包括以timing closure 和基于块的设计流为基本特征的programmable logic device (PLD)的软件。Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统一工作流程。 本文介绍了微机上的QuartusⅡ软件系统的使用,并用该软件分别设计半加器,全加器,并编译连接设计一个8位加法器的过程。 关键词:8位加法器;EDA(电子设计自动化);QuartusⅡ(可编程逻辑软件)

目录 第1章概述 (1) 1.1EDA的概念 (1) 1.2硬件描述语言概述 (2) 第2章QUARTUS II (4) 2.1QUARTUSII概述 (4) 2.2QUARTUSII建立工程项目 (4) 2.3QUARTUSII建立原理图输入文件 (6) 2.4QUARTUSII层次化项目设计 (9) 第3章8位加法器设计 (12) 3.18位加法器分析 (12) 3.2设计过程 (12) 参考文献 (15) 结论 (16)

第1章概述 1.1 EDA的概念 EDA是电子设计自动化(Electronic Design Automation)的缩写,从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。 由于它是一门刚刚发展起来的新技术,涉及面广,内容丰富,理解各异,所以目前尚无一个确切的定义。但从EDA技术的几个主要方面的内容来看,可以理解为EDA技术就是以计算机为工具,设计者在EDA软件平台上,以硬件描述语言为系统逻辑描述的主要表达方式完成设计文件,然后由计算机自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度[1]。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 EDA技术是伴随着计算机、集成电路、电子系统的设计发展起来的,至今已有30多年的历程。大致可以分为三个发展阶段。20世纪70年代的CAD(计算机辅助设计)阶段:这一阶段的主要特征是利用计算机辅助进行电路原理图编辑,PCB 布同布线,使得设计师从传统高度重复繁杂的绘图劳动中解脱出来。20世纪80年代的QAE(计算机辅助工程设计)阶段:这一阶段的主要特征是以逻辑摸拟、定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题,使设计能在产品制作之前预知产品的功能与性能[2]。20世纪90年代是EDA(电子设计自动化)阶段:这一阶段的主要特征是以高级描述语言,系统级仿真和综合技术为特点,采用“自顶向下”的设计理念,将设计前期的许多高层次设计由EDA工具来完成[3]。 1.1.1 EDA的发展 从目前的EDA技术来看,中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分的设计人员工发复杂的片上系

FPGA 8位全加器的原理图设计

3-8. 在QuartusII中用原理图输入法设计8位全加器 1、实验目的:熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 2、实验原理:先由一个半加器构成一个全加器,8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin 相接。 3、实验内容及过程: 在D盘下建立一个新的文件夹为ADDER8。 本设计的思路是先设计1个1位半加器,因此建立新建文件夹D:/ ADDER8/h_adder;要利用1位的半加器构造1位的全加器,因此建立新建文件夹D:/ADDER8/f_adder;要利用1位的全加器构造8位的全加器,因此建立新建文件夹D:/ADDER8/adder8; (1)、用原理图输入法构造1位半加器 打开QuartusII软件,选择菜单File-New,在弹出的New对话框中选择原理图文件编辑输入项Block Diagram/Schematic File(如图4-1所示),按ok按钮后将打开原理图编辑窗口。 (2)建立一个初始原理图。在编辑窗口中的任何一个位置上右击鼠标,选择输入原件项Insert-Symbol,或者直接双击原理图编辑窗口,于是将弹出如图4-2所示原件对话框。在坐下的Name栏键入输入引脚符号input。然后单击ok按钮。即可将元件调入原理图编辑窗口。 图4-1 图4-2 (3)原理图文件存盘。选择菜单File-Save As,将此原理图文件存于刚才建立的目录D:/ ADDER8/h_adder 中,取文件名为:h_adder.bdf。然后将h_adder.bdf设定为工程,创建工程。 (4)绘制半加器原理图。在工程管理窗口,双击工程名,再次进入原理图编辑窗。双击原理图任何位置,再次弹出4-2的对话框。分别在Name栏键入原件名and2、not、xnor和输出引脚output,并用单击拖动的方法连接电路。然后分别在input和output引脚的PIN NAME上双击使其变为黑色,再用键盘输入各引脚名:a、b、co和so。最后作为本工程的顶层原理设计图如4-3。 图4-3 (5)仿真测试半加器。全程编译后,对此半加器工程进行方针测试,仿真波形如下图所示4-4。

相关文档
相关文档 最新文档