0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

verilog语言面向硬件设计的思维

冬至子 来源:玩儿转FPGA 作者:东哥 2023-06-28 10:44 次阅读

· 基本硬件设计模式 ·

读者如果学习了verilog,并且有了一定的实践经验的话应该强烈的感受到,verilog和软件(诸如C/C++)有着本质且明显的差别,是一条不可跨越的鸿沟。所以初学者把C和verilog拿来作比较是完全没用的,甚至会把初学者绕晕,影响学习效率的提高。

虽然verilog比硬件更抽象,但是最终实现的结果就是一堆硬件电路。所以评价一个verilog代码的好坏不是看代码量多少,而是看最终实现的功能和性能(有速度和面积2方面)。假设面积为S,性能为V,定义品质数Q=S/V,Q越小,设计的电路越成功。

评价一个设计者代码水平较高,只是这个设计由硬件向verilog表现形式转换更流畅,合理。一个设计最终实现的性能,很大程度上取决于设计的硬件方案是否高效合理。这是两回事。

也因上述2点,verilog设计不刻意追求代码简洁,合理的设计方法是首先理解要设计的电路,也就是把需求转化为数字电路,对此电路的结构和连接十分清晰,然后再用verilog表达出这段电路。也就是说,verilog只是简化了电路设计的工作量,本质上就是设计数字电路,永远绕不开电路这点!这也决定了不能凭空去想代码,因为只有存在的电路才是可实现的,而存在的代码未必可以变成存在的电路。

大家也应该知道,在没有verilog这种高级语言之前都是用原理图设计,必须先构思好整个电路框架,才能去实现。有了verilog以后这种思路并没有被抛弃,依然需要大家去思考电路结构,只有深入理解了电路本身,才能够有高效的设计。

· 实例说明 ·

世界上没有工作2次就自动停下的触发器,所以下面的电路综合是无法实现的。

repeat(2)@(posedge clk)

d <=x;

虽然上述语法很正确,没有毛病,但是是不现实的,现在的技术或者提供的语言还没有抽象到符合语法的都能直接综合成电路,他比较生硬,没有大家想的那么灵活。

至此可以得出一个基本结论,面向硬件的设计模式,就是要从电路特征和行为来编写代码。

例如上面的电路,要实现触发器只工作2次就停止怎么办呢?这个电路是存在的,只是不存在工作2次就自动停下的触发器,所以控制触发器运行2次后关闭使能就可以了。按照这个思路,原理图如下:

图片

上图触发器输入数据x,输出数据d,触发器和计数器使能端由比较器控制,计数到2的时候,计数器和触发器都不使能,这样触发器就只工作了2次。也可以认为是一个简单的状态机,计数器就是状态控制。具体代码请读者思考,首先用上图思路,再用三段式状态机思路,建议二者都写出来,好好比较综合后的RTL图,并且仿真确保结果正确。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2121

    浏览量

    92980
  • 触发器
    +关注

    关注

    14

    文章

    1677

    浏览量

    60404
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27168
  • C++语言
    +关注

    关注

    0

    文章

    146

    浏览量

    6878
  • Verilog语言
    +关注

    关注

    0

    文章

    113

    浏览量

    8159
收藏 人收藏

    评论

    相关推荐

    VERILOG HDL硬件描述语言

    本书简要介绍了Verilog硬件描述语言的基础知识,包括语言的基本内容和基本结构 ,以及利用该语言在各种层次上对数字系统的建模方法。书中列举
    发表于 07-20 11:36 0次下载

    Verilog HDL语言简介

    Verilog HDL语言简介 1.什么是Verilog HDLVerilog HDL是硬件描述语言的一种,用于数
    发表于 02-09 08:59 3695次阅读

    verilog硬件描述语言课程讲义

    verilog硬件描述语言课程讲义
    发表于 05-21 15:01 33次下载
    <b class='flag-5'>verilog</b><b class='flag-5'>硬件</b>描述<b class='flag-5'>语言</b>课程讲义

    Verilog硬件描述语言参考手册

    Verilog硬件描述语言参考手册,Verilog语法内容介绍
    发表于 11-12 17:20 0次下载

    Verilog HDL硬件描述语言

    Verilog HDL硬件描述语言 有需要的下来看看
    发表于 12-29 15:31 0次下载

    Verilog HDL硬件描述语言_Verilog语言要素

    本章介绍Verilog HDL的基本要素,包括标识符、注释、数值、编译程序指令、系统任务和系统函数。另外,本章还介绍了Verilog硬件描述语言中的两种数据类型。
    发表于 04-25 16:09 16次下载

    Verilog硬件描述语言

    VHDL语言编程学习Verilog硬件描述语言
    发表于 09-01 15:27 0次下载

    Verilog HDL硬件描述语言

    Verilog HDL硬件描述语言,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-11 11:20 11次下载

    硬件思维去理解verilog

    大家也应该知道,在没有verilog这种高级语言之前都是用原理图设计,必须先构思好整个电路框架,才能去实现。有了verilog以后这种思路并没有被抛弃,依然需要大家去思考电路结构,只有深入理解了电路本身,才能够有高效的设计。
    的头像 发表于 08-31 16:49 4430次阅读

    FPGA之硬件语法篇:用Verilog代码仿真与验证数字硬件电路

    从数字电路中学到的逻辑电路功能,使用硬件描述语言(Verilog/VHDL)描述出来,这需要设计人员能够用硬件编程思维来编写代码,以及拥有扎
    的头像 发表于 12-05 07:10 3035次阅读
    FPGA之<b class='flag-5'>硬件</b>语法篇:用<b class='flag-5'>Verilog</b>代码仿真与验证数字<b class='flag-5'>硬件</b>电路

    快速理解Verilog语言

    Verilog HDL简称Verilog,它是使用最广泛的硬件描述语言
    的头像 发表于 03-22 17:29 4446次阅读

    Verilog硬件描述语言参考手册免费下载

    Verilog 硬件描述语言参考手册是根据IEEE 的标准“Verilog 硬件描述语言参考手
    发表于 02-05 16:24 72次下载
    <b class='flag-5'>Verilog</b><b class='flag-5'>硬件</b>描述<b class='flag-5'>语言</b>参考手册免费下载

    使用Verilog/SystemVerilog硬件描述语言练习数字硬件设计

    HDLBits 是一组小型电路设计习题集,使用 Verilog/SystemVerilog 硬件描述语言 (HDL) 练习数字硬件设计~
    的头像 发表于 08-31 09:06 1209次阅读

    FPGA设计硬件语言Verilog中的参数化

    FPGA 设计的硬件语言Verilog中的参数化有两种关键词:define 和 paramerter,参数化的主要目的是代码易维护、易移植和可读性好。
    发表于 12-26 09:53 715次阅读

    从仿真器的角度理解Verilog语言1

    要想深入理解Verilog就必须正视Verilog语言同时具备硬件特性和软件特性。在当下的教学过程中,教师和教材都过于强调Verilog
    的头像 发表于 05-25 15:10 674次阅读
    从仿真器的角度理解<b class='flag-5'>Verilog</b><b class='flag-5'>语言</b>1