【verilog每日一练】function的使用 - FPGA开发者技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

Mill 关注 私信
[问答]

【verilog每日一练】function的使用

用function实现a,b,c三个输入数据取最大值

回帖(6)

话多显蠢

2023-9-5 16:56:22
  1. function maxThreeValues(a, b, c) {  
  2.     return Math.max(a, b, c);  
  3. }

Mill

2023-9-5 18:37:27

解析:function函数定义语法如下:

若需使用参考答案中的函数,参考代码如下:

实现data_1,data_2,data_3三个变量中的最大值赋值给result

jf_84491108

2023-9-5 21:42:27
module max_of_three_func;  
  
  input [7:0] a, b, c; // 假设输入数据为8位  
  output [7:0] result;  
  
  function [7:0] max_of_three;  
    input [7:0] a, b, c;  
    max_of_three = a > b ? (a > c ? a : c) : (b > c ? b : c);  
  endfunction  
  
  always @* begin  
    result = max_of_three(a, b, c);  
  end  
  
endmodule

jf_99074111

2023-9-5 22:03:05
function [x:0] max_val;
    input [x:0] a,b,c;
    begin
        max_val = a>b ? (a>c ? a : c) : (b>c ? b : c);
    end
endfounction

更多回帖

×
发帖