FPGA设计基础 第3章FPGA设计入门.ppt

FPGA设计基础 第3章FPGA设计入门.ppt

ID:48907761

大小:634.50 KB

页数:76页

时间:2020-02-01

FPGA设计基础 第3章FPGA设计入门.ppt_第1页
FPGA设计基础 第3章FPGA设计入门.ppt_第2页
FPGA设计基础 第3章FPGA设计入门.ppt_第3页
FPGA设计基础 第3章FPGA设计入门.ppt_第4页
FPGA设计基础 第3章FPGA设计入门.ppt_第5页
资源描述:

《FPGA设计基础 第3章FPGA设计入门.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章FPGA设计入门有效的建模风格是控制综合结果的最有力手段。绝大多数系统设计都是使用HDL来实现。利用VerilogHDL进行FPGA设计规则、方法和技巧。Page1组合逻辑电路是指数字电路在任何时刻的输出仅仅取决于该时刻数字电路的输入,而与电路原来的状态无关。组合逻辑电路分类:门电路编码器、译码器和选择器数据缓冲器时序逻辑电路时序逻辑电路就是指数字电路在任何时刻的输出不仅仅取决于该时刻数字电路的输入,还取决于电路原来的状态。时钟:进程敏感信号同步与异步复位同步复位:复位语句是在以时钟为进程中执行异步复位:进程敏感信号包括时钟和复位信号分类:触发器计数

2、器:同步:在时钟下,各触发器状态同时变化异步:上一位数据是下个触发器的时钟信号3.1系统的抽象层次与Verilog一个系统可以在不同的抽象层次上进行描述,也可以从不同的描述域(行为/结构/物理)进行描述。1、系统描述的三个“域”行为域说明一个特定的系统完成什么功能结构域说明不同的实体之间是如何连接的物理域则说明如何构造出一个实际的器件Page33.1系统的抽象层次与VerilogVerilog可以在三个域、五个抽象层次上描述一个系统。行为模型---着重于描述系统的功能,忽略系统的实现(系统级或体系结构级,也可能是算法级)。结构模型---较为详细地至少描述到

3、寄存器数据流的方式,大体的描述到了系统的结构和实现(RTL/门级/开关级)。Page43.1系统的抽象层次与Verilog2、系统描述的五个层次工程师可以在系统级、算法级、RTL(RegisterTransferLevel寄存器传输)级、逻辑级和电路级五个层次上描述一个系统,其中系统级的抽象层次最高,而电路级的抽象层次最低。抽象层次越高,所包含的细节信息就越少,抽象层次越低,所包含的细节就越多。Page5Page63.1系统的抽象层次与Verilogmoduleadder(a,b,c0,c,sum);input[3:0]a,b;inputc0;output

4、[3:0]sum;outputc;wire[4:0]mid_res;assignmid_res=a+b+c0;assignsum=mid_res[3:0];assignc=mid_res[4];endmodule例如:行为级建模4bit全加器。因为在系统设计初期,人们更关心所设计系统的逻辑功能,还未关心系统的性能。行为级功能确认后,可进一步细化得到结构模型。Page73.1系统的抽象层次与Verilog行为级综合有时也称为高层次综合(high-levelsynthesis),高层次综合工具对行为级描述电路的综合效果没有用RTL级描述的电路综合的效果好,故大

5、部分的电路是在RTL级进行描述的。我们通常用Verilog在RTL级描述一个设计,借助于自动综合工具,设计人员可以将RTL级代码快速且便捷地变换成逻辑级描述。Page83.1系统的抽象层次与VerilogRTL级描述的典型模型Page93.1系统的抽象层次与Verilog对于有些特殊的电路,我们有时也采用“门级描述”来描述结构模型---即通过逻辑门及其互连线描述电路。在Verilog中可以通过三种实例化语句描述结构模型。Verilog內建的基本逻辑门用户定义原语UPDModule实例语句(BookP86/87分别有RTL描述和门级描述例子)Page103.

6、2用Verilog建立数字电路模型设计的最终目标是将设计电路映射到具体的物理器件上。Verilog功能强大,用途范围广泛,语句丰富,但其中只有部分子集描述的设计可以通过EDA工具综合成具体的电路----Verilog可综合子集。良好的建模风格是控制综合结果的最有力的手段。Page113.2.1代码的书写风格编写代码的目的是对系统进行精确的描述,进行人--机(人--人)交流1、完备清晰的版本信息2、简洁扼要的功能说明,端口说明、变量说明,注释信息3、规范的端口定义,端口、变量命名规则4、模块互连时采用“显式关联方式”Page123.2.2可综合代码的编码风格

7、always@(posedgeclk)beginbeginbeginq1=d;q3=q2;q1<=d;q2=q1;q2=q1;q2<=q1;q3=q2;q1=d;q3<=q2;endendend//A1//B//C1、正确地理解和使用“阻塞/非阻塞”赋值备注:综合结果见P91、P92图示。例3.2见ModelSim例集例3.1三级移位寄存器的设计。B、C:三移位寄存器A:D触发器Page13Page143.2.2可综合代码的编码风格建议:在用always过程建立组合电路时,使用阻塞赋值(=),在用always过程描述时序电路时,使用非阻塞赋值语句(<=)。

8、小技巧:在用always过程建立组合电路时,所有的RHS变量都要加

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。