zoukankan      html  css  js  c++  java
  • jchdl

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

     
    带进位的加法。
     
    参考链接
     
    1.创建Adder4Carry.java, 并生成构造方法和logic()方法
     
    2. 根据逻辑原理,添加输入输出接口
    输入输出线作为类成员存在。使用注解标明是input port还是output port。
     
    3. 在构造方法中搜集输入输出线并调用construct()方法(可以直接根据输入输出接口,生成该构造函数)
    首先调用父类即Module类的构造方法,以构建模块hierarchy。
    然后逐个把输入输出参数与input/output port对应上。
    然后调用construct()方法构造模块(调用一次logic()方法,搜集模块的assign/always代码块、子模块)。
     
    4. 在logic()方法中创建assign/always代码块,以及子模块
    这里包含一个assign代码块:当发生a, b,cin的变化事件时,执行lambda表达式的方法,以更新cout, s的值。
     
    这里使用了concat组合,因为cout为Bit类型,而Bit类型为基本类型,较为简单。所以先转换为Bits然后再行与其他线组合。
     
    可以将cout, cin声明为Bits类型,但宽度为1,这样写起来较为简单。
     
    5. 创建inst静态方法方便后续使用
     
    6. 创建main方法执行验证
    运行结果为:
     
    7. 生成Verilog
    生成定制化模块名:
     
    调用toVerilog()方法生成Verilog实现。
     
    执行结果如下:
     
  • 相关阅读:
    毕业了!
    mesos无执行器启动docker
    docker run option
    maintenance
    virtualenv
    multi role
    排序之插入排序
    DLU-1064 美声葱
    codeforces-1025 A Doggo Recoloring
    codeforces-1027 C Minimum Value Rectangle
  • 原文地址:https://www.cnblogs.com/wjcdx/p/9934541.html
Copyright © 2011-2022 走看看