亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? altera_mf.v

?? 一本老師推薦的經典的VHDL覆蓋基礎的入門書籍
?? V
?? 第 1 頁 / 共 5 頁
字號:
    // ------------------------
    // SUPPLY WIRE DECLARATION
    // ------------------------

    supply0 [int_width_a + int_width_b - 1 : 0] temp_mult_zero;


    // ----------------
    // WIRE DECLARATION
    // ----------------

    // Wire for Clock signals

    wire input_a_wire_clk;
    wire input_b_wire_clk;

    wire addsub_wire_clk;
    wire addsub_pipe_wire_clk;

    wire zero_wire_clk;
    wire zero_pipe_wire_clk;

    wire sign_a_wire_clk;
    wire sign_pipe_a_wire_clk;

    wire sign_b_wire_clk;
    wire sign_pipe_b_wire_clk;

    wire multiplier_wire_clk;
    wire mult_pipe_wire_clk; 

    wire output_wire_clk;

    wire [width_a -1 : 0] scanouta;
    wire [int_width_a + int_width_b -1 : 0] mult_out_latent;
    wire [width_b -1 : 0] scanoutb;

    wire addsub_int;
    wire sign_a_int;
    wire sign_b_int;

    wire zero_acc_int;
    wire sign_a_reg_int;
    wire sign_b_reg_int;

    wire addsub_latent;
    wire zeroacc_latent;
    wire signa_latent;
    wire signb_latent;
    wire mult_signed_latent;

    wire [width_upper_data - 1 : 0] sload_upper_data_latent;
    reg [int_width_result - 1 : 0] sload_upper_data_pipe_wire;

    wire [int_width_a -1 :0] mult_a_wire;
    wire [int_width_b -1 :0] mult_b_wire;
    wire [width_upper_data - 1 : 0] sload_upper_data_wire;
    wire [int_width_a -1 : 0] mult_a_tmp;
    wire [int_width_b -1 : 0] mult_b_tmp;

    wire zero_acc_wire;
    wire zero_acc_pipe_wire;

    wire sign_a_wire;
    wire sign_a_pipe_wire;
    wire sign_b_wire;
    wire sign_b_pipe_wire;

    wire addsub_wire;
    wire addsub_pipe_wire;

    wire mult_round_int;
    wire mult_round_wire_clk;
    wire mult_saturation_int;
    wire mult_saturation_wire_clk;

    wire accum_round_tmp1_wire;
    wire accum_round_wire_clk;
    wire accum_round_int;
    wire accum_round_pipe_wire_clk;
    
    wire accum_saturation_tmp1_wire;
    wire accum_saturation_wire_clk;
    wire accum_saturation_int;
    wire accum_saturation_pipe_wire_clk;

    wire accum_sload_upper_data_wire_clk;
    wire accum_sload_upper_data_pipe_wire_clk;
    wire [width_result -1 : width_result - width_upper_data] accum_sload_upper_data_int;
   
    tri0 mult_is_saturated_wire;
            
    // ------------------------
    // COMPONENT INSTANTIATIONS
    // ------------------------
    ALTERA_DEVICE_FAMILIES dev ();


    // --------------------
    // ASSIGNMENT STATEMENTS
    // --------------------
    assign addsub_int     = ((addnsub ===1'bz) ||
                             (addsub_wire_clk ===1'bz) ||
                             (addsub_pipe_wire_clk===1'bz)) ?
                                 ((accum_direction == "ADD") ? 1: 0) : addsub_pipe_wire;
    assign sign_a_int     = ((signa ===1'bz) ||
                             (sign_a_wire_clk ===1'bz) ||
                             (sign_pipe_a_wire_clk ===1'bz)) ?
                                 ((representation_a == "SIGNED") ? 1 : 0) : sign_a_pipe_wire;
    assign sign_b_int     = ((signb ===1'bz) ||
                             (sign_b_wire_clk ===1'bz) ||
                             (sign_pipe_b_wire_clk ===1'bz)) ?
                                 ((representation_b == "SIGNED") ? 1 : 0) : sign_b_pipe_wire;
    assign sign_a_reg_int = ((signa ===1'bz) ||
                             (sign_a_wire_clk ===1'bz) ||
                             (sign_pipe_a_wire_clk ===1'bz)) ?
                                 ((representation_a == "SIGNED") ? 1 : 0) : sign_a_wire;
    assign sign_b_reg_int = ((signb ===1'bz) ||
                             (sign_b_wire_clk ===1'bz) ||
                             (sign_pipe_b_wire_clk ===1'bz)) ?
                                 ((representation_b == "SIGNED") ? 1 : 0) : sign_b_wire;
    assign zero_acc_int   = ((accum_sload ===1'bz) ||
                             (zero_wire_clk===1'bz) ||
                             (zero_pipe_wire_clk===1'bz)) ?
                                 0 : zero_acc_pipe_wire;
                                 
    assign accum_sload_upper_data_int = ((accum_sload_upper_data === {width_upper_data{1'bz}}) ||
                                         (accum_sload_upper_data_wire_clk === 1'bz) ||
                                         (accum_sload_upper_data_pipe_wire_clk === 1'bz)) ?
                                             {width_upper_data{1'b0}} : accum_sload_upper_data;

    assign scanouta       = mult_a_wire[int_width_a - 1 : int_width_a - width_a];
    assign scanoutb       = mult_b_wire[int_width_b - 1 : int_width_b - width_b];
    
    assign {addsub_latent, zeroacc_latent, signa_latent, signb_latent, mult_signed_latent, mult_out_latent, sload_upper_data_latent, mult_is_saturated_latent} = (extra_multiplier_latency > 0) ?
               mult_full : {addsub_wire, zero_acc_wire, sign_a_wire, sign_b_wire, temp_mult_signed, mult_final_out, sload_upper_data_wire, mult_saturate_overflow};

    assign mult_is_saturated = (port_mult_is_saturated != "UNUSED") ? mult_is_saturated_int : 0;
    assign accum_is_saturated = (port_accum_is_saturated != "UNUSED") ? accum_is_saturated_latent : 0;    


    // ---------------------------------------------------------------------------------
    // Initialization block where all the internal signals and registers are initialized
    // ---------------------------------------------------------------------------------
    initial
    begin

        // Checking for invalid parameters, in case Wizard is bypassed (hand-modified).
        
        if ((dedicated_multiplier_circuitry != "AUTO") && 
            (dedicated_multiplier_circuitry != "YES") && 
            (dedicated_multiplier_circuitry != "NO"))
        begin
            $display("Error: The DEDICATED_MULTIPLIER_CIRCUITRY parameter is set to an illegal value.");
            $stop;
        end                
        if (width_a <= 0)
        begin
            $display("Error: width_a must be greater than 0.");
            $stop;
        end
        if (width_b <= 0)
        begin
            $display("Error: width_b must be greater than 0.");
            $stop;
        end
        if (width_result <= 0)
        begin
            $display("Error: width_result must be greater than 0.");
            $stop;
        end

        if (( (dev.IS_FAMILY_STRATIXII(intended_device_family) == 0) &&
               (dev.IS_FAMILY_CYCLONEII(intended_device_family) == 0) )
             && (input_source_a != "DATAA"))
        begin
            $display("Error: The input source for port A are limited to input dataa.");
            $stop;
        end

        if (( (dev.IS_FAMILY_STRATIXII(intended_device_family) == 0) && 
               (dev.IS_FAMILY_CYCLONEII(intended_device_family) == 0) )
             && (input_source_b != "DATAB"))
        begin
            $display("Error: The input source for port B are limited to input datab.");
            $stop;
        end

        if ((dev.IS_FAMILY_STRATIXII(intended_device_family) == 0) && (multiplier_rounding != "NO"))
        begin
            $display("Error: There is no rounding feature for non-StratixII device.");
            $stop;
        end

        if ((dev.IS_FAMILY_STRATIXII(intended_device_family) == 0) && (accumulator_rounding != "NO"))
        begin
            $display("Error: There is no rounding feature for non-StratixII device.");
            $stop;
        end

        if ((dev.IS_FAMILY_STRATIXII(intended_device_family) == 0) && (multiplier_saturation != "NO"))
        begin
            $display("Error: There is no saturation feature for non-StratixII device.");
            $stop;
        end

        if ((dev.IS_FAMILY_STRATIXII(intended_device_family) == 0) && (accumulator_saturation != "NO"))
        begin
            $display("Error: There is no saturation feature for non-StratixII device.");
            $stop;
        end

        
        temp_sum             = 0;
        head_result          = 0;
        head_mult            = 0;
        overflow_int         = 0;
        mult_a_reg           = 0;
        mult_b_reg           = 0;

        zero_acc_reg         = 0;
        zero_acc_pipe_reg     = 0;
        sload_upper_data_reg = 0;
        lower_bits           = 0;
        sload_upper_data_pipe_reg = 0;

        sign_a_reg  = (signa ===1'bz)   ? ((representation_a == "SIGNED") ? 1 : 0) : 0;
        sign_a_pipe_reg = (signa ===1'bz)   ? ((representation_a == "SIGNED") ? 1 : 0) : 0;
        sign_b_reg  = (signb ===1'bz)   ? ((representation_b == "SIGNED") ? 1 : 0) : 0;
        sign_b_pipe_reg = (signb ===1'bz)   ? ((representation_b == "SIGNED") ? 1 : 0) : 0;
        addsub_reg  = (addnsub ===1'bz) ? ((accum_direction == "ADD")     ? 1 : 0) : 0;
        addsub_pipe_reg = (addnsub ===1'bz) ? ((accum_direction == "ADD")     ? 1 : 0) : 0;

        result_int      = 0;
        result          = 0;
        overflow        = 0;
        mult_full       = 0;
        mult_res_out    = 0;
        mult_signed_out = 0;
        mult_res        = 0;

        mult_is_saturated_int = 0;
        mult_is_saturated_reg = 0;
        mult_saturation_tmp = 0;
        mult_saturate_overflow = 0;
        
        accum_result = 0;
        accum_saturate_overflow = 0;
        accum_is_saturated_latent = 0;
        
        for (i=0; i<=extra_accumulator_latency; i=i+1)
        begin
            result_pipe [i] = 0;
            accum_saturate_pipe[i] = 0;
            mult_is_saturated_pipe[i] = 0;
        end

        for (i=0; i<= extra_multiplier_latency; i=i+1)
        begin
            mult_pipe [i] = 0;
        end

    end


    // ---------------------------------------------------------
    // This block updates the internal clock signals accordingly
    // every time the global clock signal changes state
    // ---------------------------------------------------------

   assign input_a_wire_clk = (input_reg_a == "UNREGISTERED")? 0:
                             (input_reg_a == "CLOCK0")? clock0:
                             (input_reg_a == "CLOCK1")? clock1:
                             (input_reg_a == "CLOCK2")? clock2:
                             (input_reg_a == "CLOCK3")? clock3:0;

   assign input_b_wire_clk = (input_reg_b == "UNREGISTERED")? 0:
                             (input_reg_b == "CLOCK0")? clock0:
                             (input_reg_b == "CLOCK1")? clock1:
                             (input_reg_b == "CLOCK2")? clock2:
                             (input_reg_b == "CLOCK3")? clock3:0;


   assign addsub_wire_clk =  (addnsub_reg == "UNREGISTERED")? 0:
                              (addnsub_reg == "CLOCK0")? clock0:
                              (addnsub_reg == "CLOCK1")? clock1:
                              (addnsub_reg == "CLOCK2")? clock2:
                              (addnsub_reg == "CLOCK3")? clock3:0;


   assign addsub_pipe_wire_clk =  (addnsub_pipeline_reg == "UNREGISTERED")? 0:
                                   (addnsub_pipeline_reg == "CLOCK0")? clock0:
                                   (addnsub_pipeline_reg == "CLOCK1")? clock1:
                                   (addnsub_pipeline_reg == "CLOCK2")? clock2:
                                   (addnsub_pipeline_reg == "CLOCK3")? clock3:0;


   assign zero_wire_clk =  (accum_sload_reg == "UNREGISTERED")? 0:
                           (accum_sload_reg == "CLOCK0")? clock0:
                           (accum_sload_reg == "CLOCK1")? clock1:
                           (accum_sload_reg == "CLOCK2")? clock2:
                           (accum_sload_reg == "CLOCK3")? clock3:0;

   assign accum_sload_upper_data_wire_clk =  (accum_sload_upper_data_reg == "UNREGISTERED")? 0:
                           (accum_sload_upper_data_reg == "CLOCK0")? clock0:
                           (accum_sload_upper_data_reg == "CLOCK1")? clock1:
                           (accum_sload_upper_data_reg == "CLOCK2")? clock2:
                           (accum_sload_upper_data_reg == "CLOCK3")? clock3:0;

   assign zero_pipe_wire_clk =  (accum_sload_pipeline_reg == "UNREGISTERED")? 0:
                                (accum_sload_pipeline_reg == "CLOCK0")? clock0:
                                (accum_sload_pipeline_reg == "CLOCK1")? clock1:
                                (accum_sload_pipeline_reg == "CLOCK2")? clock2:
                                (accum_sload_pipeline_reg == "CLOCK3")? clock3:0;

   assign accum_sload_upper_data_pipe_wire_clk =  (accum_sload_upper_data_pipeline_reg == "UNREGISTERED")? 0:
                                (accum_sload_upper_data_pipeline_reg == "CLOCK0")? clock0:
                                (accum_sload_upper_data_pipeline_reg == "CLOCK1")? clock1:
                                (accum_sload_upper_data_pipeline_reg == "CLOCK2")? clock2:
                                (accum_sload_upper_data_pipeline_reg == "CLOCK3")? clock3:0;

   assign sign_a_wire_clk = (sign_reg_a == "UNREGISTERED")? 0:
                            (sign_reg_a == "CLOCK0")? clock0:
                            (sign_reg_a == "CLOCK1")? clock1:
                            (sign_reg_a == "CLOCK2")? clock2:
                            (sign_reg_a == "CLOCK3")? clock3:0;


   assign sign_b_wire_clk = (sign_reg_b == "UNREGISTERED")? 0:
                            (sign_reg_b == "CLOCK0")? clock0:
                            (sign_reg_b == "CLOCK1")? clock1:
                            (sign_reg_b == "CLOCK2")? clock2:
                            (sign_reg_b == "CLOCK3")? clock3:0;


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品成人一区二区三区| 久久国产精品一区二区| 午夜久久电影网| 国产精品综合在线视频| 欧美日韩国产综合一区二区| 国产亚洲综合av| 日日摸夜夜添夜夜添精品视频| www.亚洲激情.com| 久久久综合精品| 日本亚洲天堂网| 欧美影院精品一区| 亚洲欧洲日韩一区二区三区| 国产一区二区三区av电影| 欧美精品123区| 亚洲第一二三四区| 91论坛在线播放| 国产精品色噜噜| 粉嫩欧美一区二区三区高清影视 | 日韩欧美激情在线| 亚洲一区二区欧美日韩| 91一区在线观看| 国产精品国产三级国产三级人妇| 国产伦精品一区二区三区在线观看 | 91久久香蕉国产日韩欧美9色| 久久亚洲一区二区三区明星换脸| 韩国av一区二区三区在线观看| 欧美视频一区在线观看| 亚洲欧美日本在线| 色婷婷综合久久久久中文| 自拍偷在线精品自拍偷无码专区| 懂色av中文一区二区三区| 亚洲精品一区二区三区福利| 理论片日本一区| 91精品国产91久久久久久一区二区| 亚洲一区二区三区四区不卡| 欧美日韩在线播| 婷婷夜色潮精品综合在线| 欧美日韩国产系列| 偷拍亚洲欧洲综合| 日韩欧美在线影院| 精品无码三级在线观看视频| 久久午夜羞羞影院免费观看| 国产激情视频一区二区在线观看 | 成人综合婷婷国产精品久久蜜臀| 久久影院视频免费| 国产91丝袜在线播放九色| 日本一区二区高清| 色综合久久久网| 亚洲国产aⅴ成人精品无吗| 欧美日本在线看| 精品在线播放午夜| 中文字幕中文在线不卡住| 91激情在线视频| 日本欧美一区二区| 中文字幕欧美区| 欧美日韩亚洲不卡| 国产乱码一区二区三区| 亚洲欧洲无码一区二区三区| 欧美肥大bbwbbw高潮| 国产精品一区一区| 亚洲美女屁股眼交3| 欧美一区三区四区| 高清免费成人av| 亚洲va欧美va天堂v国产综合| 精品国一区二区三区| aa级大片欧美| 美女在线视频一区| 亚洲视频香蕉人妖| 日韩精品一区在线| 91麻豆精品视频| 日韩电影免费在线看| 国产精品免费观看视频| 欧美一卡2卡三卡4卡5免费| 成人一区二区三区在线观看| 午夜激情综合网| 国产精品第13页| 欧美成人欧美edvon| 欧美制服丝袜第一页| 日本精品一区二区三区四区的功能| 久久se这里有精品| 1区2区3区欧美| 2020国产精品久久精品美国| 欧美天堂亚洲电影院在线播放| 国产一区二区三区四区在线观看| 亚洲国产另类精品专区| 国产精品无码永久免费888| 911精品国产一区二区在线| 成人av资源下载| 日本欧美在线观看| 一区二区三区中文在线| 国产欧美视频一区二区三区| 在线播放日韩导航| 色94色欧美sute亚洲线路一久| 国产高清久久久久| 精品一区二区国语对白| 婷婷开心久久网| 亚洲国产va精品久久久不卡综合| 国产精品美女久久久久av爽李琼| 欧美成人性战久久| 日韩一区二区电影在线| 欧美美女直播网站| 在线亚洲免费视频| 91亚洲国产成人精品一区二三| 国产盗摄视频一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 青青国产91久久久久久| 视频一区中文字幕| 日韩专区中文字幕一区二区| 香蕉乱码成人久久天堂爱免费| 亚洲黄色小视频| 亚洲欧美日韩精品久久久久| 欧美国产精品久久| 国产精品久久久久久久岛一牛影视| 国产日本一区二区| 久久久精品人体av艺术| 久久精品欧美一区二区三区麻豆| 精品美女一区二区三区| 亚洲欧美国产毛片在线| 亚洲欧洲日韩女同| 亚洲激情图片一区| 亚洲一区二区三区四区在线| 夜夜爽夜夜爽精品视频| 亚洲高清视频中文字幕| 亚洲成人动漫在线观看| 日韩二区在线观看| 韩国欧美国产1区| 成人免费av网站| 99国产精品久久久久久久久久| 91亚洲男人天堂| 欧美午夜电影一区| 日韩视频在线一区二区| 精品国产伦一区二区三区观看体验 | 日本亚洲三级在线| 久久不见久久见免费视频7| 九色porny丨国产精品| 国产成人啪免费观看软件| 99视频一区二区三区| 欧美综合亚洲图片综合区| 91精品国产色综合久久不卡电影| 精品人在线二区三区| 国产精品视频麻豆| 亚洲一区在线播放| 国产自产2019最新不卡| 成人福利在线看| 欧美日韩精品专区| 精品91自产拍在线观看一区| 国产精品美女久久久久aⅴ国产馆| 亚洲美女屁股眼交3| 美国欧美日韩国产在线播放| 99在线热播精品免费| 欧美精品一级二级| 国产精品青草久久| 日韩不卡免费视频| 99久久精品免费精品国产| 欧美视频在线一区二区三区 | 男男视频亚洲欧美| av在线播放一区二区三区| 欧美日韩在线免费视频| 国产人妖乱国产精品人妖| 亚洲一区av在线| 国产精品996| 欧美日韩aaaaaa| 国产精品大尺度| 精品午夜一区二区三区在线观看| 日本精品免费观看高清观看| 精品91自产拍在线观看一区| 亚洲成人在线免费| 91在线视频免费观看| 中文字幕在线观看一区| 国产一区二三区| 欧美欧美欧美欧美首页| 中文字幕人成不卡一区| 免费欧美日韩国产三级电影| 91美女在线视频| 欧美激情一区二区在线| 免费三级欧美电影| 欧美在线观看视频一区二区三区| 久久久久久97三级| 韩国视频一区二区| 制服.丝袜.亚洲.另类.中文| 亚洲图片有声小说| 91在线播放网址| 国产精品高潮呻吟| 国产乱人伦偷精品视频免下载| 欧美一区二区三区免费在线看| 亚洲激情图片小说视频| 91丨porny丨蝌蚪视频| 国产日韩精品一区二区三区在线| 乱一区二区av| 欧美一区二区三区影视| 午夜精品久久久久久久久久久| 色悠悠久久综合| 18成人在线观看| 国产a精品视频| 国产精品午夜在线| 国产乱码精品一区二区三区五月婷| 日韩精品一区二区三区中文精品| 日日夜夜免费精品视频| 91麻豆精品国产91久久久久久久久| 亚洲无线码一区二区三区|