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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? multiplier_implicit_1.v

?? Vlerilog HDL高級數(shù)字設(shè)計源碼
?? V
字號:
module Multiplier_IMP_1 (product, Ready, Done, word1, word2, Start, clock, reset);
  parameter 				L_word = 4;
  output 		[2*L_word -1: 0] 		product;
  output 					Ready, Done;
  input 		[L_word -1: 0] 		word1, word2;
  input 					Start, clock, reset;
  wire 		[L_word -1:0] 		multiplier;
  wire 					Flush, Load_words, Shift, Add_shift;

  Datapath_Unit_IMP_1 M1 
    (product, multiplier, word1, word2, Flush, Load_words, Shift, Add_shift, clock, reset);

  Controller_IMP_1 M2 
    (Ready, Flush, Load_words, Shift, Add_shift, Done, word1, word2, multiplier, Start, clock, reset);
endmodule

module Controller_IMP_1
  (Ready, Flush, Load_words, Shift, Add_shift, Done, word1, word2, multiplier, Start, clock, reset);
  parameter 				L_word = 4;
  parameter				L_state = 4;
  output 					Ready, Flush, Load_words, Shift, Add_shift, Done;
  input 		[L_word -1:0] 		word1, word2, multiplier;
  input 					Start, clock, reset;

  reg 		[L_state -1: 0] 		state, next_state;
  reg 					Ready, Flush, Load_words, Shift, Add_shift, Done;
  integer k;
  wire 					Empty = (word1 == 0 || word2 == 0);          
  always  begin: Main_Block  
    @ (posedge clock or posedge reset) 			 
    if (reset) begin Clear_Regs;  disable Main_Block; end

    else if (Start != 1) begin: Idling
      Flush <= 0; Ready <= 1; 
    end  // Idling

    else if (Start && Empty) begin: Early_Terminate
     Flush <= 1; Ready <= 0; Done <= 0;
      @ (posedge clock or posedge reset) 
      if (reset) begin Clear_Regs;  disable Main_Block; end
      else begin 
        Flush <= 0; Ready <= 1;  Done <= 1;
      end 
    end  // Early_Terminate

    else if (Start) begin: Load_and_Multiply      
      Ready <= 0; Flush  <= 0; Load_words <= 1; Done <= 0;Shift <= 0; 
      Add_shift <= 0; 
      @ (posedge clock or posedge reset) 			 
      if (reset) begin Clear_Regs; disable Main_Block; end
      else begin // not reset						 
        Ready <= 0;
        Load_words <= 0; 
        if (word2[0]) Add_shift <= 1; else Shift <= 1; 
        for (k = 0; k <= L_word -1; k = k+1)  	
	 	
          @ (posedge clock or posedge reset) 
          if (reset) begin Clear_Regs; disable Main_Block; end
          else begin // multiple cycles
            Shift <= 0; 
            Add_shift <= 0;  
            if (multiplier == 1) begin Ready <= 1; end
            else if (multiplier[1]) Add_shift <= 1; 
            else Shift <= 1;  // Notice use of multiplier[1]
          end // multiple cycles
           Done <=1;
        end // not reset
      end  // Load_and_Multiply
  end // Main_Block

  task Clear_Regs;
    begin
      Ready <= 0; Flush <= 0; Load_words <= 0; Done <= 0; Shift <= 0; Add_shift <= 0; 
    end
  endtask
endmodule

module Datapath_Unit_IMP_1 
  (product, multiplier, word1, word2, Flush, Load_words, Shift, Add_shift, clock, reset);
  parameter 			L_word = 4;
  output 		[2*L_word -1: 0] 	product;
  output 		[L_word -1: 0] 	multiplier;
  input 		[L_word -1: 0] 	word1, word2;
  input 				Flush, Load_words, Shift, Add_shift, clock, reset;
  reg 		[2*L_word -1: 0] 	product;
  reg 		[2*L_word -1: 0] 	multiplicand;
  reg 		[L_word -1: 0]  	multiplier;

// Datapath Operations

  always @ (posedge clock or posedge reset) begin
    if (reset) begin multiplier <= 0; multiplicand <= 0; product <= 0; end
    else begin 
      if (Flush) product <= 0;  
      else if (Load_words == 1)  begin 
        multiplicand <= word1;
        multiplier <= word2; 
        product <= 0; end
      else if (Shift) begin 
        multiplier <= multiplier >> 1; 
        multiplicand <= multiplicand << 1; end
      else if (Add_shift) begin 
        multiplier <= multiplier >> 1; 
        multiplicand <= multiplicand << 1;    
        product <= product + multiplicand; end
    end 
  end
endmodule

 
module test_Multiplier_IMP_1 ();  
  parameter 			L_word = 4;    
  wire 				[2*L_word-1: 0] 	product;		 
  wire 				Ready;
  integer 				word1, word2;     // multiplicand, multiplier
  reg 				Start, clock, reset;
  reg				reset_flag;
  Multiplier_IMP_1 M1 (product, Ready, Done, word1, word2, Start, clock, reset);

// Exhaustive Testbench
  reg 		[2*L_word-1: 0] 	expected_value;		 
  wire 				code_error;
//initial #1600 $finish;
 initial #80000 $finish;		// Timeout
assign code_error = ((!Start) && Ready && (M1.M2.Done == 1))? |(expected_value ^ product) : 0;

  always @(posedge clock or posedge reset) if (reset) reset_flag = 1; else if (Start & Ready & reset_flag && !M1.M2.Done) reset_flag <= 0;

  always @ (posedge clock or posedge reset)  // Compare product with expected value
    if (reset) expected_value = 0; else if  ((reset_flag && Start && Ready && !reset) || (Start && Ready && M1.M2.Done && !reset) ) begin  
      #1  
      expected_value = word2 * word1;
      //expected_value = word2 * word1 + 1; // Use to check error detection
  
    end 

 initial fork  begin #43600 Start =1; word2 = 9; end

# 43700 Start = 0; 
join

initial begin #15400 reset =1; # 20 reset = 0; end
initial begin #28800 reset =1; # 60 reset = 0; end
//initial begin #29850 Start = 1; #800 Start = 0; end

  //initial begin #321 Start = 1; #100 Start = 0; end

  initial begin clock <= 0; forever #10 clock <= ~clock; end
  initial begin	// Exhaustive patterns 
    #2 reset  = 1;
    #75 reset = 0;
  end
initial begin
    for (word1 = 0; word1 <= 15; word1 = word1 +1) begin
    for (word2 = 0; word2 <= 15; word2 = word2 +1) begin


   // for (word1 = 250; word1 <= 255; word1 = word1 +1) begin
//    for (word2 = 10; word2 <= 255; word2 = word2 +1) begin
      Start = 0; #40 Start= 1;
      #20 Start = 0; 
      #200;
    end  // word2
    #140;
    end  //word1
  end // initial
endmodule



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩av一区二区| 国产精品国产三级国产aⅴ无密码| 欧美一级搡bbbb搡bbbb| 精品国产伦一区二区三区观看方式| 欧美精品一区二区三区一线天视频| 国产亲近乱来精品视频| 亚洲福利一区二区三区| 丝袜美腿亚洲综合| 成人激情小说网站| 欧洲一区二区三区在线| 日本一区二区三区国色天香| 亚洲高清三级视频| 丰满亚洲少妇av| 欧美日韩中文国产| 亚洲精品一区二区三区香蕉| 欧美成人精品二区三区99精品| 亚洲精品久久久蜜桃| 韩国欧美国产一区| 91久久香蕉国产日韩欧美9色| 日韩视频中午一区| 亚洲综合免费观看高清在线观看| 午夜精品久久久久久久99樱桃| 福利电影一区二区三区| 精品国产一区二区三区久久影院 | 亚洲国产成人91porn| 国产成人精品一区二区三区四区| 在线观看亚洲一区| 久久免费的精品国产v∧| 午夜电影久久久| 在线看日本不卡| 最新中文字幕一区二区三区| 九九九久久久精品| 91精品国产综合久久婷婷香蕉 | 亚洲视频你懂的| 国产一区二区伦理| 91精品久久久久久久99蜜桃| 亚洲男帅同性gay1069| 成熟亚洲日本毛茸茸凸凹| 精品国产免费一区二区三区香蕉| 亚洲电影第三页| jizzjizzjizz欧美| 国产日产亚洲精品系列| 精品一区二区三区免费观看| 日韩三级免费观看| 强制捆绑调教一区二区| 5566中文字幕一区二区电影| 中文字幕一区二区三区色视频| 国内精品免费在线观看| 欧美一区二区三区免费| 中文字幕在线不卡一区| 99综合电影在线视频| 久久精品视频在线看| 精品一区二区三区av| 久久伊人蜜桃av一区二区| 久草中文综合在线| 久久久久国产精品麻豆ai换脸 | 日韩精品一级二级| 欧美一区二区三区思思人| 三级久久三级久久| 欧美丝袜自拍制服另类| 性做久久久久久免费观看欧美| 99久久综合狠狠综合久久| 久久久国产精品午夜一区ai换脸| 亚洲电影中文字幕在线观看| 色一情一乱一乱一91av| 水蜜桃久久夜色精品一区的特点| 欧美日韩成人在线| 亚洲一区二区三区国产| 欧美狂野另类xxxxoooo| 久久成人综合网| 久久精品视频网| 91麻豆国产福利精品| 夜夜夜精品看看| 日韩欧美亚洲国产另类| 国产激情视频一区二区三区欧美 | 中文字幕日韩av资源站| 经典三级在线一区| 蜜臀av性久久久久蜜臀aⅴ流畅| 69久久99精品久久久久婷婷| 免费av成人在线| 中文字幕一区二区三区在线播放| 色欲综合视频天天天| 精品国产污污免费网站入口| 欧洲另类一二三四区| 不卡免费追剧大全电视剧网站| 国产一区二区在线电影| 国产亚洲欧美色| 久久久久青草大香线综合精品| 国产日韩精品一区二区三区 | 国产99久久久国产精品潘金| 成人一道本在线| 久久久精品中文字幕麻豆发布| 国产一区二区三区免费看| 日本欧美在线看| 日韩福利电影在线| 日韩成人精品视频| 日韩高清不卡一区| 亚洲一区二区精品视频| 一级日本不卡的影视| 亚洲国产精品精华液ab| 777久久久精品| 777精品伊人久久久久大香线蕉| 欧美性videosxxxxx| 欧美日韩国产电影| 欧美一区在线视频| 精品国产乱码久久久久久久久| 久久久久青草大香线综合精品| 国产日韩影视精品| 成人欧美一区二区三区黑人麻豆| 亚洲人成小说网站色在线| 亚洲综合自拍偷拍| 国产精品久久久久久久蜜臀| 国产欧美精品一区二区色综合朱莉| 欧美久久一二区| 欧美三级视频在线| 韩国午夜理伦三级不卡影院| 国产999精品久久久久久绿帽| 国产精品久久午夜| 亚洲精品视频在线观看网站| 久久99精品国产麻豆婷婷洗澡| 色欧美乱欧美15图片| 精品日韩一区二区三区| 2024国产精品| 日本欧美大码aⅴ在线播放| 91蜜桃免费观看视频| 亚洲视频一区二区免费在线观看| 久久老女人爱爱| 91小视频免费观看| 韩国成人在线视频| 91美女片黄在线| 欧美一级日韩免费不卡| 久久久国产综合精品女国产盗摄| 亚洲美女电影在线| 免费视频最近日韩| 亚洲乱码日产精品bd| 欧美日韩国产色站一区二区三区| 图片区小说区区亚洲影院| 中文字幕二三区不卡| 亚洲宅男天堂在线观看无病毒| 麻豆国产一区二区| 91丨porny丨首页| 日韩欧美一区二区免费| 亚洲精品乱码久久久久久久久 | 亚洲一区二区三区四区五区中文 | 中文一区在线播放| 亚洲 欧美综合在线网络| 国产露脸91国语对白| 在线精品视频一区二区三四| 精品欧美一区二区在线观看| 亚洲精品自拍动漫在线| 久久成人综合网| 欧美视频自拍偷拍| 国产精品久久久久久福利一牛影视| 亚洲男女一区二区三区| 精品一区二区免费在线观看| 白白色 亚洲乱淫| 欧美一区二区三区啪啪| 国产精品超碰97尤物18| 日韩中文字幕不卡| 91老师片黄在线观看| 日韩欧美一区二区视频| 亚洲色图20p| 国产一区二区在线影院| 粉嫩av一区二区三区| 69久久夜色精品国产69蝌蚪网| 精品国产三级电影在线观看| 一区二区三区不卡视频| 国产不卡高清在线观看视频| 91精品国产一区二区三区香蕉| 亚洲国产成人精品视频| 色哟哟日韩精品| 亚洲精品乱码久久久久久日本蜜臀| 国产98色在线|日韩| 久久婷婷综合激情| 久久er精品视频| 日韩欧美专区在线| 日本不卡123| 欧美一区二区三区在线| 亚洲成av人影院| 6080日韩午夜伦伦午夜伦| 爽爽淫人综合网网站| 欧美日韩一级黄| 偷拍与自拍一区| 欧美私模裸体表演在线观看| 亚洲黄色av一区| 91国偷自产一区二区开放时间| 中文乱码免费一区二区| 成年人国产精品| 国产精品久久久久久久久免费桃花 | 亚洲精品日韩一| 色婷婷亚洲精品| 亚洲欧美怡红院| 色网站国产精品| 亚洲精品视频在线观看免费| 色综合天天综合在线视频| 亚洲一区二区三区四区五区中文| 欧美日韩亚洲综合一区 | 一区二区三区中文免费| 久久无码av三级| 欧美色手机在线观看|