找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2355|回复: 0
收起左侧

FPGA学习总结

[复制链接]
ID:70976 发表于 2014-12-26 21:43 | 显示全部楼层 |阅读模式
       第一次从写Verilog HDL 到仿真,感觉Quartus ii有点难用,挺麻烦的,关于那些乱七八糟的设置也是不懂。

       第一次写的是老师布置的有限状态机实现序列检测器。参考了好多Verilog HDL其它模块的程序才把整个程序写出来,因为对基本语法还是很不适应,虽然和C很像,但有很多不同,特别是并发,搞得自己在具体程序中很难转变概念。

       写出来的程序仿真不对,在序列末的前一位就输出值了,这肯定是不正常的,到程序里看感觉是最后一个状态的处理出了问题

       always@(current_state or SeqIn)

       begin

              case(current_state)

              S3:   if(SeqIn==67) //'C'

                     begin

                            Detected=1'b1;

                     end



              default:   

                     begin

                            Detected=1'b0;

                     end

              endcase

       end

但是怎么检查都发现不了问题。更改了条件语句的值发现还是有问题,证明IF语句根本就没执行,可是Detected却被赋值了,想了半天可能是没罗列所有情况的原因,于是加入一句

                     else

                     begin

                            Detected=1'b0;

                     end

问题解决了。应该就是老师总说的防止触发器的产生,但具体怎么造成错误的还是没搞懂,以后得好好研究下。

       另外一个感觉,这个EDA编译、仿真太慢了。这个程序出来也才用14个LE,和其他很少的资源,编译也需要好一会儿,尤其是调试极不方便,改一个值就要编译等上好一会儿。

       在功能仿真的时候,老是提示没产生功能仿真网表,然后要打开仿真工具产生,也不知道为什么。

       开始学习的时候觉得应该不是很难,现在的情况让我很是忧虑啊。得好好努力了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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