搜索
bottom↓
回复: 99

[Verilog HDL 建模技巧 :低级建模 仿顺序操作 · 思路篇] [完载]

[复制链接]

出0入0汤圆

发表于 2010-6-4 19:44:28 | 显示全部楼层 |阅读模式
这是一种以初学者的角度,去探讨“建技巧模”和“仿顺序操作”,跟多的介绍看书语 ...


(原文件名:02.jpg)

书语:

“低级建模”是针对入门或者新手提出的一种“设计思路”。我们知道FPGA执行的概念是“并行”,但是在入门众多的实验中,高达4成的实验都是“顺序操作”的执行概念。假设一个比较经典的例子“流水灯”实验。如果利用单片机设计流水灯的驱动程序,是非常简单,我们只要,建立延迟函数,移位函数,和一个大循环,就可以实验流水灯效果。

但是换做另一个环境如(CPLD/FPGA)的平台上,实验复杂的流水灯效果。在“并行”概念上,设计这样一个驱动程式,会使得初学者上力不接下力。我们可以考虑这样一个问题:“用什么办法,不失CPLD/FPGA的"并行性",而且还可以轻松实现"顺序操作" ”?

在网上个多的论坛,时常可以看见很多新手求救关于这方面的问题,笔者也是如此,所以笔者才决定写这本笔记。

还有一种问题,就是编程风格的问题。Verilog HDL语言对初学者来说,编程风格是最一个大难题的。有这样冷笑话流传在新手之间流传:“ 如果一个新手写十个驱动程式,会超过10个不同的编程风格 ”。这也难怪的,要建立一个编程风格真的不简单,即使是写了多年经验,也不见得会有编程风格。然而“低级建模”有固定的模板格式,可以很好的帮助新手们。

除此之外,“低级建模”对“仿顺序操作”是简洁的,不同于一般的编程,滥用了“状态机”来达到效果。“状态机”在仿顺序操作上,虽然有很大的效果,但是“状态机”对资源的消耗,和“代码的臃肿”都是可见的。“低级建模”在“仿顺序操作”上,使用“步骤”的概念,就如我们食饭的时候,首先饭来张口,然后慢慢的咽,最后才吨进食道,就这样一个动作就结束。要吃另一口饭的时候,再重复这个动作。(如果吃饭换做是状态机,事物可能会永远卡在食道)

目前笔记也只是写了“低级建模”的“思路篇”而已,因为笔者考虑到自身资格和经验的问题,笔记的续文非常不适宜。但是笔者认为这已经是足够了,因为笔记的内容可以很好的帮到初学者,从另一个角度去认识Verilog HDL建模技巧。

笔者的话:

还记得自己初次接触Verilog HDL语言时候的感觉吗?曾经有没有因经历失败而灰心呢?如此过来的人,偶尔会回忆,会觉得入门(初学)时的心情是最真实的。即使现在,挫折中,迷失中,混沌中。只要回忆当时,就有继续的勇气 ......

/**************************************************************************************/

目前还在连载中,希望连载完毕后,可以得到裤子 ...
因为这本笔记,不是谈论实验,而是谈论 Verilog HDL 的设计思路, 故很珍贵,
尤其是针对新手 ...


[Verilog HDL 建模技巧 :低级建模 仿顺序操作 · 思路篇] 1 - 封面+书语
http://blog.ednchina.com/akuei2/1771460/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作 · 思路篇] 2 - 前言(免责声明)
http://blog.ednchina.com/akuei2/1771461/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作 · 思路篇] 3 - 低级建模的思路
http://blog.ednchina.com/akuei2/1771462/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇] 4 - 低级建模-结构和准则
http://blog.ednchina.com/akuei2/1771463/message.aspx

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入4汤圆

发表于 2010-6-4 19:50:04 | 显示全部楼层
好文章

出0入0汤圆

发表于 2010-6-4 19:53:51 | 显示全部楼层
正想学习HDL,谢谢楼主了。

出0入0汤圆

发表于 2010-6-4 19:57:55 | 显示全部楼层
期待ing

出0入0汤圆

发表于 2010-6-4 20:07:14 | 显示全部楼层
又是一個連載,甚是喜歡。

出0入0汤圆

发表于 2010-6-4 21:00:10 | 显示全部楼层
最好能在生成一个PDF版,这样更方便大家收藏细细阅读。

出0入0汤圆

发表于 2010-6-4 21:04:55 | 显示全部楼层
支持,狂顶中~~在学习中

出0入0汤圆

发表于 2010-6-4 21:29:32 | 显示全部楼层
期待pdf

出0入0汤圆

 楼主| 发表于 2010-6-4 21:48:32 | 显示全部楼层
最近睡眠严重不足,pdf版本还有很多地方要修改~
博文是第二次文,所以比较少错误,
让我好好睡觉吧!
睡饱了,又有精力干活 ....

出0入0汤圆

发表于 2010-6-5 00:08:12 | 显示全部楼层
不错,帮顶,时刻关注

出0入0汤圆

发表于 2010-6-5 09:58:15 | 显示全部楼层
好人真多

出0入0汤圆

发表于 2010-6-5 11:00:44 | 显示全部楼层
再顶一下。

出0入0汤圆

发表于 2010-6-5 11:06:27 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-6-5 13:33:04 | 显示全部楼层
[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇]5 - 开始/完成信号的作用
http://blog.ednchina.com/akuei2/1772066/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇] 6 - 组织的概念
http://blog.ednchina.com/akuei2/1772071/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇] 7 - 模板基本结构
http://blog.ednchina.com/akuei2/1772073/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇] 8 - 使用模板的建议
http://blog.ednchina.com/akuei2/1772074/message.aspx

还有最后四章,估计今天的晚饭前会搞定,PDF版本晚上估计会修改完成 ...

出0入0汤圆

发表于 2010-6-5 15:07:56 | 显示全部楼层
精彩,很感谢

出0入0汤圆

发表于 2010-6-5 15:16:52 | 显示全部楼层
有空PDF的也公布一下,感谢啊。。

出0入0汤圆

发表于 2010-6-5 17:15:18 | 显示全部楼层
期待PDF版,看了看,有些新东西。

出0入0汤圆

 楼主| 发表于 2010-6-5 17:43:07 | 显示全部楼层
[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇] 9 - 建立“低级功能模块”
http://blog.ednchina.com/akuei2/1772152/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇] 10 - 组织模块和两义性问题
http://blog.ednchina.com/akuei2/1772168/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇] 11 - 产生效果的低级功能模块  
http://blog.ednchina.com/akuei2/1772186/message.aspx

[Verilog HDL 建模技巧 :低级建模 仿顺序操作·思路篇] 12 - 再一次组织起来
http://blog.ednchina.com/akuei2/1772273/message.aspx

嗯,最后的上传工作了!

出0入0汤圆

发表于 2010-6-5 18:08:26 | 显示全部楼层
楼主真棒;期待pdf。

出0入0汤圆

 楼主| 发表于 2010-6-5 18:15:10 | 显示全部楼层
实际上“低级建模”不是一个完美的东西,它本身就存在很多缺陷,如:建模量很大等...

除此之外,“低级建模”在“时序”上还是很弱,如VGA的驱动程式,它真的有点力不从心(理论上是这样,我没有更多的时间测试其他程式了)。

正如我在书语上所说的,它是针对新手提出的“一种建模”思路。主要是针对“仿顺序操作”的执行概念,其余的还有“编程风格”,“建模模块”等在设计思路上的扩展。

这一本笔记消耗我很大的时间,实际上要我写得很用心,笔记本身也修改过很多次,我不是埋怨自己的伟大,我只想要表达:我对入门或者初学Verilog HDL语言,多多少少都有一定的心得,我想帮助跟多新手们,告诉他们 " Verilog HDL " 建模,看是很麻烦,实际上是非常有趣的 ......

在网络上虽然有很多关于Verilog HDL的参考书,正如单片机的参考书一样,但是关于“思路”方面的参考书,真的很少 ... 再者网络上的“论文”,都是用来“毕业”的,其他的如“毕设资料”,“工程资料”,“项目资料”,它们不会鸟不鸟新手们看懂不懂,新手们看了都会蛋疼,我也是初学者过,我知道这样的感觉真的不好受 ....

“低级建模”到底有没有效,好不好用?经过许多试验的结论,我给出的答案是 5 成而已 ...
其余的5成便是“低级建模”的不足之处 , 我没有实际的工作试验,回答不出任何好答案,这也是我只写一本“思路篇”的原因 ...

我希望读者们可以在这短短的30几页中,领悟出“低级建模”的构思,然后可以自由的用在自己的学业上,项目上,设计上,那么那是我最好的安慰了。


最后我还有一个拜托 :

那些有好心人,如下载了笔记的完整版(PDF+源码),希望可以到各大FPGA/CPLD 相关的论坛发一份“转帖”,好让更多人享用到这本笔记,也让更多新手体验Verilog HDL建模的乐趣 ... 我真的很感谢您!



http://i.imagehost.org/download/0905/Verilog_HDL_PDF_Code

出0入0汤圆

发表于 2010-6-5 18:25:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-5 21:08:43 | 显示全部楼层
COOL

出0入0汤圆

发表于 2010-6-5 21:11:53 | 显示全部楼层
相当的好支持一下 学习之中~~~~~!!!!

出0入0汤圆

发表于 2010-6-5 21:14:20 | 显示全部楼层
建模技巧之 低级建模思路ourdev_559792.pdf(文件大小:4.57M) (原文件名:Verilog 建模技巧之 低级建模思路.pdf)

出0入0汤圆

发表于 2010-6-5 21:18:09 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-6-5 23:09:31 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-6-6 12:36:10 | 显示全部楼层
楼主写得真好,我正在看。

已转载。

出0入0汤圆

发表于 2010-6-6 15:14:37 | 显示全部楼层
学习

出0入0汤圆

 楼主| 发表于 2010-6-6 19:00:40 | 显示全部楼层
感谢转载!愿你早日发财

出0入0汤圆

发表于 2010-6-6 19:19:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-6 21:21:04 | 显示全部楼层
学习中,写得非常的好,入门学习的好材料,多谢~

出0入0汤圆

发表于 2010-6-7 10:19:29 | 显示全部楼层
支持楼主,学习了

出50入0汤圆

发表于 2010-6-7 13:21:14 | 显示全部楼层
谢谢楼主,收藏了

出0入0汤圆

发表于 2010-6-7 13:48:29 | 显示全部楼层
谢谢楼主,收藏了

出0入0汤圆

发表于 2010-6-7 13:57:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-7 20:58:38 | 显示全部楼层
M

出0入0汤圆

发表于 2010-7-8 16:23:22 | 显示全部楼层
狂顶楼主!楼主又为初学者做了一件大好事呀!

出0入0汤圆

发表于 2010-7-12 17:13:15 | 显示全部楼层
喜欢连载

出0入0汤圆

发表于 2010-7-19 11:57:45 | 显示全部楼层
3x 4 sharing

出0入0汤圆

发表于 2010-7-20 08:56:33 | 显示全部楼层
期待中。。

出0入0汤圆

发表于 2010-7-20 19:01:33 | 显示全部楼层
楼主好人

出0入0汤圆

发表于 2010-7-20 20:38:27 | 显示全部楼层
好好学习一下啊

出0入0汤圆

发表于 2010-7-20 22:20:41 | 显示全部楼层
非常感谢

出0入0汤圆

发表于 2010-8-3 22:50:20 | 显示全部楼层
学习一下!

出0入0汤圆

发表于 2010-8-4 00:33:12 | 显示全部楼层
必须 mark

出0入0汤圆

发表于 2010-8-6 11:59:57 | 显示全部楼层
这实际上是一种自底向上和自顶向下程序主设计的一个范例,作者确实是个很用心的人,有前途!

出0入0汤圆

发表于 2010-8-6 12:09:11 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-6 13:28:44 | 显示全部楼层
太好了.顶!!

出0入4汤圆

发表于 2010-8-6 22:53:22 | 显示全部楼层

出0入0汤圆

发表于 2010-8-6 22:58:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-9 14:18:56 | 显示全部楼层
顶,很好!

出0入0汤圆

发表于 2010-8-29 15:51:02 | 显示全部楼层
感谢楼主!

出0入0汤圆

发表于 2010-8-29 22:44:51 | 显示全部楼层
不错的资料,收藏了。

出0入0汤圆

发表于 2010-8-30 09:56:01 | 显示全部楼层
正研究FSM的路过,仰望一下。

出0入0汤圆

发表于 2010-8-30 10:57:37 | 显示全部楼层
谢谢,学习学习。

出0入0汤圆

发表于 2010-10-5 22:47:08 | 显示全部楼层
好东东啊

出0入0汤圆

发表于 2011-6-27 10:55:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-27 11:22:18 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-6-29 17:25:23 | 显示全部楼层
这个好东东呀,谢谢共享

出0入0汤圆

发表于 2011-7-3 22:53:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-4 10:17:36 | 显示全部楼层
回复【23楼】bad_fpga
-----------------------------------------------------------------------

谢谢~

出0入0汤圆

发表于 2011-7-17 21:15:13 | 显示全部楼层
我也是新手,也写过几个V代码,但是从来没向楼主那样去思考过这个问题,
博文看完后,茅塞顿开啊,谢谢楼主了!

出0入0汤圆

发表于 2011-7-19 09:27:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-29 12:50:47 | 显示全部楼层
mark 这个文章好

出0入0汤圆

发表于 2011-9-29 09:43:48 | 显示全部楼层
这正是黑金版的楼主啊

出0入0汤圆

发表于 2011-10-26 17:29:31 | 显示全部楼层
mark

出0入4汤圆

发表于 2011-10-28 22:50:52 | 显示全部楼层
mark, verilog

出0入0汤圆

发表于 2011-11-1 16:06:03 | 显示全部楼层
好文章 学习 赞楼主一个!!!!

出0入0汤圆

发表于 2011-11-7 21:14:56 | 显示全部楼层
楼主辛苦了
兄弟感谢分享希望早日能学成

出0入0汤圆

发表于 2011-11-7 22:15:11 | 显示全部楼层
mark!!!!

出0入0汤圆

发表于 2011-11-8 23:11:57 | 显示全部楼层
最近正在品《verilog那些事儿》,受益匪浅,感谢楼主……

出0入0汤圆

发表于 2011-11-10 17:24:23 | 显示全部楼层
感谢楼主,学习中...

出0入0汤圆

发表于 2011-11-10 20:10:44 | 显示全部楼层
这个要顶!以前写过Verilog 程序,再看看这个对比下自己和高手的差距

出0入476汤圆

发表于 2011-11-10 20:30:35 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2011-11-10 22:24:34 | 显示全部楼层
学习中,谢谢楼主!

出0入0汤圆

发表于 2011-11-10 22:45:12 | 显示全部楼层
good!

出0入0汤圆

发表于 2011-11-10 22:48:43 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-11-14 15:14:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-17 13:49:30 | 显示全部楼层
这个必须得MARK,正在看鼠标的问题啊!

出0入0汤圆

发表于 2011-11-22 23:05:49 | 显示全部楼层
so thankful!

出0入0汤圆

发表于 2011-11-23 16:39:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-5 04:42:06 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-12-5 07:33:59 | 显示全部楼层
MARK VerilogHDL

出0入0汤圆

发表于 2011-12-15 16:34:00 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-12-26 22:39:47 | 显示全部楼层
果断下载,大好定西一枚,lz真是日行多善啊,呵呵

出0入0汤圆

发表于 2011-12-27 10:44:15 | 显示全部楼层
好书

出0入0汤圆

发表于 2011-12-31 12:46:07 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2012-6-18 14:23:23 | 显示全部楼层
楼主好人

出110入0汤圆

发表于 2012-6-18 15:48:41 | 显示全部楼层
刚看了lz的文章,最大的感触的,终于有人告诉我verilog的编程思想了

希望有dx出来说说,对于初学者来说用怎样的思路才能突破verilog的编程障碍

出0入0汤圆

发表于 2012-6-20 00:04:14 | 显示全部楼层
楼主V5

出0入0汤圆

发表于 2012-6-20 10:58:43 | 显示全部楼层
学习了。!

出0入0汤圆

发表于 2012-6-20 18:03:05 | 显示全部楼层
学习学习
很好

出0入0汤圆

发表于 2012-7-5 20:59:42 | 显示全部楼层
下载了就要顶一下

出0入0汤圆

发表于 2012-7-28 16:25:21 | 显示全部楼层
谢谢楼主咯!

出0入0汤圆

发表于 2013-4-15 15:39:35 | 显示全部楼层
好东西,正是我想要的!

出0入0汤圆

发表于 2013-5-2 22:23:50 | 显示全部楼层
真好,作为我这样的fpga初学者 正好,  多谢

出0入0汤圆

发表于 2013-5-11 12:27:22 | 显示全部楼层
谢谢拉,一盏明灯啊

出0入0汤圆

发表于 2013-5-28 08:13:46 来自手机 | 显示全部楼层
mark,新手很实用

出0入0汤圆

发表于 2013-5-28 08:29:50 来自手机 | 显示全部楼层
谢谢了,非常经典
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 08:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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