zoukankan      html  css  js  c++  java
  • jchdl

    https://mp.weixin.qq.com/s/qTgeBF9N0mx5UK3xWDb3jg

     
    jchdl对Verilog做了增强,增加了用户自定义结构体类型。使用自定义结构体,可以对输入和输出接口进行分类,并简化模块输入输出接口的定义。
     
    参考链接
     
    1.创建And2.java, 并生成构造方法和logic()方法
     
    2. 根据逻辑原理,添加输入输出接口
    输入输出线作为类成员存在。使用注解标明是input port还是output port。
     
    可以看到这里有一个类型为Abs的输入接口s。类型Abc实现自Structure接口,内部定义了一组成员:
    注意点:
    1. 实现Structure接口;
    1. 成员声明为public,以便直接访问;
    1. Structure内部成员不声明input/output属性,在Module中使用的时候声明,如此结构体所有成员具有同样的输入和输出属性。
     
    3. 在构造方法中搜集输入输出线并调用construct()方法
    首先调用父类即Module类的构造方法,以构建模块hierarchy。
    然后逐个把输入输出参数与input/output port对应上。
    然后调用construct()方法构造模块(调用一次logic()方法,搜集模块的assign/always代码块、子模块)。
     
    4. 在logic()方法中创建assign/always代码块,以及子模块
    包含两个And子模块。可以看到这里直接使用s.a, s.b, s.c。
     
     
    5. 创建inst静态方法方便后续使用
     
    6. 创建main方法执行验证
    运行结果为:
     
    7. 生成Verilog
    生成定制化模块名:
     
    调用toVerilog()方法生成Verilog实现。
     
    执行结果如下:
    可以看到这里生成的输入输出接口名称进行了转换,使用结构体变量名为前缀。
  • 相关阅读:
    上传图片时判断图片的模式GRB或CMYK
    正则表达式的6中使用
    SqlServer获得存储过程的返回值
    从零学习wcf(一)
    等比例缩小图片
    模仿Jquery Tab
    jquery ajax调用一般处理程序
    一种感觉
    "敏捷软件开发" 读书笔记叙
    荣迁贵宝地
  • 原文地址:https://www.cnblogs.com/wjcdx/p/9938497.html
Copyright © 2011-2022 走看看