第一范文网 - 专业文章范例文档资料分享平台

基于FPGA的调焦电路设计 - 图文

说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

西安电子科技大学本科生毕业论文

(2)某些场合不能准确的描述电路;

(3)综合工具生成的逻辑实现有时并不是最佳; (4)综合工具的不同将导致综合质量的不同; (5)不具有描述模拟电路的能力。

4.1.2 Verilog HDL的设计流程

Verilog HDL语言的设计流程主要包括以下六个步骤。

(1)设计规范的定义

采用Verilog HDL进行设计描述前,首先要对电子系统的设计目的和设计要求有明确、清晰的认识,然后形成具体设计规范的定义,设计规范的定义相当于系统设计的总体方案。

(2)采用Verilog HDL进行设计描述

采用Verilog HDL进行设计描述主要包括设计规划和程序编写。设计规划的主要任务是进行设计方式的选择以及是否进行模块划分。设计规划后,即可根据模块划分编写各个模块的Verilog HDL程序,再将各个模块的Verilog HDL程序组合,从而实现完整的Verilog HDL描述。

(3)Verilog HDL程序仿真

为节省时间,缩短开发周期,提早发现设计错误,在Verilog HDL程序编写完成后需要使用仿真器对Verilog HDL设计描述进行仿真。

(4)综合、优化和布局布线

综合是将设计的顶层描述转化成底层电路表示。通常,综合的结果会是网表或是逻辑方程。优化是指将设计的时延缩到最小并有效利用资源。布局布线是将综合优化后的逻辑规划到FPGA的逻辑结构中,然后将各逻辑单元放置到相应优化位置,最后在逻辑元胞和I/O口之间进行布线。

(5)布局布线后的仿真

不同于VHDL程序仿真,布局布线后的仿真不仅要对设计描述的逻辑功能进行验证,还要对设计描述的时序功能进行验证。

(6)器件编程

器件编程是将设计描述经过编译、综合、优化和布线布局后的结果,经过一定的映射转化成器件编程所需要的数据文件格式,然后通过烧片器或下载电缆将数据文件下载到器件的过程。

29

西安电子科技大学本科生毕业论文

4.2 编译环境的设计特点

QuartusII开发软件是Altera公司为其FPGA设计的专用开发工具。QuartusII开发软件支持VHDL和Verilog HDL硬件描述语言的设计输入,基于图形的设计输入方式和集成系统设计工具,它可以把设计、综合、布局布线、系统验证全部都集成到无缝的开发环境中,其中还包括与第三方EDA工具的高效接口。其设计特点主要有以下七点:

(1)基于模块的设计方法

QuartusII开发软件提供了Logic Lock的基于模块的设计方法,便于独立设计和实施各种设计模块,且把模块集成到顶层工程时仍可保持各个模块的性能。

(2)更快的集成IP

QuartusII开发软件包含了SOPC Builder工具,可以针对可编程片上系统的各种应用自动完成IP核的添加、参数设置和连接等操作。

(3)在设计周期的早期对I/O管脚进行分配和确认

QuartusII开发软件可以进行预先的I/O管脚分配和验证操作。可以在任何时刻对I/O管脚分配进行修改而不用在次进行设计编译。

(4)拥有存储器编译器

QuartusII开发软件提供了存储器编译器,可以对FPGA中的嵌入式存储器进行管理。QuartusII4.0以上版本增加了对FIFO和RAM读操作的基于现有设置的波形动态生成功能。

(5)支持FPGA、CPLD以及基于Hard Copy的ASIC设计

QuartusII开发软件可以使用和FPGA完全相同的设计工具、IP核和验证工具,支持Hard Copy Stratix系列器件的开发。

(6)使用全新的命令行和脚本功能的自动化设计流程

可通过使用命令行和图形用户界面(GUI)独立运行QuartusII开发软件中的综合、布局布线、时序分析以及下载编程等模块。QuartusII开发软件还包括了工具命令语言接口对话框。

(7)Atera公司提供高级教程帮助了解QuartusII开发软件的功能特性 QuartusII开发软件提供了详细的帮助文件,涵盖了FPGA系统设计的所有领域,包括工程创建、输入设计、综合、布局布线、仿真、验证、时序分析在内的各种设计任务。

30

西安电子科技大学本科生毕业论文

4.3 Quartus 开发设计流程

Altera公司的QuartusII开发软件根据用户需求提供了一个完整的多平台开发环境,包括了整个可编程器件设计阶段的所有解决方案。其总体开发流程如图4.1所示。在设计流程每个阶段,QuartusII开发软件允许用户使用QuartusII开发软件的图形用户界面、EDA工具界面或行输入界面,在整个设计流程中可以使用这些界面的任意一个,也可以在不同设计阶段使用不同的界面[37]。

设计输入综合布局布线时序分析仿真编程配置调试变动管理时序逼近 图4.1 QuartusII的开发流程

4.4串口通信设计思路

UART即通用异步收发器,是一种应用广泛的短距离串行传输接口。在应用中完全可以将UART模块集成在FPGA内部,从而实现FPGA与PC之间的异步串行通信。基本的UART通信只需要两条信号线:RXD接收端和TXD发送端,接受与发送全双工。

串口传输速率有多种选择,如:9600b/s、14400b/s、19200b/s、38400b/s等,在设计中因FPGA采用9600b/s。 首先是发送模块,因为串口为异步收发,顾发送模块只需将数据信号按固定时序发出即可,在数据链前加起始位,后面加停止位。为简化设计通信均采用八位数据,无校验位,一位停止位。

在接收时,因需要与外来信号同步进行识别,所以需要检测到起始位后,在进行数据采集,在检测起始位时,为保证检测到的信号的可靠性进行多次采样,只有当起始位信号为0保持一定时间才认为起始位有效。在采集数据是,为保证数据的可靠性,采用在数据信号稳定一段时间后采样,从而保证数据可靠。

31

西安电子科技大学本科生毕业论文

4.5 串口通信部分代码

module uart_RX(CLK_SYS,RST,RX,RX_DATA_OUT,bit_data,RX_over); input CLK_SYS; input RST;

output[7:0] RX_DATA_OUT; output RX_over; input RX;

input[15:0] bit_data; wire CLK_SYS; wire RST;

reg[7:0] RX_DATA_OUT; reg RX_over; wire RX; wire[15:0] bit_data; reg[7:0] RX_cnt; reg[15:0] bit_en; reg clk_en; reg[15:0] cnt;

always@(posedge CLK_SYS or negedge RST) if(!RST) begin RX_cnt<=0; RX_over<=0;

RX_DATA_OUT<=0; clk_en<=0; end else

case(RX_cnt) 0:if(RX==0) if(cnt==200) begin cnt<=0; clk_en<=1; RX_cnt<=1; end else cnt<=cnt+1; 1:if(bit_en==bit_data) begin RX_DATA_OUT[0]<=RX;RX_cnt<=2; 2:if(bit_en==bit_data) begin RX_DATA_OUT[1]<=RX;RX_cnt<=3; 3:if(bit_en==bit_data) begin RX_DATA_OUT[2]<=RX;RX_cnt<=4; 4:if(bit_en==bit_data) begin RX_DATA_OUT[3]<=RX;RX_cnt<=5; 5:if(bit_en==bit_data) begin RX_DATA_OUT[4]<=RX;RX_cnt<=6; 6:if(bit_en==bit_data) begin RX_DATA_OUT[5]<=RX;RX_cnt<=7;

end end end end end end

32

搜索更多关于: 基于FPGA的调焦电路设计 - 图文 的文档
基于FPGA的调焦电路设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3nxe29bqn56vudb8cen0_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top