码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Chisel 入门(2)运算符


    Chisel 入门(2) 运算符

    逻辑运算符

    ChiselExplanationwidth
    !x逻辑非1
    x && y逻辑与1
    x||y逻辑或1

    位操作运算符

    ChiselExplanationwidthin Verilog
    ~x位反w(x)~ signal_x
    x & y位与max(w(x), w(y))signal_x & signal_y
    x | y位或max(w(x), w(y))signal_x | signal_y
    x ^ y按位异或max(w(x), w(y))signal_x ^ signal_y
    x(n)bit 索引, 0 is LSB1signal[n]
    x(n, m)字段提取n - m + 1signal [n:m]
    x << n左移w(x) + n<<
    x >> n右移w(x) - n>> (补零)
    Fill(n, x)重复拼接n * w(x){n{signal_x}}
    Cat(x, y)拼接w(x) + w(y){signal_x,signal_y}
    Mux(c, x, y)三元操作max(w(x), w(y))signal_c ? signal_x : signal_y
    v.andR位与1 (Bool)& signal_v
    v.orR位或1 (Bool)| signal_v
    v.xorR位异或1(Bool)^ signal_v

    关系运算符

    ChiselExplanationwidthin Verilog
    x === y相等(triple equals)1signal_x == signal_y
    x != y不等1signal_x != signal_y
    x =/= y不等1signal_x != signal_y
    x > y大于1signal_x > signal_y
    x >= y大于等于1signal_x >= signal_y
    x < y小于1signal_x < signal_y
    x <= y小于等于1signal_x <= signal_y

    算术运算符

    ChiselExplanationwidthin Verilog
    x + y加max(w(x),w(y))signal_x + signal_y
    x +% y加max(w(x),w(y))signal_x + signal_y
    x +& y位扩加max(w(x),w(y))+1NULL
    x - y减max(w(x),w(y))signal_x - signal_y
    x -% y减max(w(x),w(y))signal_x - signal_y
    x -& y位扩减max(w(x),w(y))+1NULL
    x * y乘w(x)+w(y)signal_x * signal_y
    x / y除w(x)signal_x */ signal_y
    x % y取余bits(maxVal(y)-1)signal_x % signal_y

    总结

    在chisel 中,以下运算符与Verilog/ SystemVerilog有所不同:

    • 位拼接
    • 位索引
    • 简化与 : v.andR
    • 简化或: v.orR
    • 简化异或: v.xorR
    • 相等
    • 不等
    • 扩展加: +&
    • 扩展减: -&
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 相关阅读:
    HBase之Compaction
    附近的人(使用<GeoHash>经纬度查询附近的人,并根据距离排序)
    zzy-project-cli,提供多个框架的脚手架
    【活动报名】11月19日 | AI GC 的技术与应用构建
    一个用java的get请求
    k8s——知识点回顾(1)
    vue checkbox-group和checkbox动态生成,问题解决
    快速上手Linux核心命令(四):文件内容相关命令
    ARM32开发--存储器介绍
    全网最全【数据结构与算法】408真题实战(含代码+详解)—— 线性表专题(持续更新...)
  • 原文地址:https://blog.csdn.net/u010170039/article/details/138200360
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号