




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘要 在复杂的数字逻辑电路中,经常会用到不同的时钟信号。本文主要介绍了在 MAX+PlusII 开发软件下得用 Verilog 硬件描述语言来设计分频器。在进行分频器设计时, 采用的是一种逐层深入的设计理念,由易到难、由浅入深。可实现 2-256 之间的任意奇数、 偶数、半整数分频。此外,本文还介绍了 Altera 公司的 EP1K100QC208-3 型 CPLD,使得分 频器的设计显得更加实际化,从而也体现了一种实践求真知的求学理念。 关键词关键词: Verilog HDL; CPLD;数字逻辑电路设计; VHDL 咸阳师范学院 07 届本科毕业设计 2 Abstract In the complex numeral logic circuit, the different clock signal can be used frequently. This article mainly introduced under the MAX+PlusII development software to descript the frequency divider with the Verilog hardware description language. When carries on the frequency divider designs, used one kind of design idea with the level thorough, from the simple to the difficult , from the shallow to the deep. May realize 2-256 between free odd number, the even number, the half Integer frequency division. In addition, this article also introduced Altera Corporations EP1K100QC208-3 CPLD, itcauses the frequency dividers designmore actually, thus also manifested one practice to ask the true knowledge to study idea. Keywords:Verilog HDL ; CPLD; Numeral logic circuit design ;VHDL 基于 Verilog HDL 与 CPLD 的分频器设计 3 引言引言 计算机技术和微电子工艺的发展,使得现代数字系统的设计和应用进入了新的阶段。 电子设计自动化(EDA)技术在数字系统设计中起的作用越来越重要,新的工具的设计方 法不断推出,可编程逻辑器件不断增加新的模块,工能越来越强,硬件设计语言也顺应形 势,推出新的标准,更加好用,更加便捷 1。 本文主要以 CPLD 和 Verilog HDL 硬件描述语言对分频器的设计为主线。 Max+PlusII 软年工具也在设计中发挥了重要作用,它为分频器的设计提代了平台和工 具,它将设计者的设计思想自动、高效地转化为物理电路或网表结构,并以直观、便捷的 形式提供了仿真模拟手段 2。 本文共 5 部分, 第 1 部分对 EDA 技术及其发展趋势进行综述, 并着重介绍了 CPLD 器件。 第 2 部分介绍的是偶数分频器的原理及设计方法。第 3 部分是对第 2 部分的延深与扩充, 它主要介绍的是奇数分频。第四部分介绍的是小数分频。第 5 部分针对 Altera 公司的 EP1K100QC208-3 型 CPLD 在 Max+PlusII 中的应用进行了介绍。 分频器的设计与 EDA 技术是不断发展变化的,要掌握分频器设计和 EDA 技术的精髓, 需要设计者在不断实践的过程中不懈的摸索和积累,逐步提高自己的设计水平。本文在设 计中有不少的缺限,希望诗刊给予批评指正。 1 CPLD 与硬件描述语言简介与硬件描述语言简介 数字系统的设计和实现离不开 CPLD/FPGA 器件,因为很多数字系统是基于 CPLD/FPGA 器件实现的, 本文的设计实现基于Altera公司的EP1K100QC208-3, 该芯片属于ACEX 1K 系 列。 ACEX 1K 系列器件是 Altera 公司近期推出的新型 CPLD 产品。该器件基于 SRAM,结 合查找表(LUT)和嵌入式阵列块(EAB)提供了高密度结构,可提供 10000 到 100000 可 用门,每个嵌入式阵列块增加到 16 位宽可实现双端口,RAM 位增加到 49125 个。其多电 压引脚可以驱动 2.5V、3.3V、5.0V 器件,也可以被这些电压所驱动;双向 I/O 引脚执行 速度可达 250MHz。该器件还应用 Altera 专利技术进行了重要的生产改进,进一步降低了 器件的成本,提高了产品的性能价格比。因此,ACEX 1K 器件可用来实现许多逻辑复杂、 信息量大的系统。但是在器件操作过程中,ACEX 1K 系列器件的配置数据存储在 SRAM 单 元中,由于 SRAM 的易失性,配置数据在每次上电时必须被重新载入 SRAM 3。 在数字系统设计中,一个明显的特征就是越来越多的采用硬件描述语言来进行设计。 咸阳师范学院 07 届本科毕业设计 4 硬件描述语言 HDL 是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字 电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列 分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐 层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级 电路网表。 接下去, 再用专用集成电路 ASIC 或现场可编程门阵列 FPGA 自动布局布线工具, 把网表转换为要实现的具体电路布线结构 4。 目前, 硬件描述语言可谓是百花齐放, 有 VHDL、 Superlog、 Verilog、 SystemC、 Cynlib C+、C Level 等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却 莫衷一是,难有定论。本文选用 Verilog HDL 语言进行分频器描述。Verilog HDL 语言是 在 C 语言的基础上发展而来的硬件描述语言,具有简捷、高效、易学、功能强的特点,拥 有广泛的应用群体 5。 2 偶数分频器的设计偶数分频器的设计 2.1 分频器的基本原理分频器的基本原理 在数字电路的设计中,分频器是一种应用十分广泛的基本电路,它的具体操作功能就 是对较高的信号进行分频操作,目的是为了得到所需的较低频率的信号。 所谓频率能给我们直观的用眼去看的就是周期,分频带的另外一种解释就是把原来波 形的周期变成现在的几倍,所以如果在 N 个周期中出来一个周期,就叫做分频。其效果如 图 2.1 图 2.1 分频仿真举例 站在硬件描述语言的角度,若用程序设计的方式来描述,则我们可用计数器所计的数 来形成分频,如 4 分频,我们则可认为在计数器数值为 0、1 时让其保持原状态,当数值 超过 1 时取反,然后 2、3 保持,超过 3 时取反,依次取值即可得到四分频,其它偶数分 频的原理也是如此。 基于 Verilog HDL 与 CPLD 的分频器设计 5 2.2 利用文本方式和图形方式进行二分频设计利用文本方式和图形方式进行二分频设计 2.2.1 文本输入方式设计的二分频器文本输入方式设计的二分频器 二分频器程序如下: module clk_div2(reset,clk_in,clk_out); input clk_in,reset; output clk_out; reg clk_out; always (posedge clk_in or negedge reset) begin if(!reset) clk_out=0; else clk_out=clk_out; end endmodule 输入完毕后,在 MAX+PlusII 中选择菜单“File”“Save”,以文件名为 clk_div2.v 把文件保存,然后对该程序进行编译并仿真,其结果如图 2.2.1 图 2.2.1 文本方式二分频仿真 2.2.2 图形输入方式设计二分频图形输入方式设计二分频 二分频原理图如图 2.2.2 6 咸阳师范学院 07 届本科毕业设计 6 图 2.2.2.1 二分频原理图 将上述图形文件保存为 div_2.gdf 后进行仿真,其结果如图 2.2.2.2 图 2.2.2.2 图形方式二分频仿真 2.3 十二分频器的设计十二分频器的设计 为了使大家能更好的理解偶数分频器的设计,下面将以十二分频器设计为例进行偶数 分频器设计的扩展 十二分频器程序: module cnt12(reset,clkin,clkout,qout); input reset,clkin; output clkout,qout; reg clkout; reg4:0 qout; always (posedge clkin) begin if(!reset) qout=0; else if(qout11) qout=qout+1; else qout=0; end always (posedge clkin) 基于 Verilog HDL 与 CPLD 的分频器设计 7 begin if(!reset) clkout=0; else if(qout=11) clkout=1; else clkout=0; end endmodule 将程序保存并进行仿真,其仿真图如图 2.3 图 2.3 十二分频器仿真 2.4 关于偶数分频关于偶数分频 本章通过对最简单的偶数分频器二分频器的设计,使大家初步了解偶数分频的基本原 理,并再次通过对十二分频器的设计,使大家进一步深入的了解偶数分频器设计的方法。偶 数分频器是分频器设计中相对来说比较简单的,其设计只需用 D 触发器或设置计数器即可 完成,比如本章介绍的二分频器的设计和十二分频器的设计都可以以此方法设计成功,利 用此方法也可以对任何偶数分频器进行设计。 3 奇数分频器的设计奇数分频器的设计 3.1 设计占空比为设计占空比为 50%的五分频器的五分频器 原理:用一个三位计数器 Q(2 downto 0) 从“000“ 到“100“计数。输出 qout 是 dq or Q1 的组合逻辑。用输入时钟的上升沿计数,下降沿控制输出,以下是代码。 module div5(reset,clk,qout); input reset; input clk; output qout; 咸阳师范学院 07 届本科毕业设计 8 reg 2:0 qq; reg dq; always (posedge clk) begin if (!reset) qq=0; else if (qq=3b100) qq=0; else qq=qq+1; end always (negedge clk) begin if (!reset) dq=0; else dq=qq1; end assign qout=dq | qq1; endmodule 3.2 五分频器程序保存编译并仿真五分频器程序保存编译并仿真 仿真结果如图 3.2: 图 3.2 五分频器的设计 基于 Verilog HDL 与 CPLD 的分频器设计 9 3.3 十三分频器设计十三分频器设计 设计 13 分频器: module div13(reset,clk,qout); input reset; input clk; output qout; reg 3:0 qq; reg dq; always (posedge clk) begin if (!reset) qq=0; else if (qq=4b1100) qq=0; else qq=qq+1; end always (negedge clk) begin if (!reset) dq=0; else dq=qq3; end assign qout=dq endmodule 3.4 十三分频器程序保存编译并仿真十三分频器程序保存编译并仿真 仿真结果如图 3.4: 咸阳师范学院 07 届本科毕业设计 10 图 3.4 十三分频器的仿真 3.3 关于奇数分频关于奇数分频 本章以占空比为 50%的五分频设计为例,实现了奇数分频器的设计,以此向大家介绍 奇数分频的原理,并再次通过设计十三分频器,使大家对奇数分频的设计更加深入了解,进 行奇数分频时,需先设置一个相应线宽的计数器,用输入时钟上升沿控制计数,下降沿控 制输出,输出是一具组合逻辑信号,这样便可完成任意奇数分频。 4 小数分频器设计小数分频器设计 4.1 小数分频器的设计原理小数分频器的设计原理 数字电路中,分频器是一种基本电路。分频器通常用来对某个给定频率进行分频,得 到所需的频率。整数分频器的实现非常简单,可采用标准的计数器,也可采用可编程逻辑 器件设计实现。在某些场合下,时钟源与所需的频率不成整数倍关系,此时可采用小数分 频器进行分频。 例如:要实现分频系数为 2.5 的分频器,可采用以下方法:设计一个模为 3 的计数器, 再设计一个脉冲扣除电路,加在模 3 计数器输出之后,每来两个脉冲就扣除一个脉冲,就 可以得到分频系数为 2.5 的小数分频器。采用类似方法,可以设计分频系数为任意半整数 的分频器 7。 小数分频器设计的原理是采用脉冲吞吐计数和锁相环技术先设计两个不同分频比的 整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分 频值。如设计一个分频系数为 10.1 的分频器时,可以将分频器设计成 9 次 10 分频 1 次 11 分频值为: F=(910+111)/(9+1)=10.1 基于 Verilog HDL 与 CPLD 的分频器设计 11 从这种实现方法的特点可以看出,由于分频器的分频值不断改变,因此分频后得到的 信号抖动较大。当分频系数为 N-0.5(N 为整数)时,可控制扣除脉冲的时间,以使输出成为 一个稳定的脉冲频率,而不是一次 N 分频,一次 N-1 分频 7。 小数分频器设计的原理图如图 4.1.1: 图 4.1.1 小数分频器原理图 4.2 n+0.5 分频器设计分频器设计 上一节主要介绍了小数分频的原理,这节主要给出 n_0.5 分频器设计的原理图,并分 别用 Verilog HDL 和 VHDL 两种硬件描述语言程序进行设计,使小数分频器设计方法进一 步得到升华。 下面我们将给出 N+0.5 分频器的原理图,如图 4.2.1: 图 4.2.1 N+0.5 分频原理图 N+0.5 小数分频器设计的 Verilog 程序如下: module divn5 (CLK, PREL, NCLK); input CLK; input2:0 PREL; output NCLK; wire NCLK; reg2:0 COUNTER; reg SIG_CLK; 咸阳师范学院 07 届本科毕业设计 12 wire LCLK; reg PCLK; assign LCLK = CLK PCLK ; always (posedge LCLK) begin if (COUNTER = 3b000) begin COUNTER = PREL ; end else begin COUNTER = COUNTER - 1 ; end end always (posedge LCLK) begin if (COUNTER = 3b010) begin SIG_CLK = 1b1 ; end else begin SIG_CLK = 1b0 ; end end always (posedge SIG_CLK) begin PCLK = PCLK ; end assign NCLK = SIG_CLK ; 基于 Verilog HDL 与 CPLD 的分频器设计 13 endmodule 将上述程序保存并进行仿真,其仿真图如图 4.2.2、4.2.3: 图 4.2.2 2.5 分频器 此图为当 N=2 时的仿真图,即设计的是一个 2.5 分频的分频器。 图 4.2.3 3.5 分频器 此图为当 N=3 时的仿真图,即设计的是一个 3.5 分频的分频器 通过上述方法设计分频器,可以设计出小数分频器的范围为 1.5 分频至 7.5 分频之间 含 0.5 的分频器,因此这个设计在一定意义上讲还是具有局限性的。 4.3 关于小数分频关于小数分频 本章主要从原理部分介绍了小数分频器设计的设计思路,并通过举例的方式列出并仿 真了 2.5、3.5 等分频器,从一定范围上解决了小数分频中的一些问题,不足之处在于小数 分频范围太小(1.57.5),希望在以后的设计中能突破这些限制,让小数分频范围更广范。 5 CPLD 的应用的应用 本文在进行仿真时用的是 Altera 公司的 EP1K100QC208-3 型 CPLD,下面介绍一下该型 CPLD 在本文中的应用。 选 择 “ Assign ” “ Device ” , 在 弹 出 的 窗 口 中 选 择 ACEX1K 系 列 中 的 “EP1K100QC208-3CPLD”芯片,如图 5.1 所示 8 咸阳师范学院 07 届本科毕业设计 14 图 5.1定义器件 准备开始编译,选择“MAX+PlusII” “Compiler”,弹出如图 5.2 所示编译窗口, 单击“Start”按钮即开始编译 9。 图 5.2启动编译 如果没有错误,可以看到编译完成的界面,如图 5.3 所示,同时产生一系列输出文件。 图 5.3 编译完成的界面 编译结束之后,在图 5.3 所示窗口中的 rpt 图标上双击,可打开编译报告,其中有编译 后的管脚人配图,如图 5.4 所示 10。可以看到,clkin 管脚定义在 39 管脚,clkout 定义在 6 管脚,这是软件自动分配的结果。我们可以按照自己的意愿分配管脚下,然后在“Pin”下 拉菜单中选取定义的管脚号,如图 5.5 所示。管脚锁定后,再重新编译一次。 基于 Verilog HDL 与 CPLD 的分频器设计 15 图 5.4 编译后的管脚分配 图 5.5 修改管脚定义 以上是本文进行仿真时采用的方法,也是使用 CPLD 进行仿真的方法。 咸阳师范学院 07 届本科毕业设计 16 结论结论 分频器是数字电路中常用的一种基本电路,在 EDA 技术迅速发展的现代社会中,我们 可以利用本文所介绍的方法对我们所需的分频器进行设计,本文通过由浅入深、逐层推进 的方式,分别向我们介绍了偶数分频器的设计、奇数分频器的设计和小数分频设计,通过 这种方式的介绍,目的在于使读者更加了解分频器,并使之更好的被利用于生产实践。 基于 Verilog HDL 与 CPLD 的分频器设计 17 谢辞谢辞 致谢: 本课题是在导师张玉叶的亲切关怀和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医院感染标准预防考试题及答案
- 九年级化学下册 第10单元 化学与健康 第2节 化学元素与人体健康说课稿 (新版)鲁教版
- 2024-2025学年第一学期期中考试-初一语文-试卷
- 蒸汽热网基础知识培训课件
- 2025年企业、公司薪酬管理技能资格知识试题与答案
- 2025年上海市中考生物试卷+答案解析
- 人工智能应用基础 课件 项目1 人工智能工具操作基础
- 2025年解除合同关系的申请书范本
- 消防中控题目技巧及答案
- 葡萄酒盲品知识培训总结
- 智能采矿导论完整整套教学课件
- 初中信息技术奥赛基础知识
- 工业设计方法学
- 非计划再次手术管理制度与流程
- 销售公司和生产公司的合作协议
- 新生儿气管导管滑脱的应急预案及处理流程
- 建筑模型设计与制作(第三版)
- 部编版一年级语文上册全册教案(表格)
- 商品精修教案项目5服装精修
- 小升初简历模板2020免费
- 《社会主义核心价值观》优秀课件
评论
0/150
提交评论