大西瓜开发板v1.2fpga入门教程_第1页
大西瓜开发板v1.2fpga入门教程_第2页
大西瓜开发板v1.2fpga入门教程_第3页
大西瓜开发板v1.2fpga入门教程_第4页
大西瓜开发板v1.2fpga入门教程_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.数字电路设计入门1.1 数字电路设计是逻辑设计。通常,数字电路的逻辑值只有1和0,表征电1.数字电路设计入门1.1 数字电路设计是逻辑设计。通常,数字电路的逻辑值只有1和0,表征电压或电流的离散值,一般1代表高电平,0代表低们就认为该信号表征高电平,即为1。反之TTL、CMOS、LVTTL、LVCMOS当前的数字电路中存在许多种电平标准,比较常见的ECL、PECL、LVDS、HSTL、等。这些电平的详细指标请见补1:电平标准组合逻辑电路时序逻辑电路(Register(1)、时钟分频电路该时序电路的功能为实现对时钟clk4 分频,其中clk_2时序逻辑电路(Register(1)、时钟分频电

2、路该时序电路的功能为实现对时钟clk4 分频,其中clk_22 分频时钟,clk_4分频时钟,enable为该电路的使能信号。其功能仿真波形如下Register的原理和tc- TD (2)、序列检测器出1,其他时刻输出0电路中clk为时钟信号,D1,D2,D3为移位寄存(2)、序列检测器出1,其他时刻输出0电路中clk为时钟信号,D1,D2,D3为移位寄存器的输毛刺的产生与消除竞争与径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为竞争(Race。争的结果将很可能导(Hazard)发生(例如产生毛刺,造成错误,并1.2.2 毛刺的产生与危害信号在 器件中通过逻辑单元连线时,一定存

3、在延时。延时的大小不仅和1.2.2 毛刺的产生与危害信号在 器件中通过逻辑单元连线时,一定存在延时。延时的大小不仅和了“竞”。这时,往往会出现一些不正确的尖峰信号,这些尖峰信号就是“毛刺”让1.2.3 毛刺的消除1、输出加D 触发器D触发器去读带毛刺的信号, 但是如果毛刺信号发生在时钟信号的跳变沿触发器的效果就没有那么明显了(加 1、输出加D 触发器D触发器去读带毛刺的信号, 但是如果毛刺信号发生在时钟信号的跳变沿触发器的效果就没有那么明显了(加 q,仍含有毛刺。另外,D触发器的使用还会给系统带来一定的延时,D 触发器去除毛刺的时候,一定要视情况而定,并不是所有的毛刺都可以用 D 触发器来消除

4、。2、信号同步法出。因此,做到真正的同步就是去除毛刺信号的关键问题。所以同步的关键就是保证在时3、格雷码计数器二进制计数器,由111转换为000时,必将产生毛刺。此时,使用格雷码计数器将避免1.3 1.3.1 1.3.2 同步电路的设计准则: 1.3 1.3.1 1.3.2 同步电路的设计准则: 1.3.3 关于时钟设计的如今在设计中常见的时钟类型包括: 1.3.3 关于时钟设计的如今在设计中常见的时钟类型包括: 在PLL PLL 锁相环默认将其驱动的时钟分配至全局时钟网络或区域时钟网络Jitter 和Skew 都很小 。D5。 。D5。1.3.4 亚稳setuphold时间不能得到满足,就可

5、 不一定等于原来数据输入端(resolutiontime。经过决断1.3.4 亚稳setuphold时间不能得到满足,就可 不一定等于原来数据输入端(resolutiontime。经过决断亚稳态的危害主要体 。 逻辑误判将导致功能性错误,而亚稳态。 1.3.5 对跨时钟域数据的setup hold 2FIFO或 2FIFO或 2.FPGAFPGA是FieldProgrammableGateArray 的缩写,即现场可编程门阵列, 是一种可编程的:2.2 FPGA 2.FPGAFPGA是FieldProgrammableGateArray 的缩写,即现场可编程门阵列, 是一种可编程的:2.2 F

6、PGA 列SRAMFPGA通俗地说,FPGA是一个Cyclone 系列的器LAB6FPGAPLD 2.3 FPGA ASIC ASIC是Application FPGA通俗地说,FPGA是一个Cyclone 系列的器LAB6FPGAPLD 2.3 FPGA ASIC ASIC是Application a,b,c,dRAM000000113FPGALanguage)和原理图是两种最常用的数字硬件电路描 3FPGALanguage)和原理图是两种最常用的数字硬件电路描 Tools: HDL 编译器 , Text Editor Block&SymbolQuartus)SynopsysVCS,Acti

7、veTools:AssignmentEditor(Quartus) Pin Planner (Quartus)Tools:Synplify SynplifySynopsysysis& DC, yzer Place&evel SimulationAssignPins&RTL SimulationRTL级HDLDesign3.1 需求定义(功能定义3.2RTLHDL 3.33.1 需求定义(功能定义3.2RTLHDL 3.3 功能仿真(前仿真 3.4 管脚分配与设计约束3.5综将RTL级HDL语言翻译成由与、或、非门等基本逻辑单元组成的门级连接(网表门级仿真(综合后仿真3.7 局 可以被理解挑选可

8、实现设计网表的最优的资源组合,布线3.8 时序/时延分局 可以被理解挑选可实现设计网表的最优的资源组合,布线3.8 时序/时延分 iolation3.9配置 4.1verilogRTL 设4.1.1 4.1verilogRTL 设4.1.1 4.1.2 RLT 级设计时需注意:; 3由于硬件是并行工作的,在 Verilog 语言的 module 中,所有描述语句(包括 4.1.3 阻塞赋值与非阻塞赋值xyc/1 y = a + b/2 4.1.3 阻塞赋值与非阻塞赋值xyc/1 y = a + b/2 always( always( edgeclkornegedgeedgeclkorneged

9、geif(rst_n=1b0) y = 1b0;y = if(rst_n=1b0) x = 1b1;x = VerilogHDL中,有两种过程性赋值方式,即阻塞赋值(blockingassignment)和非x = y + c; /1 y = a + b; / 2 x = y + c; /1 y = a + b; / 2 always( always( edgeclkornegedgeedgeclkornegedgeif(rst_n=1b0) y = 1b0;y = if(rst_n=1b0) x = 1b1;x = 4.2 HDL 4.2.1 哪些是不可综合的代码delay alwaysed

10、ge 4.2.1 哪些是不可综合的代码delay alwaysedge for (i=0; iwordlength ; i=i+1)parity=parityxor当 wordlength 为变量时,任何 都不能综合这个代码。这是因为硬件 如何判断自己写的代码是可综合 4.3 RTL 优化 RTL 4.3.1PipeliningPipelining,即流水线时序优化方法,其本质是调整一个较大的 4.3 RTL 优化 RTL 4.3.1PipeliningPipelining,即流水线时序优化方法,其本质是调整一个较大的组合逻辑路径中的寄 时延较大的a_pipe z 4.3.2 模块复用与资源共

11、享 0 4.3.2 模块复用与资源共享 0 inputoutputassigndata_bar=data_in+assignsquare=(data_in7)?(data_bar*data_bar):(data_in*data_in); inputoutputassigndata_tmp=(data_in7)?(data_in+1):data_in; assign square = data_tmp * data_tmp; RTL 4.3.3 4.4 在状态机的设计中采用两段式写法(2 always 模块)或三段式写法(3 4.3.3 4.4 在状态机的设计中采用两段式写法(2 always

12、模块)或三段式写法(3 组合逻辑时序逻辑组合逻辑状组合逻辑输 出若时序允许, 尽量当前状态 组合逻辑时序逻辑组合逻辑时序逻辑当前状态 组合逻辑时序逻辑组合逻辑时序逻辑当前状态 modules parameter/onehotwithzero= 当前状态alwaysedgeclkornegedge/1stalwaysblock,sequentialeifCS=alwaysedgeclkornegedge/1stalwaysblock,sequentialeifCS=CSalways(nrstorCSori1ori2) NS=case/2ndalwaysblock,combinationalcon

13、ditionifif (i1 & i2) if(i1&i2)NS = S1;NS=ifif (i2&if(i2&NS=S1; NS=NS=ifif(i2&if(i2&NS = S2; NS=if (i1) NS=NS=NS=alwaysifedgeclkornegedge/3rdalwaysblock,thesequentialFSMo1,o2,err=o1,o2,err =case (NS)Synplify Pro Synplify Pro FSM 观察器 QuartusFPGA 模块,地址产生模块,ROM查找表模块。整个系统实现的思路是:首先,由外部QuartusFPGA 模块,地址产生模

14、块,ROM查找表模块。整个系统实现的思路是:首先,由外部 定精确120MHz的系统时钟。然后,地址产生模块在系统时钟的激励下,将频率控制字与累加寄存器输出的数据进行累加,然后把累加结果作为地址输出给ROM查找表模块ROM查找表模块在每个系统时钟的上升沿,按照地址ROM查找表中相应的波据就是最终的就来开始设计这个DDS正弦波发生首先,建立一个 Quartus工程,点击 5.240MHz DDS波形信这打算用PLL 锁相环来实现所以可以使用Quartus自带的对这打算用PLL 锁相环来实现所以可以使用Quartus自带的对于时钟产生 右键选择 InsertSymbol;选择 create a cu

15、stom megafunction variation ,然 后选择建立一个新的verilog(clk,input5:0control_word; output 11:0 address; reg 11:0address;always (edgeclkornegedgereset) if(reset=1b0) address=12h000; elseif(enable=1b1) address=address+6b0,control_word; address=address; 其加入到顶层文件中。点击 fileCreate/Update因为在Megafunction 中提供的ROM 模块 其

16、加入到顶层文件中。点击 fileCreate/Update因为在Megafunction 中提供的ROM 模块ROM ROM 成这样,整个系统就设计完成了,下图显示的就是整个设计的顶层文件。在设计的最后, 可以使用 应该确保设计中没有语法错误和设计5.3 管脚分配与设计约束需要将project 中涉及到的引脚分配至指定的pin 上,这 需要将project 中涉及到的引脚分配至指定的pin 上,这 project 分配情况,电平标准为 LVTTL。工作频率为 120MHz ,那么点击,Assignments 或 Quartus使用手册的还是依靠经验。5.4工作频率为 120MHz ,那么点击,

17、Assignments 或 Quartus使用手册的还是依靠经验。5.4(Copiatio。 Synthesis(Fitter(seberyzer,析5.5时序仿右键InsertNodeor析5.5时序仿右键InsertNodeor至 补充一点:大家可以清晰地看到波至 补充一点:大家可以清晰地看到波形仿真中的毛刺,这是因Quartus的仿真是 首先,需要设置配置方式和配置 AssignmentsDevice: 7电首先,需要设置配置方式和配置 AssignmentsDevice: 7电的使用请见使。 DDS一个用原理图方式描述的文件(格式为.bdf 的使用请见使。 DDS一个用原理图方式描述的文件(格式为.bdf 可以点击 moduleDDS_ 11:0wirewire SYNTHESIZED_WIRE_1; SYNTHESIZED_WIRE_1 Uaddress_gen testbench,testbench 化SYNTHESIZED_WIRE_1 Uaddress_gen testbench,testbench 化。对于 DDS 正弦波发生共需要时钟 inclk,复位 reset,使能 enable 和频 reg clk ;reg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论