分享

零基础到看懂verilog程序以及调试成功(一步一个脚印)

 goandlove 2016-05-26

说来很失败,以前没有特意的去学过FPGA。呆滞后来有许许多多的应用与自己擦肩而过。觉得甚是遗憾,这一生我们听了太多的道理,却始终过不好这一世。


期初自己是做模拟的,对MCU之类的编程比较有兴趣,却忽略了FPGA之类。以前总想着找个时间去学习VHDL。当时记得看了一个星期书。果断就放弃了。觉得那个太肯跌了。和之前学过的C还是有却别的。但是还是几年前。那个时候VERILOG的书比较少。夏宇闻估计那个时候我也不怎么认识他。知道这几日。发现自己掌握的东西太少。相当有必要来吧verilog搞懂。好在手上有一黑金的板子。今天做的工作很近单。但这仅仅是个开始。来点亮了一个流水灯。并在基础上修改来修改去了好几回。觉得有必要记录下来。


不废话了。正文:相信大家都觉得quartus比ISE好用吧。安装过程什么的就不具体说明了。这个如果有必要的话可以传一篇文档上来。


先建立工程。每个软件的必要!


打开软件。file->new project rezard之后弹出界面。点击NEXT。出现下图


第一个是保存的文件夹名称。


第二是新建的文件名。第三和第二个会自动填写上去的。然后提示是否创建。点击是。


点击next,然后再在next!填出如下界面。这里是设置选用的芯片。由于自己的黑金石该芯片。所以选择cyclone  II.



然后一直点击next直到finish。


然后点击新建  填出一个对话框。选择verilog HDL file   点击OK。

保存之后然后进行编程。


这里我的程序是让流水灯循环点亮。然后在重复,如此生生不息。


这里是自己的代码。


这里后面每句都解释了。只要你稍微花点时间。绝对能看懂,楼主自己也是新手。对于verilog真的以前不怎么懂的。但是楼主相信。只要花了时间。自己笨就笨点。大方向对了。还怕不会成功吗。


另外这里的脚包括了时钟,复位脚还有8个LED。之后还需要管脚配置!!这个是必须的。要不没有时钟。或者时钟的脚不对应。如何出来效果呢???


module led_12345678(clk,rst,led); //定义时钟。复位脚以及输出led8位的

input clk;//时钟输入

input rst;//复位脚

output [7:0] led; // 8bits led  输出的格式是这样的

reg [7:0] led;   //定义reg型led.

reg [25:0] count;//定义count是26位的

always @ (posedge clk )   //这里的意思是只有时钟上升沿来了就//一//直执行下面的begin-end之间的内容!!

begin

if((!rst) || count[22]==1) //如果复位//了//或者count[22]==1

begin

count<=26'b0; count="">

end

else

count<=count+1; 否则count就只加1,没来一个上升沿就加1.其实这里就是时间的问题。总会到count[22]="">

end

always @ (posedge clk) //这个同样的道理。只要来上升沿就执行,注意。这里的always和上面那个always是并行的!!

begin

if((!rst))//检测如果复位键来了

led<=8'b0000_0000;>

else //否则

begin

if(count[22]==1) //如果,,,

begin

if (led==8'b1111_1111)//如果全部都是1了。就是都亮了

 led<=8'b0;>

 else//前往注意这里if lese的关系。这里有好几个if  else

led<><1)+1);>

end

end

end

endmodule

到了这里然后就完了。点击processing->start compilation 编程成功后配置管脚。


点击assignment ->pins弹出对话框,吧下面的脚脱进去就行。这里因为我的时钟是28脚。所以就直接拖进去28脚就好了。其他的LED对照板子原理图直接拖进去。还有复位端也是如此。



接下来点击Tools -》programmer弹出对话框。



点击上面的mode会弹出4个选项。可以选择JTAG。但是这里我需要掉电也能运行程序。所以选择AS模式。然后点击左上角的hardware setup.填出界面。USB驱动检查下已经有了。


这里,如果你的没有发现驱动。那就插上你的USB Blaster.可以让他自动安装驱动程序。或者手动安装。驱动在安装软件的driver文件下。



然后点击关闭。再打开左边的ADD file 文件。加载.pof文件然后在program configure打钩就行。





然后点击左侧一栏的start就可以了。等待一会上面会出现蓝色的100%就代表成功了。借来下一定要先拔掉开关。在拔下下载器。不然会对板子有损坏的。这是习惯。话说优秀也是一种习惯。优秀的工程师就是平时会注重这些。所以成功!!切记。


然后在把电源插上。这是就可以看到流水灯的运转了。




PS:到这里可能用过quartus的可能觉得没有什么。但是作为新学者。这也算中成功吧。后面楼主会一直坚持吧黑金玩下去。这也代表这一种态度。之所以选择这个时候才来学FPGA。本身前面由于自己懒。觉得不想学。所以没有动力。最近因为项目的需要。需要一个信号源。去调制另外一个大功率信号。考虑到DDS本身的芯片可能会有缺陷。所以考虑到了FPGA的功能。刚好也可以借助它提升自己。后面楼主会继续深造,更新。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多