1 module top( 2 output [31:0] c 3 ); 4 5 localparam [15:0] a = 65535; 6 localparam [15:0] b = 25687; 7 8 9 assign c = a*b; 10 //两个常数相乘,综合后不使用资源,直接综合为一个常数 11 module top( 12 output [15:0] c 13 ); 14 15 localparam [15:0] a = 65520; 16 localparam [15:0] b = 25687; 17 18 19 assign c = a/b; 20 //两个常数相除,综合后不使用逻辑资源,直接综合为一个常数 21 module top( 22 output [15:0] c 23 ); 24 25 localparam [15:0] a = 65535; 26 localparam [15:0] b = 25687; 27 28 29 assign c = a%b; 30 //两个常数取余,不使用逻辑资源 31 module top( 32 input [15:0] a , 33 output [16:0] c 34 ); 35 36 assign c = a*256; 37 //变量与2的指数相乘,不会使用逻辑资源,综合为移位的方式 38 module top( 39 input [15:0] a , 40 output [14:0] c 41 ); 42 43 assign c = a/512; 44 //变量与2的指数相除,不使用逻辑资源,综合为移位的方式 45 module top( 46 input [15:0] a , 47 output [15:0] c 48 ); 49 50 assign c = a%1024; 51 //变量与2的指数取余,不使用逻辑资源 52 module top( 53 input [15:0] a , 54 output [31:0] c 55 ); 56 57 assign c = a*32767; 58 //变量与非2的指数相乘,综合为LUT,且随着乘数的增大,LUT也会增加,或者直接使用DSP; 59 module top( 60 input [15:0] a , 61 output [15:0] c 62 ); 63 64 assign c = a/3; 65 //变量与非2的指数相除,综合为LUT,且LUT占用较多 66 module top( 67 input [15:0] a , 68 output [15:0] c 69 ); 70 71 assign c = a%32767; 72 //变量与非2的指数取余,综合为LUT, 73 module top( 74 input [15:0] a , 75 input [15:0] b , 76 output [31:0] c 77 ); 78 79 assign c = a*b; 80 //两个变量相乘,综合为DSP 81 module top( 82 input [15:0] a , 83 input [15:0] b , 84 output [15:0] c 85 ); 86 87 assign c = a/b; 88 //两个变量相除,综合为较多的LUT 89 module top( 90 input [15:0] a , 91 input [15:0] b , 92 output [15:0] c 93 ); 94 95 assign c = a%b;//两个变量取余,综合为较多的LUT
标签:15,FPGA,top,module,运算符,详解,output,input,assign From: https://www.cnblogs.com/tuzki9611/p/17367457.html