FPGAcpld在软件无线电中的工程应用上.ppt

  1. 1、本文档共230页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGAcpld在软件无线电中的工程应用上

●引脚与区域约束编辑器(PACE,pinout and Area Constraints Edit),它可以直接将信号指定到I/O 管脚,方便地拉出测试信号,对设计进行面积约 束,自动生成用户约束文件,是约束编译器的有 益补充。 ●时序分析器是分析实现结果是否满足约束条件、 芯片的工作速率以及关键路径等时延信息的工 具,能方便地将实现过程生成的各种时延报告分 类显示,并对比约束文件,分析是否满足时序要 求。 ●芯片观察窗给用户提供一个图形界面观察适配前 (Pre-fitting)和适配后(Post-fitting)的输入输 出、管脚锁定、宏单元结构等信息。适配前信息 来源于.ngd文件,适配后信息来源于.vm6文件。 ●FPGA底层编辑器读取FPGA的布线信息(.ncd)文 件,用图形化界面显示FPGA内部的CLB和IOB模块结 构,根据用户的设置与修改生成Xilinx物理约束文件 (PCF)文件。使用FPGA Editor可以完成如下功能:在 自动布线前,手工布置关键路径,提高电路工作频率; 帮助布线器完成自动布线难以实现的路径;在FPGA内 部的任何一个节点设置探针,拉出待测信号IO端口,这 种方法显然要比在HDL源代码中逐层用语言描述,将待 测信号拉到IO端口的方法更灵活:改变内部在线逻辑分 析仪(ILA)的连线和配置;FPGA Editor的高级用户甚 至可以手动添加和连接一个个内部元件(CLB、IOB) 以完成电路设计与实现。 时钟发生器实例 S2: begiin clk2=~clk2; clk4=~clk4; state=S3; end 时钟发生器实例 S3: begiin clk2=~clk2; state=S4; end 时钟发生器实例 S4: begiin clk2=~clk2; clk4=~clk4; clk8=~clk8; state=S5; end 时钟发生器实例 S5: begiin clk2=~clk2; state=S6; end 时钟发生器实例 S6: begiin clk2=~clk2; clk4=~clk4; state=S7; end 时钟发生器实例 S7: begiin clk2=~clk2; state=S8; end 时钟发生器实例 S8: begiin clk2=~clk2; clk4=~clk4; clk8=~clk8; state=S1; end 时钟发生器实例 Idle: state=S1; Default: state=idle; Endcase End endmodule task和function说明语句 task和function说明语句分别用来定义任务和 函数。他们的不同点有以下4点: 1)函数只能与主模块共用同一个仿真时间单位、 而任务可以定义自己的仿真时间单位。 2)函数不能启动任务,而任务能启动其他任务和 函数。 3)函数至少要有一个输入变量,而任务可以没有 或有多个任何类型的变量。 4)函数返回一个值,而任务则不返回值。 task说明语句 任务定义 take<任务名>; <端口及数据类型声明语句> <语句1> <语句2> … <语句n> endtask function说明语句 函数的目的是返回一个用于表达式的值。 定义函数的语法; function<返回值的类型或范围>; <端口说明语句> <变量类型说明语句> begin <语句> … end endfunction $标识符 ‘$’ 符号表示 Verilog 的系统任务和函数 常用的系统任务和函数有下面几种: 1)$time //找到当前的仿真时间 2)$display, $monitor //显示和监视信号值的变 化 3)$stop //暂停仿真 4)$finish //结束仿真 ---------------------------------------------------- --- 例: initial $monitor($time,,”a=%b, b=%b”, a, b); //每当a 或b值变化时该系统任务都显示当前的仿真时刻并 分别用二进制和十六进制显示信号a和 b的值 “ ” 特殊符号 “#” 常用来表示延迟: 在过程赋值语句时表示延迟。 例 : initial begin #10 rst=1; #50 rst=0; end 在门级实例引用时表示延迟。 例:not #1 not1(nsel, sel); and #2 and2(a1, a, nsel); 4.10 编译预处理 在Verilog HDL语言中,为了和一般的语句相区别

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档