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

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

?? addvb_models_7.v.txt

?? Vlerilog HDL高級(jí)數(shù)字設(shè)計(jì)源碼
?? TXT
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):

module Binary_Counter_Part_RTL (count, enable, clk, rst);
  parameter		size = 4;
  output 	[size -1: 0]	count;
  input			enable;
  input			clk, rst;
  wire			enable_DP;

  Control_Unit  M0 (enable_DP, enable, clk, rst);
  Datapath_Unit M1 (count, enable_DP, clk, rst);
endmodule

module Control_Unit  (enable_DP, enable, clk, rst);
  output 		enable_DP;
  input		enable;
  input		clk, rst;			// Not needed 

  wire 		enable_DP = enable;	// pass through

endmodule

module Datapath_Unit (count, enable, clk, rst);
  parameter	size = 4;
  output 		[size-1: 0] count;
  input		enable;
  input		clk, rst;
  reg		count;
  wire		[size-1: 0] next_count;

  always @ (posedge clk) 
    if (rst == 1) count <= 0; 
      else if (enable == 1) count <= next_count(count);

  function 	[size-1: 0] 	next_count;
    input 		[size-1: 0] 	count;
    begin
      next_count = count + 1;
    end
  endfunction
endmodule



module Control_Unit_by_3  (enable_DP, enable, clk, rst);
  output 		enable_DP;
  input		enable;
  input		clk, rst;		// Not needed 

  reg 		enable_DP;

  always begin: Cycle_by_3
    @ (posedge clk) enable_DP  <= 0;
    if ((rst == 1) || (enable != 1)) disable Cycle_by_3; else 
      @ (posedge clk) 
         if ((rst == 1) || (enable != 1)) disable Cycle_by_3; else 
          @ (posedge clk) 
            if ((rst == 1) || (enable != 1)) disable Cycle_by_3; 
             else enable_DP <= 1;
  end // Cycle_by_3
endmodule


module RISC_SPM (clk, rst);
  parameter word_size = 8;
  parameter Sel1_size = 3;
  parameter Sel2_size = 2;
  wire [Sel1_size-1: 0] Sel_Bus_1_Mux;
  wire [Sel2_size-1: 0] Sel_Bus_2_Mux;

  input clk, rst;

  // Data Nets
  wire zero;
  wire [word_size-1: 0] instruction, address, Bus_1, mem_word;
   
  // Control Nets
  wire Load_R0, Load_R1, Load_R2, Load_R3, Load_PC, Inc_PC, Load_IR;   
  wire Load_Add_R, Load_Reg_Y, Load_Reg_Z;
  wire write;
 
  Processing_Unit M0_Processor 
    (instruction, zero, address, Bus_1, mem_word, Load_R0, Load_R1,
    Load_R2, Load_R3, Load_PC, Inc_PC, Sel_Bus_1_Mux, Load_IR, 
    Load_Add_R, Load_Reg_Y,
    Load_Reg_Z,  Sel_Bus_2_Mux, clk, rst);

  Control_Unit M1_Controller (Load_R0, Load_R1, Load_R2, Load_R3, Load_PC, Inc_PC, 
    Sel_Bus_1_Mux, Sel_Bus_2_Mux , Load_IR, Load_Add_R, Load_Reg_Y, Load_Reg_Z, 
    write, instruction, zero, clk, rst);

  Memory_Unit M2_SRAM (
    .data_out(mem_word), 
    .data_in(Bus_1), 
    .address(address), 
    .clk(clk),
    .write(write) );
endmodule


      
module Processing_Unit (instruction, Zflag, address, Bus_1, mem_word, Load_R0, Load_R1, Load_R2, 
  Load_R3, Load_PC, Inc_PC, Sel_Bus_1_Mux, Load_IR, Load_Add_R, Load_Reg_Y, Load_Reg_Z, 
  Sel_Bus_2_Mux, clk, rst);

  parameter word_size = 8;
  parameter op_size = 4;
  parameter Sel1_size = 3;
  parameter Sel2_size = 2;

  output [word_size-1: 0] 	instruction, address, Bus_1;
  output 			Zflag;

  input [word_size-1: 0]  	mem_word;
  input 			Load_R0, Load_R1, Load_R2, Load_R3, Load_PC, Inc_PC;
  input [Sel1_size-1: 0] 	Sel_Bus_1_Mux;
  input [Sel2_size-1: 0] 	Sel_Bus_2_Mux;
  input 			Load_IR, Load_Add_R, Load_Reg_Y, Load_Reg_Z;
  input 			clk, rst;

  wire			Load_R0, Load_R1, Load_R2, Load_R3;
  wire [word_size-1: 0] 	Bus_2;
  wire [word_size-1: 0] 	R0_out, R1_out, R2_out, R3_out;
  wire [word_size-1: 0] 	PC_count, Y_value, alu_out;
  wire 			alu_zero_flag;
  wire [op_size-1 : 0] 	opcode = instruction [word_size-1: word_size-op_size];

  Register_Unit 		R0 	(R0_out, Bus_2, Load_R0, clk, rst);
  Register_Unit 		R1 	(R1_out, Bus_2, Load_R1, clk, rst);
  Register_Unit 		R2 	(R2_out, Bus_2, Load_R2, clk, rst);
  Register_Unit 		R3 	(R3_out, Bus_2, Load_R3, clk, rst);
  Register_Unit 		Reg_Y 	(Y_value, Bus_2, Load_Reg_Y, clk, rst);
  D_flop 			Reg_Z 	(Zflag, alu_zero_flag, Load_Reg_Z, clk, rst);
  Address_Register 	Add_R	(address, Bus_2, Load_Add_R, clk, rst);
  Instruction_Register	IR	(instruction, Bus_2, Load_IR, clk, rst);
  Program_Counter 	PC	(PC_count, Bus_2, Load_PC, Inc_PC, clk, rst);
  Multiplexer_5ch 		Mux_1 	(Bus_1, R0_out, R1_out, R2_out, R3_out, PC_count, Sel_Bus_1_Mux);
  Multiplexer_3ch 		Mux_2	(Bus_2, alu_out, Bus_1, mem_word, Sel_Bus_2_Mux);
  Alu_RISC 		ALU	(alu_zero_flag, alu_out, Y_value, Bus_1, opcode);
endmodule 

module Register_Unit (data_out, data_in, load, clk, rst);
  parameter 		word_size = 8;
  output [word_size-1: 0] 	data_out;
  input 	[word_size-1: 0] 	data_in;
  input 			load;
  input 			clk, rst;
  reg 	[word_size-1: 0]	data_out;

  always @ (posedge clk or negedge rst)
    if (rst == 0) data_out <= 0; else if (load) data_out <= data_in;
endmodule

module D_flop (data_out, data_in, load, clk, rst);
  output 		data_out;
  input 		data_in;
  input 		load;
  input 		clk, rst;
  reg 		data_out;

  always @ (posedge clk or negedge rst)
    if (rst == 0) data_out <= 0; else if (load == 1)data_out <= data_in;
endmodule

 module Address_Register (data_out, data_in, load, clk, rst);
  parameter word_size = 8;
  output [word_size-1: 0] 	data_out;
  input 	[word_size-1: 0] 	data_in;
  input 			load, clk, rst;
  reg 	[word_size-1: 0]	data_out;
  always @ (posedge clk or negedge rst)
    if (rst == 0) data_out <= 0; else if (load) data_out <= data_in;
endmodule

module Instruction_Register (data_out, data_in, load, clk, rst);
  parameter word_size = 8;
  output [word_size-1: 0] 	data_out;
  input 	[word_size-1: 0] 	data_in;
  input 			load;
  input 			clk, rst;
  reg 	[word_size-1: 0]	data_out;
  always @ (posedge clk or negedge rst)
    if (rst == 0) data_out <= 0; else if (load) data_out <= data_in; 
endmodule

module Program_Counter (count, data_in, Load_PC, Inc_PC, clk, rst);
  parameter word_size = 8;
  output [word_size-1: 0] 	count;
  input 	[word_size-1: 0] 	data_in;
  input 			Load_PC, Inc_PC;
  input 			clk, rst;
  reg 	[word_size-1: 0]	count;
  always @ (posedge clk or negedge rst)
    if (rst == 0) count <= 0; else if (Load_PC) count <= data_in; else if  (Inc_PC) count <= count +1;
endmodule

module Multiplexer_5ch (mux_out, data_a, data_b, data_c, data_d, data_e, sel);
  parameter word_size = 8;
  output [word_size-1: 0] 	mux_out;
  input 	[word_size-1: 0] 	data_a, data_b, data_c, data_d, data_e;
  input 	[2: 0] sel;
 
  assign  mux_out = (sel == 0) 	? data_a: (sel == 1) 
        ? data_b : (sel == 2) 
        ? data_c: (sel == 3) 
        ? data_d : (sel == 4) 
        ? data_e : 'bx;
endmodule

module Multiplexer_3ch (mux_out, data_a, data_b, data_c, sel);
  parameter 	word_size = 8;
  output 		[word_size-1: 0]	 mux_out;
  input 		[word_size-1: 0] 	data_a, data_b, data_c;
  input 		[1: 0] sel;

  assign  mux_out = (sel == 0) ? data_a: (sel == 1) ? data_b : (sel == 2) ? data_c: 'bx;
endmodule
 


/*ALU Instruction		Action
ADD			Adds the datapaths to form data_1 + data_2.
SUB			Subtracts the datapaths to form data_1 - data_2.
AND			Takes the bitwise-and of the datapaths, data_1 & data_2.
NOT			Takes the bitwise Boolean complement of data_1.
*/
// Note: the carries are ignored in this model.
 
module Alu_RISC (alu_zero_flag, alu_out, data_1, data_2, sel);
  parameter word_size = 8;
  parameter op_size = 4;
  // Opcodes
  parameter NOP 	= 4'b0000;
  parameter ADD 	= 4'b0001;
  parameter SUB 	= 4'b0010;
  parameter AND 	= 4'b0011;
  parameter NOT 	= 4'b0100;
  parameter RD  		= 4'b0101;
  parameter WR		= 4'b0110;
  parameter BR		= 4'b0111;
  parameter BRZ 		= 4'b1000;

  output 			alu_zero_flag;
  output [word_size-1: 0] 	alu_out;
  input 	[word_size-1: 0] 	data_1, data_2;
  input 	[op_size-1: 0] 	sel;
  reg 	[word_size-1: 0]	alu_out;

  assign  alu_zero_flag = ~|alu_out;
  always @ (sel or data_1 or data_2)  
     case  (sel)
      NOP:	alu_out = 0;
      ADD:	alu_out = data_1 + data_2;  // Reg_Y + Bus_1
      SUB:	alu_out = data_2 - data_1;
      AND:	alu_out = data_1 & data_2;
      NOT:	alu_out = ~ data_2;	 // Gets data from Bus_1
      default: 	alu_out = 0;
    endcase 
endmodule


module Control_Unit (
  Load_R0, Load_R1, 
  Load_R2, Load_R3, 
  Load_PC, Inc_PC, 
  Sel_Bus_1_Mux, Sel_Bus_2_Mux,
  Load_IR, Load_Add_R, Load_Reg_Y, Load_Reg_Z, 
  write, instruction, zero, clk, rst);
 
  parameter word_size = 8, op_size = 4, state_size = 4;
  parameter src_size = 2, dest_size = 2, Sel1_size = 3, Sel2_size = 2;
  // State Codes
  parameter S_idle = 0, S_fet1 = 1, S_fet2 = 2, S_dec = 3;
  parameter  S_ex1 = 4, S_rd1 = 5, S_rd2 = 6;  
  parameter S_wr1 = 7, S_wr2 = 8, S_br1 = 9, S_br2 = 10, S_halt = 11;  
  // Opcodes
  parameter NOP = 0, ADD = 1, SUB = 2, AND = 3, NOT = 4;
  parameter RD  = 5, WR =  6,  BR =  7, BRZ = 8;  
  // Source and Destination Codes  
  parameter R0 = 0, R1 = 1, R2 = 2, R3 = 3;  

  output Load_R0, Load_R1, Load_R2, Load_R3;
  output Load_PC, Inc_PC;
  output [Sel1_size-1: 0] Sel_Bus_1_Mux;
  output Load_IR, Load_Add_R;
  output Load_Reg_Y, Load_Reg_Z;
  output [Sel2_size-1: 0] Sel_Bus_2_Mux;
  output write;
  input [word_size-1: 0] instruction;
  input zero;
  input clk, rst;
 
  reg [state_size-1: 0] state, next_state;
  reg Load_R0, Load_R1, Load_R2, Load_R3, Load_PC, Inc_PC;
  reg Load_IR, Load_Add_R, Load_Reg_Y;
  reg Sel_ALU, Sel_Bus_1, Sel_Mem;
  reg Sel_R0, Sel_R1, Sel_R2, Sel_R3, Sel_PC;
  reg Load_Reg_Z, write;
  reg err_flag;

  wire [op_size-1: 0] opcode = instruction [word_size-1: word_size - op_size];
  wire [src_size-1: 0] src = instruction [src_size + dest_size -1: dest_size];
  wire [dest_size-1: 0] dest = instruction [dest_size -1: 0];
 
  // Mux selectors
  assign  Sel_Bus_1_Mux[Sel1_size-1: 0] = Sel_R0 ? 0:
				 Sel_R1 ? 1:
				 Sel_R2 ? 2:
				 Sel_R3 ? 3:
				 Sel_PC ? 4: 3'bx;  // 3-bits, sized number

  assign  Sel_Bus_2_Mux[Sel2_size-1: 0] = Sel_ALU ? 0:
				 Sel_Bus_1 ? 1:
				 Sel_Mem ? 2: 2'bx;

  always @ (posedge clk or negedge rst) begin: State_transitions

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜一区二区三区免费大片| 国产一区免费电影| 欧美成人精品高清在线播放| 国产一区不卡视频| 亚洲欧美另类综合偷拍| 欧美日精品一区视频| 精品在线一区二区| 亚洲欧美怡红院| 欧美精品v国产精品v日韩精品 | 国产日韩欧美一区二区三区综合 | 欧美tickle裸体挠脚心vk| 久久精品国产在热久久| 国产精品久久久久毛片软件| 97se亚洲国产综合自在线不卡| 亚洲成人免费影院| 国产精品美女一区二区在线观看| 制服丝袜激情欧洲亚洲| 成人一级黄色片| 视频一区二区中文字幕| 综合激情成人伊人| 欧美成人女星排名| 成人av动漫网站| 久久国产尿小便嘘嘘尿| 一区二区三区久久| 中文字幕不卡一区| 日韩欧美中文字幕精品| 成人精品视频一区二区三区| 久久99国内精品| 亚洲一区二区三区在线播放| 久久中文字幕电影| 91精品国产入口在线| 欧美欧美午夜aⅴ在线观看| 成人高清视频在线观看| 麻豆91精品视频| 亚洲一区在线观看视频| 国产精品久久午夜| 久久久久久久电影| 久久久蜜桃精品| 精品处破学生在线二十三| 制服丝袜日韩国产| 日韩欧美资源站| 精品久久一二三区| 精品久久国产老人久久综合| 欧美成人一区二区三区片免费| 欧美一区二区三区四区五区| 在线播放亚洲一区| 欧美一区二区久久久| 日韩三级在线免费观看| 久久夜色精品国产噜噜av| 国产日本欧洲亚洲| 中文字幕亚洲一区二区va在线| 国产精品久久久久久久久果冻传媒| 国产精品理伦片| 亚洲精品成a人| 一区二区三区日韩精品视频| 亚洲va欧美va人人爽| 日韩电影网1区2区| 国产乱码精品一区二区三区五月婷| 国产一区二区精品久久| 97国产一区二区| 欧美丝袜丝交足nylons| 日韩精品一区二区在线观看| 久久久久久久久久久久久久久99| 日本一二三不卡| 亚洲日本电影在线| 天堂蜜桃91精品| 国产一区二区三区免费观看| 99精品在线免费| 欧美日韩aaa| 久久久精品综合| 亚洲狠狠丁香婷婷综合久久久| 青草国产精品久久久久久| 久久国产夜色精品鲁鲁99| av日韩在线网站| 在线播放91灌醉迷j高跟美女 | 91麻豆精品国产91久久久久久久久 | 国产精品理论在线观看| 亚洲一区二区视频| 精品一区二区成人精品| 成人一区二区三区在线观看| 97久久超碰国产精品电影| 成人国产亚洲欧美成人综合网| 欧美在线色视频| 欧美精品一区二区久久婷婷| 欧美激情一区二区三区| 午夜久久久久久久久久一区二区| 麻豆成人久久精品二区三区小说| 99re这里只有精品视频首页| 欧美日韩精品免费观看视频| 欧美丰满嫩嫩电影| 久久精品一区二区三区四区| 亚洲国产欧美一区二区三区丁香婷| 日韩av高清在线观看| 99re免费视频精品全部| 欧洲生活片亚洲生活在线观看| 欧美精品一区男女天堂| 国产精品二三区| 麻豆精品一二三| 成人高清视频在线| 欧美一区二区高清| 亚洲免费在线视频一区 二区| 天天射综合影视| 色婷婷av久久久久久久| 欧美大片在线观看| 午夜精品福利一区二区蜜股av| 国产一区二区调教| 日韩欧美国产三级| 中文字幕一区二区5566日韩| 九九九精品视频| 91久久线看在观草草青青| 国产精品人妖ts系列视频| 日韩av成人高清| 欧美视频在线一区| 国产欧美日韩在线| 韩国精品在线观看| 欧美电影影音先锋| 性欧美大战久久久久久久久| 成人三级伦理片| 亚洲欧洲精品成人久久奇米网| 香蕉成人啪国产精品视频综合网| 色综合中文字幕国产 | 久久久久久免费网| 亚洲午夜在线电影| 99久久婷婷国产综合精品电影| 欧美精品亚洲一区二区在线播放| 成人欧美一区二区三区在线播放| 久久国产精品一区二区| 91精品蜜臀在线一区尤物| 亚洲免费在线视频| 在线亚洲一区二区| 国产精品国产三级国产有无不卡 | av亚洲精华国产精华| 精品久久99ma| 亚洲福利视频一区| 色婷婷久久久亚洲一区二区三区 | 国产精品一区二区果冻传媒| 欧美一区二区视频在线观看2022 | 久久激五月天综合精品| 日韩久久免费av| 日韩精品一区第一页| 欧美精品色综合| 亚洲综合在线免费观看| 欧美日韩精品久久久| 亚洲精品中文在线观看| 在线视频国内自拍亚洲视频| 中文字幕一区二| 色狠狠一区二区| 亚洲九九爱视频| 国产亚洲欧洲997久久综合| 另类小说视频一区二区| 日韩欧美123| 国产精品一区二区在线看| 精品国产sm最大网站免费看| 国产黄色精品网站| 久久久美女毛片| 99国产精品久| 亚洲毛片av在线| 欧美一区二区三区免费大片| 日日骚欧美日韩| 欧美精品一区二区三区视频| 爽好久久久欧美精品| 精品久久国产字幕高潮| 国产乱人伦偷精品视频免下载| 久久婷婷综合激情| 99久久久久久| 亚洲综合成人在线| 欧美日韩一区二区在线观看 | 色婷婷av一区| 天天综合色天天综合色h| 日韩视频永久免费| 91亚洲精华国产精华精华液| 日本一区二区三区在线观看| 99re视频精品| 久草热8精品视频在线观看| 久久久久国产精品免费免费搜索| 99精品久久99久久久久| 午夜精品久久久久久久久久久| 久久久国际精品| 99久久99久久精品国产片果冻| 天天综合网 天天综合色| 在线综合视频播放| 99久久99久久精品国产片果冻| 日韩经典一区二区| 欧美国产视频在线| 欧美一级片在线观看| 国产成人av一区二区三区在线| 一区二区三区产品免费精品久久75| 日韩欧美综合在线| 91影院在线观看| 久久99国产精品尤物| 国产精品久久99| 日韩精品一区国产麻豆| 99久久国产综合精品女不卡| 美女一区二区三区在线观看| 26uuu亚洲综合色欧美| 在线亚洲一区二区| 成人精品一区二区三区中文字幕| 亚洲大片免费看| 综合久久国产九一剧情麻豆| 日韩无一区二区|