【西西学FPGA】Lesson4
2016-05-05 12:54
363 查看
第四讲 宾立武
状态机
top—down
IP ram rom 调用
实验:
1 I_Love_You 字符检测
2 Top—down 分模块设计:1个四分频,1个16分频 ,一个运算模块 以16分频的flag为触发信号,组成一个顶层
3 状态机:一个状态机state_a模块 ,IDLE到 cnt_9 到 END
IDLE无条件跳转至cnt-9 cnt-9中来一个时钟沿加一,到9清零重新开始并产生一个flag信号提供给state_b; 收到flag_b的时候停止计数,跳转至END
另一个状态机state_b模块 A,B
在A状态的 时候,来一个flag-a ,cnt-7 加1,当cnt-7== 7 并且flag-a = 1的时候跳转至B
同时产生一个flag_b,提供给state-a;
两个状态机组合起来组成一个top
4 RAM和ROM的调用:【作业】
文件夹模版:doc,img,prj,rtl,sim(.mif,run.do),IP_Core,Sim_lib(.v altera_mf.v)
IP的端口声明文件不要加入sim
sim时需要的文件:TOP,IP,Top_tb,Altera_mf.v
mif文件 memory installation file ROM数据初始化的文件
注意点:tb的reset不要和时钟上升沿重合
run.do的状态机数据不要加下划线 会报错
一个always 只对一个数据赋值
【veriog语法个人总结】
1 功能定义包括三个方法:assign;实例元件;always
2 {WIDTH{1'b0}}
3 'd0;缺少位宽 ,机器系统默认至少32;
4 10,系统默认10进制
状态机
top—down
IP ram rom 调用
实验:
1 I_Love_You 字符检测
2 Top—down 分模块设计:1个四分频,1个16分频 ,一个运算模块 以16分频的flag为触发信号,组成一个顶层
3 状态机:一个状态机state_a模块 ,IDLE到 cnt_9 到 END
IDLE无条件跳转至cnt-9 cnt-9中来一个时钟沿加一,到9清零重新开始并产生一个flag信号提供给state_b; 收到flag_b的时候停止计数,跳转至END
另一个状态机state_b模块 A,B
在A状态的 时候,来一个flag-a ,cnt-7 加1,当cnt-7== 7 并且flag-a = 1的时候跳转至B
同时产生一个flag_b,提供给state-a;
两个状态机组合起来组成一个top
4 RAM和ROM的调用:【作业】
文件夹模版:doc,img,prj,rtl,sim(.mif,run.do),IP_Core,Sim_lib(.v altera_mf.v)
IP的端口声明文件不要加入sim
sim时需要的文件:TOP,IP,Top_tb,Altera_mf.v
mif文件 memory installation file ROM数据初始化的文件
注意点:tb的reset不要和时钟上升沿重合
run.do的状态机数据不要加下划线 会报错
一个always 只对一个数据赋值
【veriog语法个人总结】
1 功能定义包括三个方法:assign;实例元件;always
2 {WIDTH{1'b0}}
3 'd0;缺少位宽 ,机器系统默认至少32;
4 10,系统默认10进制
相关文章推荐
- Swift笔记-让你2小时学会Swift
- SDAU 练习三 1012 堆满骨牌问题
- 【西西学FPGA】Lesson2
- 【西西学FPGA】Lesson3
- 使用 PHP 和 Apache Solr 实现企业搜索
- 提升Java性能的基本方法
- 绝对定位
- 【西西学FPGA】Lesson1
- 【HUSTOJ】1036: 欧拉函数
- Theano利用GPU加速
- poj1416
- vi/vim使用入门: vimrc在哪儿?
- C++10进制字符串与十六进制字符串相互转化
- C - Tanya and Toys
- Java集合的有序、无序、排序性质讨论
- GIT常用命令
- RxJava+Retrofit+Gson实现网络请求
- Hibernate @Formula详解
- 约瑟夫环问题(数论)
- Android开发:app工程集成银联支付功能(服务器端)