新書推薦:

《
无人机摄影与摄像从新手到高手
》
售價:HK$
54.8

《
电力算力网络:技术、应用与发展
》
售價:HK$
162.8

《
文明交流互鉴:原始儒家与早期基督教生命伦理比较研究
》
售價:HK$
96.8

《
博我以文:清代前中期的古文与知识秩序 国家社科基金后期资助项目
》
售價:HK$
206.8

《
一间自己的房间(精装全译本)激发女性觉醒的心灵之书
》
售價:HK$
55.0

《
印度神话(从众神角度深入解读古印度的两大史诗;窥览三相神梵天、毗湿奴和湿婆的神秘职责;探索诸神提婆与恶魔阿修罗的长久斗争)
》
售價:HK$
108.9

《
算法竞赛核心教程:策略与算法深度解析
》
售價:HK$
96.8

《
深入理解PyTorch
》
售價:HK$
174.9
|
內容簡介: |
本书根据电子信息类课程理论教学和实践教学要求,以提高数字系统设计能力为目的,系统完整地阐述EDA技术、FPGA/CPLD器件、Verilog HDL语言和相关数字系统设计技术。全书以Quartus Prime、ModelSim软件为工具,按\器件-软件-语言-案例”为主线展开,内容紧贴教学和科研实际,以可综合的设计为重点,通过诸多精选设计案例,阐述数字系统设计的方法与技术,由浅入深介绍Verilog工程开发的知识与技能。全书案例丰富,富于启发性,并全部基于目标板进行了验证。
|
關於作者: |
王金明,男,1972年5月出生,博士,现为解放军陆军工程大学副教授、硕士生导师。曾获军队科技进步一等奖1项,军队科技进步二等奖3项,军队科技进步三等奖5项,获军队级教学成果二等奖1项;获国家发明专利授权2项,获软件著作授权1项;发表论文80余篇,其中SCI、EI收录30余篇;主编教材多部,并入选”十一五”国家级规划教材和”十二五”国家级规划教材;2013年获军队院校育才奖银奖;2014年由国家留学基金委资助,在美国威斯康星大学麦迪逊分校访问研究1年;指导本科生参加全国大学生电子设计竞赛,共获得全国一等奖8项。
|
目錄:
|
第1章 EDA技术概述1 1.1 EDA技术及其发展历程1 1.2 Top-down设计思路3 1.2.1 Top-down设计3 1.2.2 Bottom-up设计4 1.3 IP核复用4 1.3.1 IP核复用技术4 1.3.2 片上系统5 1.4 EDA设计的流程6 1.4.1 设计输入6 1.4.2 综合(编译)7 1.4.3 布局布线7 1.4.4 时序分析7 1.4.5 功能仿真与时序仿真8 1.4.6 编程与配置8 1.5 常用的EDA工具软件8 习题111 第2章 FPGA/CPLD器件12 2.1 PLD器件概述12 2.1.1 PLD器件的发展历程12 2.1.2 PLD器件的分类12 2.2 PLD的原理与结构14 2.3 低密度PLD的原理与结构15 2.4 CPLD的原理与结构18 2.4.1 宏单元结构19 2.4.2 典型CPLD的结构19 2.5 FPGA的原理与结构20 2.5.1 查找表结构20 2.5.2 FPGA的结构23 2.5.3 MAX 10器件结构24 2.5.4 Cyclone IV器件结构27 2.6 FPGA/CPLD的编程工艺28 2.6.1 熔丝型开关28 2.6.2 反熔丝型开关28 2.6.3 浮栅编程工艺29 2.6.4 SRAM编程工艺31 2.7 边界扫描测试技术32 2.8 FPGA/CPLD的编程与配置33 2.8.1 在系统可编程33 2.8.2 Cyclone IV器件的配置34 2.8.3 MAX 10器件的配置36 2.9 典型的FPGA/CPLD系列37 习题240 第3章 原理图与基于IP核的设计41 3.1 设计流程41 3.2 原理图设计方式42 3.2.1 半加器设计42 3.2.2 1位全加器设计45 3.2.3 编译46 3.2.4 仿真47 3.2.5 下载52 3.3 基于IP核的设计55 3.4 锁相环IP核60 3.5 SignalTap II的使用方法65 习题369 第4章 Verilog设计初步72 4.1 Verilog HDL简史72 4.2 Verilog模块初识73 4.3 Verilog设计示例75 4.3.1 Verilog组合电路设计75 4.3.2 Verilog时序电路设计77 4.4 Verilog文字规则79 4.4.1 词法79 4.4.2 字符串80 4.4.3 标识符81 4.5 数字83 4.5.1 整数83 4.5.2 实数84 4.5.3 数的转换85 4.5.4 整数用于表达式85 4.6 数据类型85 4.6.1 值集合85 4.6.2 net数据类型86 4.6.3 variable数据类型87 4.7 向量89 4.7.1 位选89 4.7.2 常数段选89 4.7.3 索引段选90 4.8 数组91 4.8.1 数组91 4.8.2 存储器91 4.8.3 数组的赋值91 4.9 参数92 4.9.1 parameter参数92 4.9.2 localparam局部参数94 4.9.3 specparam参数94 4.9.4 参数值修改95 4.10 操作符96 4.10.1 算术操作符96 4.10.2 关系操作符97 4.10.3 等式操作符98 4.10.4 逻辑操作符98 4.10.5 位操作符99 4.10.6 缩减操作符99 4.10.7 移位操作符100 4.10.8 指数操作符101 4.10.9 条件操作符101 4.10.10 拼接操作符102 4.10.11 操作符的优先级102 习题4103 第5章 Verilog行为描述104 5.1 行为级建模104 5.1.1 always过程语句104 5.1.2 initial过程106 5.2 过程时序控制106 5.2.1 延时控制106 5.2.2 事件控制107 5.3 过程赋值109 5.3.1 variable型变量声明时赋值109 5.3.2 阻塞过程赋值109 5.3.3 非阻塞过程赋值110 5.3.4 阻塞过程赋值与非阻塞过程赋值的区别110 5.4 过程连续赋值112 5.4.1 assign和deassign112 5.4.2 force和release113 5.5 块语句114 5.5.1 串行块begin-end114 5.5.2 并行块fork-join114 5.5.3 块命名115 5.6 条件语句116 5.6.1 if-else语句117 5.6.2 case语句119 5.6.3 casez与casex语句121 5.7 循环语句122 5.7.1 for语句122 5.7.2 repeat、while和forever语句123 5.8 任务125 5.8.1 任务125 5.8.2 任务示例126 5.9 函数129 5.9.1 函数129 5.9.2 任务和函数的区别132 5.10 automatic任务和函数133 5.10.1 automatic任务133 5.10.2 automatic函数134 5.11 编译指令135 5.11.1 `timescale135 5.11.2 `define和`undef137 5.11.3 `ifdef、`else、`elsif、`endif和`ifndef137 5.11.4 `include139 习题5140 第6章 Verilog设计的层次与风格141 6.1 Verilog描述的层级和方式141 6.2 Verilog门元件142 6.2.1 门元件142 6.2.2 门元件的例化143 6.3 门级结构描述144 6.4 用户自定义元件145 6.4.1 组合逻辑UDP146 6.4.2 时序逻辑UDP147 6.4.3 时序UDP的初始化和例化149 6.5 连续赋值151 6.5.1 连续赋值151 6.5.2 在net变量声明时赋值151 6.5.3 驱动强度152 6.6 数据流描述153 6.6.1 数据流描述加法器153 6.6.2 数据流描述减法器155 6.6.3 数据流描述触发器158 6.6.4 格雷码与二进制码相互转换161 6.7 多层次结构电路设计163 6.7.1 带参数模块例化163 6.7.2 用parameter进行参数传递164 6.7.3 用defparam进行参数重载165 6.8 generate生成语句166 6.8.1 generate、for生成语句166 6.8.2 generate、if生成语句168 6.8.3 generate、case生成语句168 6.9 三态逻辑设计170 6.10 属性171 习题6172 第7章 Verilog有限状态机设计174 7.1 引言174 7.2 有限状态机的Verilog描述175 7.2.1 三段式状态机描述175 7.2.2 两段式状态机描述176 7.2.3 单段式状态机描述177 7.3 状态编码178 7.3.1 常用的编码方式178 7.3.2 状态编码的定义179 7.3.3 用属性语句指定状态编码182 7.4 用有限状态机实现除法器184 7.5 用有限状态机控制流水灯187 7.5.1 流水灯控制器187 7.5.2 引脚分配与锁定188 7.6 用状态机控制字符液晶192 习题7198 第8章 Verilog驱动常用I/O外设200 8.1 标准PS/2键盘200 8.2 4×4矩阵键盘204 8.3 汉字图形点阵液晶210 8.3.1 LCD12864B简介210 8.3.2 LCD12864B静态显示211 8.3.3 LCD12864B动态显示213 8.4 VGA显示器214 8.4.1 VGA显示原理与时序214 8.4.2 VGA显示彩条216 8.4.3 VGA显示彩色圆环219 8.4.4 VGA显示图像221 8.5 TFT-LCD液晶屏225 8.5.1 TFT-LCD液晶屏225 8.5.2 TFT-LCD屏显示彩色圆环228 8.5.3 TFT-LCD屏显示动态矩形230 8.6 音乐演奏电路232 8.6.1 音符演奏232 8.6.2 音乐演奏236 8.7 数字钟240 习题8243 第9章 Verilog设计进阶245 9.1 面向综合的设计245 9.2 加法器设计247 9.2.1 行波进位加法器247 9.2.2 超前进位加法器248 9.3 乘法器设计251 9.3.1 用乘法操作符实现251 9.3.2 布斯乘法器252 9.3.3 查找表乘法器256 9.4 有符号数的运算259 9.4.1 有符号数的加法运算259 9.4.2 有符号数的乘法运算260 9.4.3 绝对值运算261 9.5 ROM存储器262 9.5.1 用数组例化存储器262 9.5.2 例化lpm_rom实现存储器264 9.6 RAM存储器265 9.6.1 单口RAM266 9.6.2 异步FIFO267 9.7 流水线设计270 9.8 资源共享273 9.9 奇数分频与小数分频274 9.9.1 奇数分频274 9.9.2 半整数分频275 9.9.3 小数分频276 习题9279 第10章 Test Bench测试与时序检查280 10.1 系统任务与系统函数280 10.2 显示类任务281 10.2.1 $display与$write281 10.2.2 $strobe与$monitor282 10.3 文件操作类任务283 10.3.1 $fopen与$fclose284 10.3.2 $fgetc与$fgets284 10.3.3 $readmemh与$readmemb286 10.4 控制和时间类任务287 10.4.1 $finish与$stop287 10.4.2 $time、$stime与$realtime288 10.4.3 $printtimescale与$timeformat288 10.4.4 $signed与$unsigned290 10.5 随机数与概率分布函数291 10.5.1 $random291 10.5.2 概率分布函数292 10.6 Verilog中的延时定义293 10.6.1 门延时294 10.6.2 赋值延时296 10.7 specify块与模块路径延时296 10.7.1 specify块296 10.7.2 模块路径延时297 10.7.3 模块路径延时和分布延时混合299 10.8 时序检查299 10.8.1 $setup和$hold300 10.8.2 $width和$period301 10.9 Test Bench测试302 10.9.1 Test Bench302 10.9.2 产生激励信号302 10.9.3 产生时钟信号303 10.9.4 读写文件304 10.9.5 显示结果306 10.10 测试示例306 10.11 ModelSim SE使用指南309 10.11.1 图形用户界面方式的功能仿真310 10.11.2 命令行方式的功能仿真313 10.11.3 时序仿真314 习题10316 第11章 Verilog设计实例317 11.1 超声波测距317 11.2 脉宽调制与步进电动机驱动321 11.2.1 PWM信号322 11.2.2 用PWM驱动蜂鸣器323 11.2.3 用PWM驱动步进电动机324 11.3 整数开方运算327 11.4 频率测量331 11.5 FIR滤波器337 11.5.1 FIR滤波器的参数设计337 11.5.2 FIR滤波器的实现341 11.6 Cordic算法及实现344 11.6.1 Cordic算法344 11.6.2 Cordic算法1
|
|