微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 一段verilog语句

一段verilog语句

时间:10-02 整理:3721RD 点击:
parameter ADDR_WIDTH = DEPTH <= 2 ? 1 :
                                                              DEPTH <= 4 ? 2 :
                                                              DEPTH <= 8 ? 3 :
                                                              DEPTH <= 16 ? 4 :
                                        DEPTH <= 32 ? 5 :
                                                              DEPTH <= 64 ? 6 :
                                        DEPTH <= 128 ? 7 :
                                                              DEPTH <= 256 ? 8 :
                                        DEPTH <= 512 ? 9 :
                                                              DEPTH <= 1024 ? 10 :
                                                              DEPTH <= 2048 ? 11 : 12;
请问这段语句是什么意思?

应该是根据DEPTH的值来定义参数ADDR_WIDTH ,当小于DEPTH等于2的时候,定义ADDR_WIDTH =1,如果第一个判断条件不成立(DEPTH <= 2),则判断是不是小于等于4成立,成立则定义ADDR_WIDTH =2,以此类推,如果所有的判断条件都不成立,则定义ADDR_WIDTH =12。

哦,明白了,谢谢

   
这是非常标准的由数据深度来定义地址位宽

这就相当于 if else的语句

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top