您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
联系客服
|
搜索
热搜:
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
零点起飞学Xilinx FPGA
字数: 518000
装帧: 平装
出版社: 清华大学出版社
作者: 高敬鹏、武超群、白锦良
出版日期: 2019-04-01
商品条码: 9787302515944
版次: 1
开本: 其他
页数: 320
出版年份: 2019
定价:
¥79.8
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
收藏
上架到店铺
×
Close
上架到店铺
{{shop.name}}
点此去绑定店铺
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥22.05
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
? 由浅入深,循序渐进:本书在内容编排上遵循由浅入深、由易到难的原则,基础知 识与大量实例相结合,读者可边学边练 ? 实例丰富,涉及面广:本书提供丰富的FPGA程序设计实例,内容涉及电子系统的各个领域 ? 兼顾原理,注重实用:本书侧重于实际应用,在编写过程中注重知识的新颖性和实用性,故在书中增加了ISE 14.7软件与ModelSim软件的联合仿真等知识
内容简介
《零点起飞学Xilinx FPGA》以三菱公司主流的FX系列PLC为对象讲述PLC知识,全书分为三篇,基础篇、提高篇和应用篇。 基础篇包括PLC的基本概念、系统配置、内部资源、基本指令系统梯形图程序设计、编程工具等;提高篇包括PLC的功能指令、系统设计方法通信功能等;应用篇包含工业机械实例、运动控制工程实例和过程控制工程实例。 《零点起飞学Xilinx FPGA》适合从事PLC设计的工程人员使用,也适合高校相关专业的学生选作教材使用。
作者简介
目录
目 录 第1章 FPGA系统设计基础 1 1.1 FPGA技术的发展历史和动向 1 1.1.1 FPGA技术的发展历史 1 1.1.2 FPGA技术的发展动向 2 1.2 FPGA的典型应用领域 3 1.2.1 数据采集和接口逻辑领域 3 1.2.2 高性能数字信号处理领域 4 1.2.3 其他应用领域 4 1.3 FPGA的工艺结构 4 1.4 典型的Xilinx FPGA芯片 5 1.5 FPGA芯片的应用 7 1.6 工程项目中FPGA芯片的选择策略和原则 8 1.6.1 尽量选择成熟的产品系列 8 1.6.2 尽量选择兼容性好的封装 8 1.6.3 尽量选择一个公司的产品 9 1.7 FPGA的设计流程 9 1.8 思考与练习 11 第2章 ISE与ModelSim的安装 12 2.1 ISE的安装 12 2.2 ModelSim SE的安装与启动 18 2.3 ISE联合ModelSim设置 22 2.4 思考与练习 29 第3章 ISE操作基础 30 3.1 ISE的基本使用方法 30 3.1.1 新建工程 30 3.1.2 新建HDL文件 32 3.1.3 添加HDL文件 33 3.1.4 新建原理图设计 33 3.1.5 在原理图中调用模块 34 3.1.6 编辑原理图 35 3.1.7 用Constraints Editor设置约束 38 3.1.8 使用XST进行综合 39 3.1.9 设计实现 42 3.1.10 生成下载文件 44 3.1.11 下载FPGA 45 3.2 仿真验证 47 3.2.1 在ISE中仿真验证 47 3.2.2 在ISE中调用ModelSim 51 3.3 CORE Generator的使用方法 56 3.3.1 新建CORE Generator工程 56 3.3.2 新建IP 59 3.3.3 修改已有IP的参数 61 3.3.4 在设计中例化IP 61 3.3.5 选择不同版本的IP 62 3.4 流水灯实例 63 3.4.1 硬件介绍 63 3.4.2 创建工程 63 3.4.3 编写Verilog代码 65 3.4.4 UCF管脚约束 68 3.4.5 编译工程 70 3.4.6 ISE仿真 70 3.4.7 ModelSim仿真验证 75 3.5 思考与练习 80 第4章 Verilog HDL语言概述 81 4.1 Verilog HDL语言简介 81 4.1.1 硬件描述语言 81 4.1.2 Verilog HDL语言的历史 82 4.1.3 Verilog HDL语言的能力 82 4.1.4 Verilog HDL和VHDL语言的异同 83 4.1.5 Verilog HDL和C语言的异同 83 4.2 Verilog HDL语言的描述层次 84 4.2.1 Verilog HDL语言描述能力综述 84 4.2.2 系统级和算法级建模 84 4.2.3 RTL级建模 85 4.2.4 门级和开关级建模 85 4.3 基于Verilog HDL语言的FPGA开发流程 85 4.4 Verilog HDL语言的可综合与仿真特性 87 4.4.1 Verilog HDL语句的可综合性 88 4.4.2 Verilog HDL语句的仿真特性说明 88 4.5 Verilog HDL程序开发的推荐知识 89 4.5.1 数字的表示形式 89 4.5.2 常用术语解释 91 4.5.3 Verilog HDL程序的优劣判断指标 92 4.6 Verilog HDL程序设计模式 93 4.6.1 自顶向下的设计模式 93 4.6.2 层次与模块化模式 94 4.6.3 IP核的重用 94 4.7 思考与练习 98 第5章 Verilog HDL程序结构 99 5.1 程序模块 99 5.1.1 Verilog HDL模块的概念 99 5.1.2 模块的基本结构 99 5.1.3 端口声明 101 5.2 Verilog HDL的层次化设计 101 5.2.1 Verilog HDL层次化设计的表现形式 101 5.2.2 模块例化 102 5.2.3 参数映射 106 5.2.4 在ISE中通过图形化方式实现层次化设计 108 5.3 Verilog HDL语言的描述形式 111 5.3.1 结构描述形式 111 5.3.2 行为描述形式 116 5.3.3 混合设计模式 119 5.4 思考与练习 120 第6章 Verilog HDL语言的基本要素 121 6.1 标志符与注释 121 6.1.1 标志符 121 6.1.2 注释 122 6.2 数字与逻辑数值 122 6.2.1 逻辑数值 122 6.2.2 常量 122 6.2.3 参数 124 6.3 数据类型 124 6.3.1 线网类型 124 6.3.2 寄存器类型 128 6.4 运算符和表达式 132 6.4.1 赋值运算符 132 6.4.2 算术运算符 134 6.4.3 逻辑运算符 136 6.4.4 关系运算符 137 6.4.5 条件运算符 138 6.4.6 位运算符 140 6.4.7 拼接运算符 141 6.4.8 移位运算符 141 6.4.9 一元约简运算符 142 6.5 思考与练习 143 第7章 面向综合的行为描述语句 144 7.1 触发事件控制 144 7.1.1 信号电平事件语句 144 7.1.2 信号跳变沿事件语句 145 7.2 条件语句 146 7.2.1 if语句 146 7.2.2 case语句 147 7.2.3 条件语句的深入理解 150 7.3 循环语句 152 7.3.1 repeat语句 152 7.3.2 while语句 153 7.3.3 for语句 154 7.3.4 循环语句的深入理解 156 7.4 任务与函数 157 7.4.1 task语句 157 7.4.2 function语句 159 7.4.3 深入理解任务和函数 160 7.5 思考与练习 161 第8章 可综合状态机开发 163 8.1 状态机的基本概念 163 8.1.1 状态机的工作原理及分类 163 8.1.2 状态机描述方式 164 8.1.3 状态机设计思想 166 8.2 可综合状态机设计原则 166 8.2.1 状态机开发流程 167 8.2.2 状态编码原则 167 8.2.3 状态机的容错处理 168 8.2.4 常用的设计准则 169 8.3 状态机的Verilog HDL实现 170 8.3.1 状态机实现综述 170 8.3.2 Moore状态机开发实例 173 8.3.3 Mealy状态机开发实例 175 8.4 思考与练习 177 第9章 面向验证和仿真的行为描述语句 178 9.1 验证与仿真概述 178 9.1.1 代码验证与仿真概述 179 9.1.2 测试平台 179 9.1.3 验证测试方法论 181 9.1.4 Testbench结构说明 185 9.2 仿真程序执行原理 186 9.2.1 Verilog HDL语义简介 187 9.2.2 Verilog HDL仿真原理 187 9.3 延时控制语句 189 9.3.1 延时控制的语法说明 189 9.3.2 延时控制应用实例 189 9.4 常用的行为仿真描述语句 192 9.4.1 循环语句 192 9.4.2 force和release语句 194 9.4.3 wait语句 195 9.4.4 事件控制语句 196 9.4.5 task和function语句 197 9.4.6 串行激励与并行激励语句 198 9.5 用户自定义元件 199 9.5.1 UDP的定义与调用 199 9.5.2 UDP应用实例 200 9.6 仿真激励的产生 202 9.6.1 变量初始化 202 9.6.2 时钟信号的产生 205 9.6.3 复位信号的产生 207 9.6.4 数据信号的产生 208 9.6.5 典型测试平台模块编写实例 209 9.6.6 关于仿真效率的说明 210 9.7 思考与练习 210 第10章 系统任务和编译预处理语句 212 10.1 系统任务语句 212 10.1.1 输出显示任务 212 10.1.2 文件输入/输出任务 218 10.1.3 时间标度任务 222 10.1.4 仿真控制任务 224 10.1.5 仿真时间函数 224 10.1.6 数字类型变换函数 226 10.1.7 概率分布函数 226 10.2 编译预处理语句 228 10.2.1 宏定义`define语句 228 10.2.2 条件编译`if语句 230 10.2.3 文件包含`include语句 231 10.2.4 时间尺度`timescale语句 233 10.2.5 其他语句 234 10.3 思考与练习 235 第11章 Verilog HDL语言基础 236 11.1 8-3编码器 236 11.2 3-8译码器 237 11.3 数据选择器 238 11.4 多位数值比较器 240 11.5 全加器 241 11.6 D触发器 242 11.7 寄存器 243 11.8 双向移位寄存器 244 11.9 四位二进制加减法计数器 245 11.10 顺序脉冲发生器 247 11.11 序列信号发生器 248 11.12 思考与练习 249 第12章 扩展接口设计 250 12.1 数码管显示接口实验 250 12.1.1 数码管显示接口实验内容与实验目的 250 12.1.2 数码管显示接口设计原理 251 12.1.3 数码管显示接口设计方法 252 12.2 LCD液晶显示接口实验 259 12.2.1 LCD液晶显示接口实验内容与实验目的 259 12.2.2 LCD液晶显示接口设计原理 259 12.2.3 LCD液晶显示接口设计方法 262 12.3 VGA显示接口实验 267 12.3.1 VGA显示接口实验内容与实验目的 267 12.3.2 VGA显示接口实验设计原理 268 12.3.3 VGA显示接口实验设计方法 269 12.4 RS-232C串行通信接口实验 271 12.4.1 RS-232C串行通信接口实验内容与实验目的 271 12.4.2 RS-232C串行通信接口设计原理 271 12.4.3 RS-232C串行通信接口设计方法 274 12.5 思考与练习 279 第13章 系统设计实例 280 13.1 实时温度采集系统 280 13.1.1 实时温度采集系统实验内容与实验目的 280 13.1.2 实时温度采集系统设计原理 280 13.1.3 实时温度采集系统设计方法 283 13.2 实时红外采集系统 299 13.2.1 实时红外采集系统实验内容与实验目的 299 13.2.2 实时红外采集系统设计原理 299 13.2.3 实时红外采集系统设计方法 301 13.3 实时键盘采集系统 305 13.3.1 实时键盘采集系统实验内容与实验目的 305 13.3.2 实时键盘采集系统设计原理 306 13.3.3 实时键盘采集系统设计方法 308 13.4 思考与练习 320
摘要
第3章 ISE操作基础 本章将介绍从新建一个工程到把结果下载到FPGA的全过程,让初次接触FPGA的读者对使用FPGA进行简易工程的开发有个直接的认识。初学者通过学习本章的内容,可以对FPGA技术有一个初步了解。 3.1 ISE的基本使用方法 使用ISE的设计流程主要包括创建工程、设计输入、设计编译、设计仿真、引脚分配、编程下载等。本节将针对ISE的各个过程进行详细介绍,通过对本节内容的学习,初学者可以掌握ISE的基本使用技巧。 3.1.1 新建工程 使用ISE设计FPGA,首先要新建一个工程。ISE集成开发环境提供了对整个工程的集成管理和开发,设计者可以在ISE环境中完成所有的FPGA设计环节。 【例3-1】 创建工程。 (1)选择File→New Project命令,弹出New Project Wizard对话框,如图3-1所示。在Name输入框中输入工程名称,在Location输入框中指定工程位置,在Top-level source type下拉列表中指定顶层设计的类型,然后单击Next按钮。 图3-1 创建新工程 (2)在Project Settings界面中,选择要使用的FPGA器件的型号、综合工具、仿真工具以及所使用的硬件描述语言,单击Next按钮,如图3-2所示。 图3-2 工程设置 (3)可以在建立好ISE工程以后再建立设计文件,所以这里单击Next按钮,直到Project Summary界面出现,单击Finish按钮完成新建的工程,如图3-3所示。 图3-3 工程概要 3.1.2 新建HDL文件 建好工程后,设计者需要新建HDL(硬件描述语言)文件,HDL文件是设计FPGA的基础。目前最流行的HDL语言有VHDL和Verilog HDL。 ISE集成的HDL编辑器是HDL Editor,它有一个Language Templates语法设计辅助模板,提供了VHDL、Verilog HDL语言和UCF用户约束的语法说明及例子。 【例3-2】 新建HDL文件。 (1)启动ISE,软件默认打开上次关闭的工程。选择File→New,在弹出的New对话框中选择Text File,单击OK按钮。 (2)接下来会打开HDL Editor编辑器,允许编写用户的HDL代码。 (3)输入用户代码后,选择File→Save,在弹出的对话框中输入文件名,选择要保存文件的类型,单击按钮。保存后的文件会以不同的颜色显示关键字。 (4)单击Language Templates按钮,打开语言辅助模板,如图3-4所示。 图3-4 语言辅助模板 (5)从左边的窗格选择模板的类型,右边窗格会显示模板的具体内容。 (6)在用户设计的HDL代码中,将光标定位到需要使用模板的位置,然后回到选择模板窗格,选择好需要使用的模板,单击use in file命令,将范例插入到用户的代码中,最后根据需要修改模板范例即可。 3.1.3 添加HDL文件 使用HDL语言进行设计的好处之一就是便于重用其他设计者的代码,所以可以在已有的工程中添加HDL代码。 【例3-3】 添加HDL文件。 (1)如果只是添加文件,而不需要将文件复制到用户自己的工程中,单击Project→Add Source命令。 如果需要将添加的文件复制到用户自己的工程中,单击Project→Add Copy of Source命令。 (2)在弹出的Add Existing Sources对话框中选择需要添加的文件,单击打开命令,即可完成添加文件的操作。 3.1.4 新建原理图设计 以原理图方式设计工程具有直观清晰的特点,几乎所有的FPGA设计软件都提供原理图设计输入方法。ISE集成了原理图输入工具ECS(Engineering Capture System)。 设计者可以采用原理图方式来进行工程顶层设计,而底层设计则采用HDL代码。这样的设计结构清晰,便于工程的设计和维护。 【例3-4】 新建原理图。 (1)启动ISE,默认会打开上次关闭的工程,选择File→New,在弹出的New对话框中选择Schematic,如图3-5所示,单击OK按钮。 图3-5 文件类型 (2)接下来会出现一个空白的原理图输入界面。在ISE中,该界面默认嵌入在ISE集成环境中,为了获得更大的编辑空间,可以将窗口悬浮,以便更加方便地编辑原理图。右击窗口下侧文件名,单击Float命令,可以将原理图编辑窗口悬浮,如图3-6所示。 图3-6 原理图编辑窗口 3.1.5 在原理图中调用模块 在ISE中提供了很多模块供设计者使用,这些模块都是经过验证的、功能正确的设计,设计者调用这些模块可以大大加快设计进程。同时,设计者还可以自己设计具有特定功能的模块,以便在后续的设计中使用。 【例3-5】 在原理图中调用模块。 (1)在原理图输入窗口左边的窗格选择Symbols选项卡,如图3-7所示。 图3-7 Symbols选项卡 (2)在Categories窗格中选择模块所属的类型,例如选择Arithmetic算术类型模块。 (3)在Symbols窗格中选择需要的模块,例如选择add4,将鼠标指针移动到原理图编辑窗口,会看到出现一个4位的加法器。 (4)将模块移动到合适的位置,单击鼠标左键,放置模块,如图3-8所示。 图3-8 模块放置 3.1.6 编辑原理图 ISE的原理图输入工具提供了许多实用的技巧,方便设计者快速编辑原理图,包括自动连线、快速添加端口等。 【例3-6】 编辑原理图。 (1)首先在原理图中添加设计模块,并将模块放置到适当的位置。 (2)单击绘图工具栏中的按钮,出现十字指针,移动十字指针连接原理图中的信号端口。 (3)单击按钮,在窗口左边Options选项卡下,Name输入框中输入网络名称,如图3-9所示。然后单击需要命名的网络,该网络会被命名为指定的名称。 (4)完成设计后,需要添加I/O端口引脚。单击按钮,在Options选项卡中,指定I/O类型,然后在原理图中需要添加引脚的端口上,按住鼠标左键拖出一个框,该框内的信号端口会自动添加I/O引脚,如图3-10所示。 图3-9 原理图编辑窗口 图3-10 添加I/O引脚 (5)完成设计后,可以将设计生成用户器件,以便将来调用。在资源管理窗口中选择需要生成器件的文件,这里选择flash,在Process:flash窗格中打开Design Utilities,双击Create Schematic Symbol选项生成相应的用户模块,如图3-11所示。 图3-11 生成用户模块 (6)在原理图设计窗口的左边窗格,选择Symbols选项卡,在Categories窗格中选择用户工程目录,然后选择用户模块,如图3-12所示。 图3-12 选择用户模块 3.1.7 用Constraints Editor设置约束 ISE提供的Constraints Editor工具可以简单地进行时钟周期、输入延迟、端口和分组等约束设置,并将约束结果自动保存到UCF文件中。设计者可以通过修改生成的UCF文件完成约束设置,而不需要特别研究UCF文件的语法。 【例3-7】 使用Constraints Editor设置时钟周期约束。 (1)在ISE的资源管理窗口中,选择需要添加约束的顶层文件,在Processes窗口中,展开User Constraints,双击Create Timing Constraints选项,如图3-13所示。 图3-13 创建时序约束 (2)打开如图3-14所示的界面,首先设置系统时钟周期约束。 图3-14 Constraints Editor界面 (3)在Constraints Editor界面的左边窗格打开Timing Constraints,单击【Clock Domains】,设置时钟周期的界面出现。双击该界面右侧Period标签下边的空白处,会弹出Clock Period对话框。 (4)如图3-15所示,设置时钟周期的图形界面能够帮助设计者方便地进行约束设置,其中最上方是图形说明,说明各个约束的含义。这里设置时钟周期为10ns,即100MHz,占空比为1∶1。 图3-15 Clock Period界面
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网