liangrubincn 2021-11-01 14:22 采纳率: 100%
浏览 34
已结题

这个写法和或门相比有什么区别吗?

verilog
两个输入a,B
一个输出c

c=a?1'b1:(B?1'b1:1'b0);

还想请教一下二者的优势和缺点,哪一个更稳些,哪一个对fpga来说消耗少些。谢谢~

  • 写回答

3条回答 默认 最新

  • 老皮芽子 2021-11-01 15:54
    关注

    编译出得结果不一样
    用你这个写法,编译出来是一个二选一
    这最终不会影响结果正确性

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • sunrise_at_dusk 2021-11-01 16:42
    关注

    虽然输出的特性一样,但是运算的顺序和逻辑还是有很大差别的

    评论
  • 老皮芽子 2021-11-02 11:24
    关注

    这种写法和直接用与或非门的写法,编译出的结果是不一样。
    但是占用的资源都是 1 个 LUT,这个 LUT 是 FPGA 的基本单元,包括6个输入2个输出(XILINX)。
    可以说只要不超过6入2出得组合逻辑都是 1 个 LUT 就行。
    结论,这两种写法不影响最终的资源占用,也不影响稳定。
    客观的说,以 “代码可读性”来说,用 C= A ? x:y; 这会好些,代码容易读。
    在一些简单的逻辑,直接用与非门去描述也很好。

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月12日
  • 已采纳回答 11月4日
  • 修改了问题 11月1日
  • 创建了问题 11月1日

悬赏问题

  • ¥30 宾馆客房管理系统可视化
  • ¥20 unity打光没有照亮物体
  • ¥25 powershell如何拷贝1周前的文件
  • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
  • ¥15 关于#前端#的问题,请各位专家解答!
  • ¥15 最小生成树问题 Prim算法和Kruskal算法
  • ¥25 医院住院病人呼叫器设计
  • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据