读书笔记(Verilog HDL那些事儿_建模篇1)

原创 2016年06月01日 17:07:06
  
  读书笔记(Verilog HDL那些事儿_建模篇1)
  
  说明:写代码总感觉不是很好,向前辈学习,提升自己。
  
  感悟:1: 系统 -> 封装 -> 模块 这样的层次结构不只是Verilog,基本所有的代码都是
                 可以这样划分的。
             2: “代码风格”或者“代码结构”的确是需要好好考虑的问题。相同的“代码风格”
                 便于阅读和维护。
             3: 大多数代码设计都是按照数据流先后顺序进行的,因此在各模块实现过程中
                 使用“仿顺序操作”的确可以使设计思路更清晰,当然,其中的问题就是如何从
                 千丝万缕的功能中将模块细化,这个过程很费时间,当确定了各个模块的功能,
                 整个系统构架也就呈现在了眼前,再根据系统构架优化各个模块功能,如此迭代,
                 终能实现繁杂的系统功能.
  

  进度:完毕(时间问题,只关注编程思想)


  整理来自:时间的诗

  
  
  1、系统建模 模块封装 模块
  
  2、模块封装:低级建模就是这样一回事,早期的建模,我们只是针对每某个硬件资源,建立一个“ 基
     础”而已。这个“ 基础”虽然可以调用,但是却不是真正的完成品。如果“ 基础”要成
     为完成品,那么该“ 基础”就要执行所谓的“ 封装”。
  
  3、每一个简单的功能模块,可以看似一位员工。
     每一个简单的控制模块,可以看似一位领导。
     每一个简单的组合模块,可以看似一组小组。
     每一个组合模块再组合起来,可以看似一个大组。
     每一个大组为某种“ 目的”存在,如果有独立运行的能力,就可以成为部门(接口)。
     最后由许多接口组合起来,就成为一个“ 系统”。
       
     这就是“ 低级建模”最基本思路
  
  4、笔者的建模技巧-低级建模,不仅是关心“如何建模”而已?笔者非常执着与“代码风
     格”或者“代码结构”。从实验的开始到实验的结束,笔者都是使用同样的“代码风格”。
     要如何维护好自己的代码风格,并不是这本笔记讨论的范围,但是笔者很建议读者可以
     参考笔者的“代码风格”。
  
  5、单独使用仿顺序操作缺点:
      a: 模块的重复,资源的消耗。
      b: 建模量多,连线设计繁多。
      c: 模块调用的难度。
      
    如果读者有笔者这样的耐性,这样的劳动当然是没有问题啦。但是,实际上笔者也觉得
    这样的建模方法非常“猥琐”,而且模块的连线也很困难。所以我们需要另一种“仿顺
    序操作”建模的方法,毕竟 4-1 章 和 4-2 章的方法只适合小型的“仿顺序操作”而已。
    这个方法既是“命令式的仿顺序操作”。
    
  6、所谓“命令式的仿顺序操作”就是将各个功能模块通过命令调用.
   
 
    always @ ( posedge or CLK or negedge RSTn )
    if( !RSTn )
    begin
      i <= 4'd0;
      rPin_Out <= 1'b0;
      isDone <= 1'b0;
      ......
    end
    ===> else if( Function_Start_Sig[1] )
    case( i )
      // S 摩斯码产生
      ......
      4'd 9:
      begin isDone <= 1'b1; i <= i + 1'b1; end
      4'd10:
      begin isDone <= 1'b0; i <= 4'd0;
    endcase
    ===> else if( Function_Start_Sig[0] )
    case( i )
      // 0 摩斯码产生
      ......
      4'd 9:
      begin isDone <= 1'b1; i <= i + 1'b1; end
      4'd10:
      begin isDone <= 1'b0; i <= 4'd0;
    endcase
    /*************************************************/
    
    假设我要产生 S 模式码,那么我只要往 Function_Start_Sig 
    输入 2'b10 即可。


    
  
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

读书笔记(Verilog HDL那些事儿_建模篇0)

说明:写代码总感觉不是很好,向前辈学习,提升自己。 感悟:文章作者可以将一个大工程划分为多个子模块,主要分功能模块和控制模块,一个功能一个模块的思路刚开始觉得很繁琐,但是到后来却发          ...

[verilog读书笔记]1.Verilog HDL数字设计

1.HDL(Hareware Description Language---硬件描述语言)的出现 出现的原因: 随着集成电路的发展,芯片上集成的逻辑门越来越多,设计过程也因此越来越复杂,因此设计者...

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--低级建模的资源(六)

声明:本文转载于http://www.cnblogs.com/kingst,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有。2.5 低级建模的资源低级建模有讲求...

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--听听低级建模的故事(五)

声明:本文转载于http://www.cnblogs.com/kingst,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有。有。2.4 听听低级建模的故事经过两...

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--不是“编程”是“建模”(四)

声明:本文转载于http://www.cnblogs.com/kingst,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有。2.3 Verilog HDL 不是...

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--系统建模(二十三)

声明:本文为原创作品,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有,如需转载,请注明出处http://www.cnblogs.com/kingst/第六章 :...

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--低级建模的基础实例(七)

声明:本文转载于http://www.cnblogs.com/kingst,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有。 第三章 低级建模的基础实例从这一章...

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--低级建模的基础(二)

声明:本文转载于http://www.cnblogs.com/kingst,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有。第二章:低级建模的基础2.1 顺序操...

Verilog HDL那些事儿_建模篇v5

  • 2013-05-24 08:29
  • 17.74MB
  • 下载

Verilog HDL的建模

September 13, 2016 作者:dengshuai_super 出处:http://blog.csdn.net/dengshuai_super/article/details/52...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)