集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3467|回复: 14

四则运算小计算器设计过程实录(代码下载)

[复制链接]
lcytms 发表于 2017-3-3 10:47:24 | 显示全部楼层 |阅读模式
本帖最后由 lcytms 于 2017-3-3 11:36 编辑

四则运算小计算器设计过程实录(代码下载)


《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》

出版社: 北京航空航天大学出版社        出版时间:2016-01-01
作者:赵然        开本: 16开
定价: 29.00        页数:174        印次: 1
ISBN号:9787512419582

赵然
首都师范大学光学工程硕士,曾在夏宇闻老师指导下学习Verilog数字系统设计三个月,美国国家仪器(NI)认证CLAD工程师。
擅长数字逻辑设计,现任中国科学院计算技术研究所(ICT)工程师,从事FPGA开发工作。

本书以日记的形式记录了一个可实现四则运算计算器的设计过程,从而达到学习FPGA 设计的目的.
全书共10章,讲述了从设计开始到完成的全过程,其中包括数码管显示、键盘扫描、状态机等基础模块的设计,以及设计中需要注意的问题等,
每一章的最后还有夏宇闻老师对本章内容的点评及给读者的学习建议.
希望读者按顺序阅读本书,同时进行实践操作,并与书中的进度保持一致,最终完成整个设计.
读者也可以根据自己的想法来实现想要的功能,做到举一反三,以达到好的学习效果.书中使用的硬件为至芯科技的四代开发板、AlteraCycloneIV的芯片,软件为QuartusII13.0sp1.
  
本书可作为电子工程类、自动控制类、计算机类的大学本科高年级学生及研究生设计实验参考用书,亦可供其他工程人员自学与参考.

如果您想10天就跨入FPGA系统设计的大门,这本书可以带您实现理想。
准备好您的板子,跟着赵然和夏宇闻教授的讲解,动手吧!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-3 10:50:27 | 显示全部楼层
本帖最后由 lcytms 于 2017-3-3 11:34 编辑

目录

第1章 第一天———数码管显示模块的设计………………………………………… 1
        1.1 设计需求讲解………………………………………………………………… 1
        1.2 七段式数码管显示原理讲解………………………………………………… 2
        1.3 设计工具使用讲解…………………………………………………………… 4
                1.3.1 QuartusII工具的配置………………………………………………… 4
                1.3.2 数码管显示模块的可综合代码………………………………………… 6
                1.3.3 显示模块的测试………………………………………………………… 8
                1.3.4 转到ModelSim 仿真工具进行测试…………………………………… 11
                1.3.5 下载程序到开发板进行调试…………………………………………… 13
        1.4 今天工作总结………………………………………………………………… 19
        1.5 夏老师评述…………………………………………………………………… 19
第2章 第二天———键盘扫描模块的设计………………………………………… 21
        2.1 设计需求讲解………………………………………………………………… 21
        2.2 七段式数码管显示原理讲解………………………………………………… 22
        2.3 设计工具使用讲解…………………………………………………………… 23
                2.3.1 矩阵键盘码扫描分析模块的可综合代码……………………………… 24
                2.3.2 矩阵键盘码扫描分析模块代码解析…………………………………… 29
                2.3.3 矩阵键盘扫描分析模块的测试………………………………………… 35
                2.3.4 转到ModelSim 仿真工具进行测试…………………………………… 42
                2.3.5 下载程序到开发板进行调试…………………………………………… 42
        2.4 今天工作总结………………………………………………………………… 46
        2.5 夏老师评述…………………………………………………………………… 47
第3章 第三天———输入状态机模块的设计……………………………………… 48
        3.1 设计需求讲解………………………………………………………………… 48
        3.2 我对状态机概念的理解……………………………………………………… 48
        3.3 设计工具使用讲解…………………………………………………………… 49
                3.3.1 范例代码解析…………………………………………………………… 49
                3.3.2 重写状态机代码………………………………………………………… 61
                3.3.3 转到ModelSim 仿真工具进行测试…………………………………… 67
                3.3.4 下载程序到开发板进行调试…………………………………………… 67
        3.4 今天工作总结………………………………………………………………… 71
        3.5 夏老师评述…………………………………………………………………… 72
第4章 第四天———BCD 码与二进制码转换模块的设计………………………… 73
        4.1 设计需求讲解………………………………………………………………… 73
        4.2 BCD码转二进制码………………………………………………………… 74
                4.2.1 BCD码转二进制码的可综合代码…………………………………… 74
                4.2.2 BCD码转二进制码模块的测试代码………………………………… 75
                4.2.3 转到ModelSim 仿真工具进行测试…………………………………… 76
                4.2.4 二进制码转BCD码的可综合代码…………………………………… 76
                4.2.5 二进制码转BCD码模块的测试……………………………………… 80
                4.2.6 转到ModelSim 仿真工具进行测试…………………………………… 82
        4.3 今天工作总结………………………………………………………………… 83
        4.4 夏老师评述…………………………………………………………………… 83
第5章 第五天———计算模块的设计……………………………………………… 84
        5.1 设计需求讲解………………………………………………………………… 84
        5.2 设计工具使用讲解…………………………………………………………… 84
                5.2.1 计算模块的可综合代码………………………………………………… 85
                5.2.2 计算模块的测试………………………………………………………… 85
                5.2.3 转到ModelSim 仿真工具进行仿真…………………………………… 87
                5.2.4 模块连接关系…………………………………………………………… 88
                5.2.5 下载程序到开发板进行调试…………………………………………… 95
        5.3 今天工作总结………………………………………………………………… 95
        5.4 夏老师评述…………………………………………………………………… 95
第6章 第六天———可进行连续运算的状态机改进……………………………… 97
        6.1 设计需求讲解………………………………………………………………… 97
        6.2 状态机设计讲解……………………………………………………………… 97
                6.2.1 状态机的编码形式……………………………………………………… 97
                6.2.2 状态机的分类…………………………………………………………… 98
                6.2.3 状态转移图(STD) …………………………………………………… 102
        6.3 设计工具使用讲解………………………………………………………… 103
                6.3.1 状态机模块的可综合代码…………………………………………… 103
                6.3.2 状态机模块的测试…………………………………………………… 107
                6.3.3 转到ModelSim 仿真工具进行仿真………………………………… 111
                6.3.4 下载程序到开发板进行调试………………………………………… 111
        6.4 今天工作总结……………………………………………………………… 113
        6.5 夏老师评述………………………………………………………………… 114
第7章 第七天———面积优化……………………………………………………… 115
        7.1 设计需求讲解……………………………………………………………… 115
        7.2 面积与速度………………………………………………………………… 116
        7.3 模块改进…………………………………………………………………… 118
                7.3.1 计算模块的可综合代码……………………………………………… 118
                7.3.2 转到ModelSim 仿真工具进行测试………………………………… 121
                7.3.3 下载程序到开发板进行调试………………………………………… 123
        7.4 今天工作总结……………………………………………………………… 125
        7.5 夏老师评述………………………………………………………………… 126
第8章 第八天———二进制码转BCD 码模块的优化…………………………… 127
        8.1 设计需求讲解……………………………………………………………… 127
        8.2 算法实现…………………………………………………………………… 128
        8.3 模块改进…………………………………………………………………… 129
                8.3.1 二进制码转BCD码模块的可综合代码……………………………… 129
                8.3.2 转到ModelSim 仿真工具进行测试………………………………… 132
                8.3.3 下载程序到开发板进行调试………………………………………… 134
        8.4 今天工作总结……………………………………………………………… 138
        8.5 夏老师评述………………………………………………………………… 140
第9章 第九天———去“0”模块的设计…………………………………………… 141
        9.1 设计需求讲解……………………………………………………………… 141
        9.2 算法实现…………………………………………………………………… 141
        9.3 模块改进…………………………………………………………………… 142
                9.3.1 去“0”模块的可综合代码……………………………………………… 142
                9.3.2 转到ModelSim 仿真工具进行测试………………………………… 144
                9.3.3 下载程序到开发板进行调试………………………………………… 146
        9.4 今天工作总结……………………………………………………………… 150
        9.5 夏老师评述………………………………………………………………… 151
第10章 第十天———负数计算…………………………………………………… 152
        10.1 设计需求讲解……………………………………………………………… 152
        10.2 二进制数表示法…………………………………………………………… 152
        10.3 补码原码转换模块………………………………………………………… 153
                10.3.1 补码转原码模块的可综合代码……………………………………… 154
                10.3.2 转到ModelSim 仿真工具进行测试………………………………… 154
                10.3.3 原码转补码模块的可综合代码……………………………………… 155
                10.3.4 转到ModelSim 仿真工具进行测试………………………………… 155
        10.4 其他模块的修改…………………………………………………………… 156
                10.4.1 显示模块的修改……………………………………………………… 156
                10.4.2 消“0”模块的修改…………………………………………………… 159
                10.4.3 BCD码和二进制码转换模块的修改……………………………… 160
                10.4.4 计算模块的修改……………………………………………………… 163
                10.4.5 按键状态机模块的修改……………………………………………… 165
                10.4.6 顶层模块的修改……………………………………………………… 169
        10.5 下载程序到开发板进行调试……………………………………………… 171
        10.6 今天工作总结……………………………………………………………… 171
        10.7 夏老师评述………………………………………………………………… 172
参考文献……………………………………………………………………………… 174
 楼主| lcytms 发表于 2017-3-3 10:57:28 | 显示全部楼层
本帖最后由 lcytms 于 2017-3-3 11:05 编辑

《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》
图书内页1

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-3 11:08:58 | 显示全部楼层
《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》
图书内页2

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-3 11:15:07 | 显示全部楼层
《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》
图书内页3

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-3 11:18:21 | 显示全部楼层
《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》
图书内页4

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-3 11:20:12 | 显示全部楼层
《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》
图书内页5

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-3 11:23:42 | 显示全部楼层
《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》
图书内页6

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-3 11:25:28 | 显示全部楼层
《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》
图书内页7

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-3 11:28:10 | 显示全部楼层
《四则运算小计算器设计过程实录:Verilog FPGA数字系统设计入门学习日记》
图书内页8

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-7 10:58 , Processed in 0.067207 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表