chisel RegInit/UInt/U

在这里插入图片描述

val reg = RegInit(0.U(8.W))  //ok
val reg = RegInit(0.UInt(8.W))  //err

U 使用在数字 . 后边50.U

UInt 使用在IO(new Bundle val a = Input(UInt(8.W)) 或者 def counter(max:UInt, a1:UInt)

package empty

import chisel3._
import chisel3.util._

class MyCounter extends Module {
   
  val io = IO(new Bundle {
   
    val a = Input(UInt(8.W))  
    //val a = Input(U(8.W)) 
    val c = Output(UInt(8.W))
  })
  val init = io.a

	def counter(max:UInt, a1:UInt) ={
     //max:U  //err
		
		val reg = RegInit(a1)   //ok
		//val reg = RegInit(0.U(8.W))  //ok
		//val reg = RegInit(0.UInt(8.W))  //err
		
		when(reg===max) {
   
		  reg := 0.U(max.getWidth.W)
		}.otherwise {
   
		  reg := reg + 1.U(1.W)
		}
		reg  // return value
		
	}
  io.c := counter(50.U, io.a)
}

object MyCounterMain extends App {
   
  println("Generating the adder hardware")
  emitVerilog(new MyCounter(), Array("--target-dir", "generated"))
}


相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-02-05 08:50:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-05 08:50:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-05 08:50:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-05 08:50:01       20 阅读

热门阅读

  1. 跟着cherno手搓游戏引擎【20】混合(blend)

    2024-02-05 08:50:01       27 阅读
  2. 17、ELK

    2024-02-05 08:50:01       23 阅读
  3. Nim游戏

    2024-02-05 08:50:01       34 阅读
  4. docker入门问题二

    2024-02-05 08:50:01       37 阅读
  5. OpenCV学习记录——特征匹配

    2024-02-05 08:50:01       29 阅读
  6. npm 选择镜像源安装 、以及镜像改变

    2024-02-05 08:50:01       29 阅读
  7. .gitlab-ci.yml文件参数

    2024-02-05 08:50:01       31 阅读
  8. thinkphp6入门(16)-- cache用法总结

    2024-02-05 08:50:01       27 阅读
  9. 牛客周赛Round31-小白感悟

    2024-02-05 08:50:01       29 阅读
  10. 日语语法小结

    2024-02-05 08:50:01       27 阅读
  11. 【无标题】

    2024-02-05 08:50:01       22 阅读
  12. vue+elementui给遍历生成表单添加效验

    2024-02-05 08:50:01       34 阅读
  13. 鸿蒙Native项目生产动态库(.so) 和静态库(.a)

    2024-02-05 08:50:01       28 阅读