网站大量收购闲置独家精品文档,联系QQ:2885784924

新思dw-minmax详细代码.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
新思dw_minmax详细代码 module DW_minmax ( ? ? // Inputs ? ? a, ? ? tc, ? ? min_max, ? ? // Outputs ? ? value, ? ? index ); parameter WIDTH = ? ? ? ? ? ? ? ? 4;? ? ? ? // element WIDTH parameter NUM_INPUTS = ? ? ? ? ? ? ? ? 8;? ? ? ? // number of elements in input array parameter INDEX_WIDTH = ? ? ? ? 3;? ? ? ? // size of index pointer = ceil(log2(NUM_INPUTS)) input??[NUM_INPUTS*WIDTH-1 : 0]? ? ? ? ? ? ? ? a;? ? ? ? // Concatenated input vector input? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tc;? ? ? ? // 0 = unsigned, 1 = signed input? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? min_max;// 0 = find min, 1 = find max output [WIDTH-1:0]? ? ? ? ? ? ? ? ? ? ? ? value;? ? ? ? // mon or max value found output [INDEX_WIDTH-1:0]? ? ? ? ? ? ? ? index;? ? ? ? // index to value found wire? ?[NUM_INPUTS*WIDTH-1 : 0]? ? ? ? ? ? ? ? a_uns, a_trans; reg? ? [WIDTH-1:0]? ? ? ? ? ? ? ? ? ? ? ? val_int; wire? ?[WIDTH-1:0]? ? ? ? ? ? ? ? ? ? ? ? val_trans; reg? ? [INDEX_WIDTH-1:0]? ? ? ? ? ? ? ? indx_int; wire [INDEX_WIDTH:0] num_inputs_log2; assign num_inputs_log2 = 1 INDEX_WIDTH; assign a_uns = (WIDTH == 1) ? a ^ {NUM_INPUTS{tc}}: a ^ { NUM_INPUTS { tc, { WIDTH-1 {1b0}}}}; assign a_trans = a_uns; always @ (a_trans or min_max) begin : PROC_find_minmax ? ? reg? ? [WIDTH-1:0]? ? ? ? val_1, val_2; ? ? reg? ? [INDEX_WIDTH-1 : 0]? ? ? ? indx_1, indx_2; ? ? reg? ? [( (2 INDEX_WIDTH)-1)*WIDTH-1 : 0]? ? ? ???val_array; ? ? reg? ? [( (2 INDEX_WIDTH)-1)*INDEX_WIDTH-1:0] indx_array; ? ? reg? ? [31 : 0]? ? ? ? ? ? ? ? i, j, k, l, m, n; ? ? i = 0; ? ? j = 0; ? ? val_array = {WIDTH (INDEX_WIDTH+1){1b0}}; ? ? indx_array = {INDEX_WIDTH (INDEX_WIDTH+1){1b0}}; ? ? for (n=0 ; nNUM_INPUTS ; n=n+1) begin ? ?? ???for (m=0 ; mWIDTH ; m=m+1) ? ?? ???val_array[i+m] = a_trans[i+m]; ? ?? ???for (m=0 ; m INDEX_WIDTH ; m=m+1) ? ?? ???indx_array[j+m] = n[m]; ? ?? ???i = i + WIDTH; ? ?? ???j = j + INDEX_WIDTH; ? ? end ? ? for (n=NUM_INPUTS ; n(1 INDEX_WIDTH) ; n=n+1) begin ? ?? ???for (m=0 ; mWIDTH ; m=m+1) ? ?? ???val_arra

文档评论(0)

186****3950 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档