电气工程学院电气114宋杰.pdf

基于FPGA的UART设计

收藏

资源目录
跳过导航链接。
基于FPGA的UART设计.zip
基于FPGA的UART设计
电气工程学院电气114宋杰.pdf---(点击预览)
电气工程学院电气114宋杰.docx---(点击预览)
毕业设计(翻译).doc---(点击预览)
毕业设计任务书.doc---(点击预览)
开题报告.doc---(点击预览)
top
db
top.smp_dump.txt---(点击预览)
top.smart_action.txt---(点击预览)
top.lpc.txt---(点击预览)
.cmp.kpt
logic_util_heursitic.dat
prev_cmp_top.qmsg
top.(0).cnf.cdb
top.(0).cnf.hdb
top.(1).cnf.cdb
top.(1).cnf.hdb
top.(2).cnf.cdb
top.(2).cnf.hdb
top.(3).cnf.cdb
top.(3).cnf.hdb
top.asm.qmsg
top.asm.rdb
top.asm_labs.ddb
top.cbx.xml
top.cmp.bpm
top.cmp.cdb
top.cmp.hdb
top.cmp.idb
top.cmp.logdb
top.cmp.rdb
top.cmp_merge.kpt
top.db_info
top.eda.qmsg
top.fit.qmsg
top.hier_info
top.hif
top.ipinfo
top.lpc.html
top.lpc.rdb
top.map.ammdb
top.map.bpm
top.map.cdb
top.map.hdb
top.map.kpt
top.map.logdb
top.map.qmsg
top.map.rdb
top.map_bb.cdb
top.map_bb.hdb
top.map_bb.logdb
top.npp.qmsg
top.pre_map.hdb
top.pti_db_list.ddb
top.root_partition.map.reg_db.cdb
top.routing.rdb
top.rtlv.hdb
top.rtlv_sg.cdb
top.rtlv_sg_swap.cdb
top.sgate.nvd
top.sgate_sm.nvd
top.sgdiff.cdb
top.sgdiff.hdb
top.sld_design_entry.sci
top.sld_design_entry_dsc.sci
top.sta.qmsg
top.sta.rdb
top.sta_cmp.6_slow_1200mv_85c.tdb
top.stingray_io_sim_cache.99um_ff_1200mv_0c_fast.hsd
top.stingray_io_sim_cache.99um_tt_1200mv_0c_slow.hsd
top.stingray_io_sim_cache.99um_tt_1200mv_85c_slow.hsd
top.tiscmp.fast_1200mv_0c.ddb
top.tiscmp.slow_1200mv_0c.ddb
top.tiscmp.slow_1200mv_85c.ddb
top.tis_db_list.ddb
top.tmw_info
top.vpr.ammdb
incremental_db
compiled_partitions
output_files
top.asm.rpt
top.done
top.eda.rpt
top.fit.rpt
top.fit.smsg
top.fit.summary
top.flow.rpt
top.jdi
top.map.rpt
top.map.summary
top.pin
top.sof
top.sta.rpt
top.sta.summary
simulation
tcl_stacktrace.txt---(点击预览)
CY044
modelsim
rtl_work
vhdl_libs
work
top.sft
top.vho
top.vht
top_6_1200mv_0c_slow.vho
top_6_1200mv_0c_vhd_slow.sdo
top_6_1200mv_85c_slow.vho
top_6_1200mv_85c_vhd_slow.sdo
top_min_1200mv_0c_fast.vho
top_min_1200mv_0c_vhd_fast.sdo
top_modelsim.xrf
top_run_msim_rtl_vhdl.do
top_run_msim_rtl_vhdl.do.bak
top_run_msim_rtl_vhdl.do.bak1
top_run_msim_rtl_vhdl.do.bak2
top_run_msim_rtl_vhdl.do.bak3
top_run_msim_rtl_vhdl.do.bak4
top_tb.cr.mti
top_tb.mpf
top_tb.vhd
top_tb.vhd.bak
top_vhd.sdo
vsim.wlf
baud.vhd
reciever.vhd
sj.ipinfo
top.jdi
top.qpf
top.qsf
top.qws
top.tis_db_list.ddb
top.vhd
top.vhd.bak
top_assignment_defaults.qdf
transfer.vhd
Vhdl3.vhd
压缩包内文档预览:(预览前20页/共48页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:36648511    类型:共享资源    大小:45.93MB    格式:ZIP    上传时间:2020-01-03 上传人:遗**** IP属地:湖北
25
积分
关 键 词:
基于 FPGA UART 设计
资源描述:
基于FPGA的UART设计,基于,FPGA,UART,设计
内容简介:
毕业设计开题报告课题:基于FPGA的UART设计专业电气工程及其自动化学生姓名宋杰班级 电气114学号1110601406指导教师周磊专业系主任顾春雷撰写日期 2015年3月6日电气工程学院课题名称:基于FPGA的UART设计课题类型: ( ) 应用型 ( ) 研究型1. 本课题的意义(本部分字数不小于600字)外部设备种类的不断增加、技术的不断进步和功能不断完善,使外部设备与计算机的通信越来越受到重视。在PC与外部设备的通信中要实现两者间的数据传输,首先应该解决的就是接口问题。通用异步接收/发送器UART,是一种应用广泛的异步串行通信的传输接口,也是一种串行数据传输协议,多用于短距离、低速度、低成本的微机与下位机的通讯中,它允许在串行的链路上进行全双工的通信。由于可编程逻辑器件技术的快速发展,FPGA的功能日益强大,其性能好、可靠性高、容量大、体积小,微功耗、速度快、使用灵活、设计周期短、开发成本低,静态可重复编程、动态在系统重构、硬件功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性。在FPGA芯片上集成UART功能模块,并和其他模块组合,可以很方便地实现一个能与其他设备进行串行通信的片上系统。 基于FPGA设计和实现UART,可以用很少的逻辑单元实现UART的基本功能。与传统设计相比,能有效减少系统的PCB面积,降低系统的功耗,提高设计的稳定性和可靠性,并可方便地进行系统升级和移植,也充分利用了FPGA的剩余资源。这种硬件软件化的方法已经成为当今电子设计领域中的主导趋势。UART是广泛应用的串行数据传输协议之一,其应用范围遍及计算机外设、工业控制等场合。而随着FPGA的广泛应用,FPGA和其他单片机之间的数据通信需求一种有效可靠的低成本数据交换方案。采用VHDL的UART软核集成于FPGA内部,在保证了数据的正常交换的同时,不仅简化了硬件电路,而且极大的降低了成本、提高了系统的可靠性。本设计利用QuartusII在FPGA芯片上的综合描述,采用模块化设计方法设计UART(通用异步收发器)的各个模块,其中包括波特发生器,程序控制器,UART数据接收器和UART数据发送器。依据其系统组成设计顶层模块,采用有限状态机设计接收器模块和发送器模块,所有功能的实现全部采用VHDL进行描述,并用Modelsim软件对所有模块仿真实现,最后将UART的核心功能集成到FPGA上,使整体设计紧凑小巧,实现UART功能稳定可靠。2. 课题的基本内容:采用VHDL语言实现一个用于FPGA中的通用UART软核。UART软核支持起始位(1bit)数据(8bit)终止位(1bit)的数据格式;可配置支持115200以下的常见波特率等常见的UART功能。3. 课题的研究方法、技术路线、设计(研究)方案:1.研究方法:查阅资料,熟悉FPGA、UART工作原理,掌握各个模块的设计方法,学习VHDL语言和仿真程序语言。 2.技术路线:搭建Quartus II+ModelSim仿真开发平台,将UART作为设计模块嵌入到FPGA芯片中,通过接口连接到计算机,使用相关串口调试软件在计算机上对FPGA进行数据的输入,在显示器上直接观察输出结果,作出相应调整。 3.设计方案:基于可编程器件FPGA采用模块化设计对系统划分模块以及各个模块的信号连接,然后进行模块设计,利用VHDL语言实现各模块的功能,并对各个模块进行功能仿真和时序仿真。4. 课题的效果预测 假设系统的时钟频率为10MHz,通过分频可支持3600bps、7200bps、9600bps、115200bps的常见波特率。COMS电平范围为03.3V,TTL电平范围为05V。5. 毕业设计(论文)进度计划起讫日期工 作 内 容备 注3月8日3月28日毕业实习以及毕业设计的前期工作,完成中文文献摘要、英文文献翻译、实习报告和设计的开题报告3月29日4月7日进行开题陈述和答辩,设计正式开题4月8日4月14日软件开发平台搭建4月15日5月10日UART工作原理5月11日5月24日用VHDL语言实现5月25日6月10日仿真调试及优化6月11日6月20日撰写毕业设计说明书,准备毕业答辩6月21日6月27日完成毕业答辩以及设计资料的归档工作6. 开题报告审批意见指导教师意见:指导教师(签字):年 月 日专业系意见:专业系主任(签字):年 月 日4毕业设计任务书课题: 基于FPGA的UART设计 专业电气工程及其自动化学生姓名宋杰班级电气114学号1110601406指导教师周磊专业系主任顾春雷发放日期2015.3.6电气工程学院1. 毕业设计(论文)任务的内容和要求(包括原始数据、技术要求、工作要求)1、 主要内容以及技术参数UART是广泛应用的串行数据传输协议之一,其应用范围遍及计算机外设、工业控制等场合。而随着FPGA的广泛应用,FPGA和其他单片机之间的数据通信需求一种有效可靠的低成本数据交换方案。采用VHDL的UART软核集成于FPGA内部,在保证了数据的正常交换的同时,不仅简化了硬件电路,而且极大的降低了成本、提高了系统的可靠性。采用VHDL语言实现一个用于FPGA中的通用UART软核。UART软核支持起始位(1bit)数据(8bit)终止位(1bit)的数据格式;可配置支持115200以下的常见波特率等常见的UART功能。2、 设计中要求做的工作a) 搭建Quartus II+ModelSim仿真开发平台。b) 搞清楚UART工作原理。c) 给出UART实现思路。d) 完成系统程序的编写。e) 仿真调试。f) 完成毕业设计论文的编写。3、 工作要求a) 对待设计工作要具有认真的态度、严谨的作风b) 要求每天按照计划保质保量地完成当天的任务c) 遵守设计场所的纪律制度,做好值日生工作2. 图纸内容及张数:1、系统总体实现框图 1张3. 实物内容及要求(包括开题报告、毕业设计说明书(论文)、源程序、成果实物、资料光盘等):(1) 完成毕业实习报告一份。(2) 完成开题报告一份。写明课题研究的意义,设计或研究的思路,采用的主要器件,以及设计最终所获得的成果。详细列出在毕业设计期间各个时间段要完成的工作。(3) 完成8000字的资料摘要一份。(4) 完成与本课题相关的外文资料译文一份(3000汉字以上)。(5) 按照盐城工学院毕业设计(论文)教学工作手册中的要求完成毕业设计说明书一份。符合学校制定的本科毕业设计(论文)的格式要求、字数要求,文笔流畅、条理清晰,无原则性错误。任务书、开题报告、设计说明书等资料刻成光盘。4. 其他:无5. 参考文献: 1 董大成,张建东,史国庆. 基于FPGA的UART IP核设计与实现J. 计算机测量与控制. 2012(08) 2 段素蓉,庄圣贤. 一种内置FIFO全双工UART的设计与实现J. 通信技术. 2010(02) 3 张晓峰,李悦丽,黎向阳,张强. 一种基于FPGA和SC16C554实现多串口通信的方法J. 电子技术. 2009(06) 4 赵海登,刘晓文,胡景军,汤晓蕾. 基于FPGA的UART IP核的设计实现J. 通信技术. 2009(05)5 徐玉丹,陶辉,秦龙,马世伟. 一种基于FPGA的芯片测试多通道串口扩展设计J. 电子测量技术. 2013(03) 6 蒋明柯,皮佑国. 数控系统中RS485串行通信协议的设计J. 组合机床与自动化加工技术. 2013(05) 7 鄢涛,杜小丹,刘永红,胡庆. 基于RS485的数据通信协议的设计与实现J. 电子设计工程. 2013(17) 8 江洋,杨俊峰,宋克柱. 基于RS-485长距离数据传输系统设计J. 核电子学与探测技术. 2013(04)6. 毕业设计(论文)进度计划起讫日期工 作 内 容备 注3月8日3月28日毕业实习以及毕业设计的前期工作,完成中文文献摘要、英文文献翻译、实习报告和设计的开题报告3月29日4月7日进行开题陈述和答辩,设计正式开题4月8日4月14日软件开发平台搭建4月15日5月10日UART工作原理5月11日5月24日用VHDL语言实现5月25日6月10日仿真调试及优化6月11日6月20日撰写毕业设计说明书,准备毕业答辩6月21日6月27日完成毕业答辩以及设计资料的归档工作7.教师签字: 制定日期: 年 月 日8. 审批专业系意见:专业系主任(签字) 年 月 日 The serial controller design based on FPGAIntroductionThe use of hardware description language (HDL) is becoming a more dominant factor, when designing and verifying FPGA designs. The use of behavior level description not only increases the design productivity, but also provides unique advantages in the design verification. The most dominant HDL stoday are called Verilog and VHDL. This application note will illustrate the use of Verilog in design and verification of a digital UART (Universal Asynchronous Receiver & Transmitter).Defining the UART.The UART consists of two independent HDL modules. One module implements the transmitter, while the other module implements the receiver. The transmitter and receivermodules can be combined at the top level of the design, for any combinations of transmitter and receiver channels required. Data can be written to the transmitter and read out from the receiver, all through a single 8 bit bi-directional CPU interface. Address mapping for the transmitter and receiver channels can easily be build into the interface at the top level of the design. Both modules share a common master clock called mclkx16. Within each module mclkx16 are divided down to independent baud rate clocks.UART functional overview.A basic overview of the UART is shown below. At the left hand side is shown “transmit hold register”, “transmit shift register” and the transmitter “control logic” block, all contained within the transmitter module called “txmit”. At the right hand side is shown the “receive shift register”, “receive hold register” and the receiver “control logic” block, all contained within the receiver module called “rxcver”. The two modules have separate inputs and outputs for most of their control lines, only the bi-directional data bus, master clock and reset lines are shared by both modules.UART timing diagrams.Below is shown, how data written to the “transmit hold register” gets loaded into the “transmit shift register”, and at the rising edge of the baud rate clock, shifted to tx output.The Transmitter module.The master clock called mclkx16 are divided down to the proper baud rate called txclk and equals to mclkx16/16. Data written in parallel format to the module are latched internally, and shifted in serial format to the tx output at the frequency of the baud rate clock. Data shifted to the tx output follows the UART data format shown in fig. 6.Behavioral description of the transmitter.The transmitter waits for new data to be written to the module. When new data are written a transmit sequence is initialized. Data that was written in parallel to the module gets transmitted as serial data frames at the tx output. When no transmit sequence are in place, the tx output is held high.Implementation of the transmitter module. Internal signals in Verilog are declared as “wire” or “reg” data types. Signals of the “wire” type are used for continuos assignments, also called combinatorial statements. Signals of the “reg” type are used for assignments within the Verilog “always” block, often use for sequential logic assignments, but not necessarily. For further explanation see a Verilog reference book. Data types of the internal signals of the module can be referred to in table 3.We have now passed by all necessary declarations, and are now ready to look at the actual implementation. Using hardware description language allows us to describe the function of the transmitter in a more behavioral manner, rather than focus on its actual implementation at gate level. In software programming language, functions and procedures breaks larger programs into more readable, manageable and certainly maintainable pieces.A Verilog function and task are used as the equivalent to multiple lines of Verilog code, where certain inputs or signals affects certain outputs or variables. The use of functions and tasks usually takes place where multiple lines of code are repeat edly used in a design, and hence makes the design easier to read and certainly maintain.A Verilog function can have multiple inputs, but always have only one output, while the Verilog task can have both multiple inputs, and multiple outputs. Below is shown the Verilog task, that hold all necessary sequential statements, to describe the transmitter in the “shift” mode.We here see the two tag bits called tag1 and tag2 concatenated to the “transmit shift register.Similar tasks were created to describe the transmitter in “idle” and “load”modes.By using these Verilog tasks, we can now create a very“ easy to read” behavioral model of the hole transmit process.If tx done and tx datardy both are true, the transmitter enter load mode. Next to the lo ad mode, the transmitter enters shift mode. At the rising edge of the baud rate clock, the contents of tsr are shifted to the tx output. Parity generation takes place during shifting of the tsr, as shown below.Simulation of a transmit sequenceThe contents of the data bus are latched into thr at the rising edge of write. At the next rising edge of txclk, the contents of thr are loaded into tsr, the active low start bit is a asserted to tx, and the txrdy flag indicates, that thr again is ready for new data to be written. At each rising edge of txclk, the contents of tsr is shifted to tx. Parity generati on takes place during shifting of data. Parity cycle is high one cycle next to last cycle, and tx gets the parity result.The Receiver module.The master clock mclkx16 are divided down to the proper baud rate clock called rxclk, and equals to mclkx16/16. Serial data to be received at the rx input of the module,mu st follow the UART data format. Data received in serial format can be read out in parallel format, through the 8 bit data bus.Behavioral description of the receiver.Between successive transmissions, the transmission line is held high, according to standard UART behavior. The receiver waits in “idle” mode for the rx input to go low. At the falling edge of rx the receiver enter “hunting” mode, now searching for a valid start bit of a new data frame to be received. If a valid start bit is detected, the receiver enter “shift data” mode. During receive of a data frame, various parity and error checks are performed. When a complete data frame has been received the receiver returns to idle mode. The basic operation of the receiver works as shown below.Implementation of the receiver module.In order to create an easy to read and easy to maintain behavioral model of the recei ver two Verilog tasks are written to describe the different modes of the receiver. The Verilog task called “idle_reset” holds all necessary sequential statements to describe the receiver at reset condition, and when the receiver is in its idle mode.When the receiver is not at its reset condition, and not in its idle mode, the receiver samples data at the rx input, shifts the data to the “receive shift register”, and genera tes parity based on the incoming data. The Verilog task called “shift_data” holds all necessary sequential statements to describe all above actions. Using the two Verilog tasks described above, we are now able to create the behavioral level description of the receiver at its reset condition, idle mode or when shifting in date . All above actions is synchronous to the baudrate clock called rxclk, and the im plementation is shown below.A complete data frame has been received, when the leading low start bit reaches rsr0, and the receiver returns to idle mode again at the next rising edge of rxclk. At return to “idle” mode the receiver raises the “receive data ready” interrupt to indicate, that the new data received now can be read out in parallel format. Error flags are updated as well upon return to “idle” mode, and cleared when data are read out of the receiver. At the falling edge of read, the contents of the rhr are latched to the data bus. In table 8 shown below are the various error checks supported by the receiver.Simulation of a receive sequence.Between successive transmissions, the transmission line is held high. At the falling edge of rx input, the internal rxcnt starts counting up, synchronous to mclkx16. If rx input stays low for 8 cycles of mclkx16, the internal status bit idle is reset, and there by enable generation of rxclk. Rxclk is now synchronized to the center point of the l ow start bit. At the rising edge of rxclk, data are shifted from the rx input to rsr. When the leading low start bit reach rsr0, the next rising edge of rxclk forces idle high aga in and there by disable generation of rxclk.At return to idle mode, the contents of rsr are loaded into rhr, the status flags are updated. The flag “rxrdy” now indicates, that the contents of rhr can be read out. At the falling edge of read, the contents of rhr are applied to the data bus.Using Hardware Description Language for Simulation.We have now studied how HDL can be used for the behavioral level design impleme ntation of a digital UART. While HDL make the design implementation easier to read and hopefully to understand as well, it also provides the ability to easily describe dep endency in between various processes that usually occur in such a complex event dri ven systems, as for example the UART. This ability to describe dependency in betwe en various processes is extremely need for simulation purposes as we will see very so on.Simulation stimulus in Verilog HDL is called a “test fixture”. A test-fixture is a V erilog module that holds all lines of HDL code necessary to generate the simulation stimulus, while it at the same time port maps these signals to the design that are to be simulated. The port mapping is done by hierarchical module instantiation of the UAR T top level module into the test-fixture, as shown below.This allows simulation stimulus to be applied to the inputs of the design, while monit oring the outputs of the design. Input stimulus can be made conditionally to the response on the outputs ect. In fig. 19 shown below is illustrated, how the test-fixture port maps to the top level of the UART.Within the test-fixture the tx output of the transmitter module is looped back to the rx input of the receiver module. This allows the transmitter module to be used as test sig nal generator for the receiver module. Data can be written in parallel format to the tra nsmitter module and looped back in serial format to the rx input of the receiver modu al and data received can finally be read out in parallel format from the receiver modu al. In order to automate the testing of the UART as much as possible, tree independent Verilog tasks were written as follows. The Verilog task“write_to_transmitter” holds all necessary statements required to generate a single parallel data write sequence to the transmitter module. Data that are written to the transmitter upon execution of the “write_to_transmitter” task, get latched internal to the test-fixture for later analysis. The Verilog task “read_out_receiver” holds all necessary statements required to ge nerate a single parallel data read out sequence from the receiver module. Data that are read out of the receiver upon execution of the “read_out_receiver” task, get latched internal to the test-fixture for later analysis. The Verilog task “compare_data” holds all necessary statements required to compare the previous data written to the transmit ter module, to the corresponding and most recent data received and read out from the receiver module. If any discrepancy occurs, the “compare_data” task flags for an err or by writing out the data values that were written to the transmitter module, as well as the corresponding data values that were received by and read out from the receiver module. Silicon for synthesis.While HDL as design implementation method offers several advantages over traditio nal FPGA design entry approaches such as schematic capture, it meanwhile require great flexibility as well as high performance by the target devices for the synthesis flow. The synthesis flow for the UART has been targeted two flexible and high perfo rmance FPGA architectures available from QuickLogic, called the pASIC-1 and the pASIC-2 families.After synthesis, the design were placed & routed using the Place & Route tools from QuickLogic. After the Place & Route, the UART design were simulated using back-annotated Verilog post-layout timing models. The fast Verilog simulator called Silos III from Simucad were used for the post-layout simulation. All used tools are available within the QuickWorks tool suite from QuickLogic. 基于FPGA的串口控制器设计简介使用硬件描述语言 (HDL) 设计和开发验证FPGA成为当前的主流因素。使用行为级描述不仅增加了产品的设计效率,也在设计中有独特的验证方式。目前最流行的HDL语言为Verilog 和 VHDL。这篇文章将会举例说明用 Verilog语言设计和验证数字异步串行收发器UART。UART介绍 通用异步串行收发器UART包含两个独立的VHDL模块。一个模块实现发射功能, 另一个实现接收功能,发射和接收功能模块在顶端设计时组合到一起使用,接收和发射的组合是通信通道所必需的。数据写入发射器,从接收器读出,所有的数据以二进制8字节的信号通过CPU接口。地址映射的发射机和接收机通道可以很容易的在设计顶层的接口构建。两者共用一个称为mclkx 16的主控时钟,在每个模块中 mclkx 16 被分成独立的波特率时钟。UART的功能概况UART的基本功能概况见下表。在左边显示传输保持记录,移位记录,传输控制时钟,全部集中在发射机的txmit端。在右边显示接收移位寄存器,接收记录和控制逻辑时钟,所有都包含在接收模块的rxcver端,这两个模块有单独的输入和输出的控制线路,只有双向的数据总线,主时钟和复位线由两个模块共享。顶层UART系统的I/O功能描述UART时序图下面显示的是写入传输寄存器的数据是如何被加载到移位寄存器,并在波特率时钟的上升沿,转向txd输出端。发送器主控时钟mclkx16被分频到合适的波特率时钟称为rxclk,它等于mclkx16/16。数据以平行的形式锁存模块,而转向以串行格式在波特率时钟频率下向tx端输出。数据转到tx输出遵循UART数据格式如图6所示。发送器行为描述发送器等待新的数据写入模块,当新的数据写入发送序列模块时数据初始化。被写入的数据以并行方式传送到发送模块然后被转化成串行数据帧从tx输出。当没有传输序列的地方,tx输出是高电平。发送器实现 Verilog的内部信号被称为wire和reg两种数据类型,WIRE类型的信号用于连续的作业,也称为组合语句,REG类型的信号用在分配Verilog里的always时钟,常常使用逻辑顺序的分配,但不是一定的,进一步解释见Verilog参考书,模块内部信号的数据类型如表3所示。我们现在已经通过了所有必要的声明,并已作好准备,看看实际执行,用硬件描述语言使我们以更加行为化的方式描述发送器的功能,而不是把重点放在它在门级的实际执行情况。在软件编程语言中,函数和程序将大项目分解成更具可读性,管理性,当然也可维护的部件,Verilog的函数和任务被用来当作多行的Verilog代码,其中某些输入或信号影响某些输出或变量。函数和任务的使用,通常发生在多行代码需要重复使用的设计中,从而使得设计易于阅读和维护肯定,Verilog函数,可以有多种输入,但始终只有一个输出,然而Verilog任务可以兼得多投入,多产出,下面显示了Verilog任务,即拥有所有必要的顺序语句,用来描述发送器的转移模式。我们可以看到在移位寄存器里有2个标志位叫作tag1和tag2,在描述空闲和置位模块时产生相同的作用。使用这些 Verilog 工作,我们现在可以产生一个非常容易阅读的行为模型的空穴传输过程。如果txdone 和txdatardy都是正确的,发送器进入负载模式。在负载模式下,进入发送模式转变,在上升沿的波特率时钟,tsr的内容转移到tx输出端。 奇偶校验过程产生于tsr变化中,如下所示。模拟发送序列在写入上升沿时数据总线容量被锁存,在txclk下一个上升沿,thr的容量载入tsr,低电平开始位进入tx,发送标志位显示,thr再次等待新的数据的写入。在每个发送时钟上升沿,tsr的容量被送入tx,在数据传输过程中产生奇偶校验,周期循环时奇偶校验为高电平,tx产生奇偶校验结果。接收模块主控时钟mclkx16被分频到合适的波率时钟称为rxclk,它等于m
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于FPGA的UART设计
链接地址:https://www.renrendoc.com/p-36648511.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!