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

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

?? addvb_models_7.v.txt

?? Vlerilog HDL高級數字設計源碼
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
    if (rst == 0) state <= S_idle; else state <= next_state; end

/*  always @ (state or instruction or zero) begin:  Output_and_next_state	

Note: The above event control expression leads to incorrect operation.  The state transition causes the activity to be evaluated once, then the resulting instruction change causes it to be evaluated again, but with the residual value of opcode.  On the second pass the value seen is the value opcode had before the state change, which results in Sel_PC = 0 in state 3, which will cause a return to state 1 at the next clock.  Finally, opcode is changed, but this does not trigger a re-evaluation because it is not in the event control expression.  So, the caution is to be sure to use opcode in the event control expression. That way, the final execution of the behavior uses the value of opcode that results from the state change, and leads to the correct value of Sel_PC.
*/ 

  always @ (state or opcode or src or dest or zero) begin: Output_and_next_state 
    Sel_R0 = 0; 	Sel_R1 = 0;     	Sel_R2 = 0;    	Sel_R3 = 0;     	Sel_PC = 0;
    Load_R0 = 0; 	Load_R1 = 0; 	Load_R2 = 0; 	Load_R3 = 0;	Load_PC = 0;

    Load_IR = 0;	Load_Add_R = 0;	Load_Reg_Y = 0;	Load_Reg_Z = 0;
    Inc_PC = 0; 
    Sel_Bus_1 = 0; 
    Sel_ALU = 0; 
    Sel_Mem = 0; 
    write = 0; 
    err_flag = 0;	// Used for de-bug in simulation		
    next_state = state;

     case  (state)	S_idle:		next_state = S_fet1;      
        S_fet1:		begin       	  	  	
          next_state = S_fet2; 
      	  	  		  Sel_PC = 1;
      	  	  		  Sel_Bus_1 = 1;
      	  	   		  Load_Add_R = 1; 
    				end
      		S_fet2:		begin 		
          next_state = S_dec; 
          Sel_Mem = 1;
      	  	  		  Load_IR = 1; 
      	  	  		  Inc_PC = 1;
    				end

      		S_dec:  	 	case  (opcode) 
      		 		  NOP: next_state = S_fet1;
		  		  ADD, SUB, AND: begin
 		    		    next_state = S_ex1;
		    		    Sel_Bus_1 = 1;
		    		    Load_Reg_Y = 1;
		     		    case  (src)
		      		      R0: 		Sel_R0 = 1; 
		      		      R1: 		Sel_R1 = 1; 
		      		      R2: 		Sel_R2 = 1;
		      		      R3: 		Sel_R3 = 1; 
		      		      default : 	err_flag = 1;
		    		    endcase   
          end // ADD, SUB, AND
        
			 	  NOT: begin
			    	    next_state = S_fet1;
			    	    Load_Reg_Z = 1;
			    	    Sel_Bus_1 = 1; 
			    	    Sel_ALU = 1; 
		 	     	    case  (src)
			      	      R0: 		Sel_R0 = 1;			      
      				      R1: 		Sel_R1 = 1;
			      	      R2: 		Sel_R2 = 1;			      
 			      	      R3: 		Sel_R3 = 1; 
			      	      default : 	err_flag = 1;
			    	    endcase   
  			     	    case  (dest)
			      	      R0: 		Load_R0 = 1; 
			      	      R1: 		Load_R1 = 1;			      
      				      R2: 		Load_R2 = 1;
			      	      R3: 		Load_R3 = 1;			      
      				      default: 	err_flag = 1;
			    	    endcase   
          end // NOT
  				  
          RD: begin
			    	    next_state = S_rd1;
			    	    Sel_PC = 1; Sel_Bus_1 = 1; Load_Add_R = 1; 
          end // RD

			  	  WR: begin
			    	    next_state = S_wr1;
			    	    Sel_PC = 1; Sel_Bus_1 = 1; Load_Add_R = 1; 
          end  // WR

			  	  BR: begin 
			    	    next_state = S_br1;  
            Sel_PC = 1; Sel_Bus_1 = 1; Load_Add_R = 1; 
			    	  end  // BR
	
  				  BRZ: if (zero == 1) begin
			    	    next_state = S_br1; 
            Sel_PC = 1; Sel_Bus_1 = 1; Load_Add_R = 1; 
			    	  end // BRZ
			  	  else begin 
            next_state = S_fet1; 
            Inc_PC = 1; 
          end
        		  		  default : next_state = S_halt;
				endcase  // (opcode)

    	      	S_ex1:		begin 
  			  	  next_state = S_fet1;
			  	  Load_Reg_Z = 1;
			  	  Sel_ALU = 1; 
		 	   	  case  (dest)
  	    		    	    R0: begin Sel_R0 = 1; Load_R0 = 1; end
			    	    R1: begin Sel_R1 = 1; Load_R1 = 1; end
			    	    R2: begin Sel_R2 = 1; Load_R2 = 1; end
			    	    R3: begin Sel_R3 = 1; Load_R3 = 1; end
			    	    default : err_flag = 1; 
			   	  endcase  
				end 

    	      	S_rd1:		begin 
          next_state = S_rd2;
			  	  Sel_Mem = 1;
			  	  Load_Add_R = 1; 
			  	  Inc_PC = 1;
				end

    	      	S_wr1: 		begin
			  	  next_state = S_wr2;
			  	  Sel_Mem = 1;
			  	  Load_Add_R = 1; 
			  	  Inc_PC = 1;
				end 

      		S_rd2:		begin 
  			  	  next_state = S_fet1;
			  	  Sel_Mem = 1;
		 	   	  case  (dest) 
    			    	    R0: 		Load_R0 = 1; 
		 	    	    R1: 		Load_R1 = 1; 
		 	    	    R2: 		Load_R2 = 1; 
		 	    	    R3: 		Load_R3 = 1; 
			    	    default : 	err_flag = 1;
			  	  endcase  
				end

    	      	S_wr2:		begin 
     			  	  next_state = S_fet1;
			  	  write = 1;
		 	  	  case  (src)
    			    	    R0: 		Sel_R0 = 1;		 	    
    				    R1: 		Sel_R1 = 1;		 	    
   				    R2: 		Sel_R2 = 1; 		 	    
   				    R3: 		Sel_R3 = 1;			    
    				    default : 	err_flag = 1;
			  	  endcase  
				end

    	      	S_br1:		begin next_state = S_br2; Sel_Mem = 1; Load_Add_R = 1; end
    	      	S_br2:		begin next_state = S_fet1; Sel_Mem = 1; Load_PC = 1; end
    	      	S_halt:  		next_state = S_halt;
		default:		next_state = S_idle;
     endcase    
  end
endmodule
      

module Memory_Unit (data_out, data_in, address, clk, write);
  parameter word_size = 8;
  parameter memory_size = 256;

  output [word_size-1: 0] data_out;
  input [word_size-1: 0] data_in;
  input [word_size-1: 0] address;
  input clk, write;
  reg [word_size-1: 0] memory [memory_size-1: 0];

  assign data_out = memory[address];

  always @ (posedge clk)
    if (write) memory[address] = data_in;
endmodule




module test_RISC_SPM ();
  reg rst;
  wire clk;
  parameter word_size = 8;
  reg [8: 0] k;

  Clock_Unit M1 (clk);
  RISC_SPM M2 (clk, rst);

// define probes
  wire [word_size-1: 0] word0, word1, word2, word3, word4, word5, word6;
  wire [word_size-1: 0] word7, word8, word9, word10, word11, word12, word13;
  wire [word_size-1: 0] word14;

  wire [word_size-1: 0] word128, word129, word130, word131, word132, word255;
  wire [word_size-1: 0] word133, word134, word135, word136, word137;
  wire [word_size-1: 0] word138, word139, word140;
  assign word0 = M2.M2_SRAM.memory[0];
  assign word1 = M2.M2_SRAM.memory[1];
  assign word2 = M2.M2_SRAM.memory[2];
  assign word3 = M2.M2_SRAM.memory[3];
  assign word4 = M2.M2_SRAM.memory[4];
  assign word5 = M2.M2_SRAM.memory[5];
  assign word6 = M2.M2_SRAM.memory[6];
  assign word7 = M2.M2_SRAM.memory[7];
  assign word8 = M2.M2_SRAM.memory[8];
  assign word9 = M2.M2_SRAM.memory[9];
  assign word10 = M2.M2_SRAM.memory[10];
  assign word11 = M2.M2_SRAM.memory[11];
  assign word12 = M2.M2_SRAM.memory[12];
  assign word13 = M2.M2_SRAM.memory[13];
  assign word14 = M2.M2_SRAM.memory[14];
   
  assign word128 = M2.M2_SRAM.memory[128];
  assign word129 = M2.M2_SRAM.memory[129];
  assign word130 = M2.M2_SRAM.memory[130];
  assign word131 = M2.M2_SRAM.memory[131];
  assign word132 = M2.M2_SRAM.memory[132];
  assign word133 = M2.M2_SRAM.memory[133];
  assign word134 = M2.M2_SRAM.memory[134];
  assign word135 = M2.M2_SRAM.memory[135];
  assign word136 = M2.M2_SRAM.memory[136];
  assign word137 = M2.M2_SRAM.memory[137];
  assign word138 = M2.M2_SRAM.memory[138];
  assign word139 = M2.M2_SRAM.memory[139];
  assign word140 = M2.M2_SRAM.memory[140];


  assign word255 = M2.M2_SRAM.memory[255];

 initial #2800 $finish;
 
Flush Memory

initial begin: Flush_Memory
  #2 rst = 0; for (k=0; k<=255; k=k+1)M2.M2_SRAM.memory[k] = 0; #10 rst = 1;
end

initial begin: Load_program
  #5
			 // opcode_src_dest
  M2.M2_SRAM.memory[0] = 8'b0000_00_00;		// NOP
  M2.M2_SRAM.memory[1] = 8'b0101_00_10;		// Read 130 to R2
  M2.M2_SRAM.memory[2] = 130;
  M2.M2_SRAM.memory[3] = 8'b0101_00_11;		// Read 131 to R3
  M2.M2_SRAM.memory[4] = 131;
  M2.M2_SRAM.memory[5] = 8'b0101_00_01;		// Read 128 to R1
  M2.M2_SRAM.memory[6] = 128;
  M2.M2_SRAM.memory[7] = 8'b0101_00_00;		// Read 129 to R0
  M2.M2_SRAM.memory[8] = 129;

  M2.M2_SRAM.memory[9] = 8'b0010_00_01;		// Sub R1-R0 to R1

  M2.M2_SRAM.memory[10] = 8'b1000_00_00;		// BRZ 
  M2.M2_SRAM.memory[11] = 134;				// Holds address for BRZ


  M2.M2_SRAM.memory[12] = 8'b0001_10_11;		// Add R2+R3 to R3
  M2.M2_SRAM.memory[13] = 8'b0111_00_11;		// BR
  M2.M2_SRAM.memory[14] = 140;

  // Load data
  M2.M2_SRAM.memory[128] = 6;
  M2.M2_SRAM.memory[129] = 1;
  M2.M2_SRAM.memory[130] = 2;
  M2.M2_SRAM.memory[131] = 0;
  M2.M2_SRAM.memory[134] = 139;
  //M2.M2_SRAM.memory[135] = 0;
  M2.M2_SRAM.memory[139] = 8'b1111_00_00;		// HALT
  M2.M2_SRAM.memory[140] = 9;				//  Recycle
end 
endmodule

module UART_Transmitter_Arch 
  (Serial_out, Data_Bus, Byte_ready, Load_XMT_datareg, T_byte, Clock, reset_);
  parameter	word_size = 8;			// Size of data word, e.g., 8 bits
  parameter	one_hot_count = 3;		// Number of one-hot states 
  parameter	state_count = one_hot_count;	// Number of bits in state register
  parameter	size_bit_count = 3;		// Size of the bit counter, e.g., 4 
        					// Must count to word_size + 1
  parameter	idle = 3'b001;			// one-hot state encoding 
  parameter	waiting = 3'b010;
  parameter	sending = 3'b100; 
  parameter	all_ones = 9'b1_1111_1111;	// Word + 1 extra bit

  output 			Serial_out;		// Serial output to data channel
  input 	[word_size - 1 : 0] Data_Bus;		// Host data bus containing data word
  input			Byte_ready; 		// Used by host to signal ready
  input			Load_XMT_datareg;	// Used by host to load the data register
  input			T_byte;			// Used by host to signal start of transmission
  input			Clock;			// Bit clock of the transmitter
  input			reset_;			// Resets internal registers, loads the
						// XMT_shftreg with ones

  reg [word_size -1: 0] 	XMT_datareg;		// Transmit Data Register
  reg [word_size: 0] 	XMT_shftreg;		// Transmit Shift Register: {data, start bit}
  reg 			Load_XMT_shftreg;	// Flag to load the XMT_shftreg
  reg [state_count -1: 0] 	state, next_state;		// State machine controller
  reg [size_bit_count: 0] 	bit_count;		// Counts the bits that are transmitted
  reg			clear;			// Clears bit_count after last bit is sent
          reg			shift;			// Causes shift of data in XMT_shftreg
  reg			start;			// Signals start of transmission

  assign Serial_out = XMT_shftreg[0];		// LSB of shift register 

  always @ (state or Byte_ready or bit_count or T_byte) begin: Output_and_next_state
    Load_XMT_shftreg = 0;
    clear = 0;
    shift = 0;
    start = 0;
    next_state = state;
    case (state)
      idle:		if (Byte_ready == 1) begin 
	  	  Load_XMT_shftreg = 1; 
		  next_state = waiting;  		
		end 

      waiting:	if (T_byte == 1) 	begin
		  start = 1;
	  	  next_state = sending;			

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电视剧在线看免费| 美日韩一区二区三区| 亚洲国产精品人人做人人爽| 日韩av高清在线观看| 成人av网站在线| 欧美理论在线播放| 亚洲免费av高清| 岛国精品在线观看| 欧美一卡二卡在线| 亚洲国产视频一区| 9色porny自拍视频一区二区| 精品剧情在线观看| 日韩精品一二区| 在线亚洲精品福利网址导航| 国产日韩精品一区二区三区| 日韩电影免费在线观看网站| 欧美专区日韩专区| 亚洲欧洲日韩女同| 99这里只有久久精品视频| 精品理论电影在线观看| 日韩成人精品在线| 欧美日韩高清在线| 亚洲午夜电影在线观看| 色婷婷综合视频在线观看| 国产精品色哟哟| 国产成人免费高清| 久久九九久精品国产免费直播| 日本一不卡视频| 日韩一级成人av| 日本女人一区二区三区| 欧美日韩情趣电影| 日本色综合中文字幕| 在线播放中文字幕一区| 热久久国产精品| 欧美一区二区免费视频| 免费xxxx性欧美18vr| 日韩色视频在线观看| 日韩av电影天堂| 日韩欧美一二三| 久久av资源网| 国产亚洲视频系列| 成人福利在线看| 亚洲视频一区在线| 91久久免费观看| 亚洲国产精品久久艾草纯爱| 欧美性色黄大片手机版| 五月天网站亚洲| 欧美一区二区黄色| 国产乱码精品一区二区三区忘忧草 | 精品一区二区三区免费毛片爱| 欧美肥妇free| 国产一区二区视频在线播放| 久久精品亚洲精品国产欧美kt∨| 成人免费av在线| 一区二区三区日韩精品| 欧美性受xxxx| 精彩视频一区二区三区| 国产欧美va欧美不卡在线| 不卡视频免费播放| 亚洲国产精品天堂| 精品日本一线二线三线不卡| 国产一区二区h| 亚洲欧美日本在线| 3751色影院一区二区三区| 国产精一区二区三区| 亚洲免费观看高清在线观看| 欧美日韩一区二区在线观看视频| 日韩国产在线观看一区| 欧美激情在线一区二区| 91在线观看污| 日韩1区2区3区| 亚洲黄网站在线观看| 日韩一区二区三区av| 国产v综合v亚洲欧| 亚洲第一主播视频| 国产日韩欧美激情| 欧美丰满高潮xxxx喷水动漫| 福利一区二区在线| 日韩激情av在线| 亚洲视频在线观看三级| 欧美一级艳片视频免费观看| 波多野结衣亚洲| 国产一区二区免费在线| 亚洲影院久久精品| 中文字幕 久热精品 视频在线| 91精品欧美福利在线观看| eeuss鲁片一区二区三区 | 日日夜夜一区二区| 国产精品初高中害羞小美女文| 日韩欧美中文一区二区| 在线免费视频一区二区| 国产成人免费视频网站| 久久电影网站中文字幕| 亚洲一二三区在线观看| 亚洲国产精品成人综合色在线婷婷| 欧美成人一区二区三区| 日本高清视频一区二区| 懂色一区二区三区免费观看| 日本欧美韩国一区三区| 亚洲福利视频三区| 一卡二卡三卡日韩欧美| 亚洲欧美另类小说视频| 国产精品电影一区二区| 精品盗摄一区二区三区| 精品噜噜噜噜久久久久久久久试看 | 欧美一卡在线观看| 欧美性受xxxx黑人xyx性爽| 色综合欧美在线| 成人精品国产一区二区4080| 国产一区二区三区四区五区入口| 麻豆精品国产传媒mv男同| 亚洲一区二区中文在线| 一区二区三区.www| 亚洲二区在线视频| 亚洲一二三四在线观看| 亚洲成人一区二区| 亚洲精品视频一区| 一区二区在线看| 亚洲国产sm捆绑调教视频| 亚洲激情图片小说视频| 亚洲一二三区不卡| 日本欧美一区二区三区乱码| 五月天欧美精品| 久久精品国产久精国产爱| 狠狠网亚洲精品| 国产在线观看免费一区| 久久99精品久久久久久国产越南 | 欧美性大战久久久久久久蜜臀| 91女神在线视频| 91成人免费在线| 欧美高清视频不卡网| 在线观看91av| 久久综合狠狠综合久久综合88 | 国产亚洲一二三区| 国产精品家庭影院| 一区二区三区在线视频播放| 亚洲国产一区二区视频| 日韩精品视频网| 韩国av一区二区三区| 成人污污视频在线观看| 91成人国产精品| 日韩精品一区在线| 国产精品国产三级国产a| 亚洲最大成人综合| 青青草国产精品97视觉盛宴| 国内精品国产三级国产a久久| 蜜臀久久99精品久久久画质超高清 | 夜夜嗨av一区二区三区| 男男成人高潮片免费网站| 国产精品一级二级三级| 一本大道综合伊人精品热热 | 色8久久精品久久久久久蜜| 欧美日韩高清在线播放| 国产香蕉久久精品综合网| 一区二区在线看| 精油按摩中文字幕久久| www.亚洲国产| 在线成人高清不卡| 国产精品久久久久久久裸模 | 91麻豆免费看| 日韩欧美你懂的| 亚洲人成伊人成综合网小说| 日本在线不卡视频| 91天堂素人约啪| 欧美成人一区二区| 亚洲免费观看高清在线观看| 久久精品久久99精品久久| 99r精品视频| 久久综合久久综合九色| 亚洲综合一区二区三区| 国产剧情一区二区三区| 欧美日韩第一区日日骚| 亚洲国产激情av| 蜜桃精品在线观看| 色综合中文字幕| 久久久久久久久一| 亚洲国产裸拍裸体视频在线观看乱了| 国产在线乱码一区二区三区| 欧美亚洲国产怡红院影院| 亚洲美女少妇撒尿| 国产精品77777竹菊影视小说| 欧美日韩免费不卡视频一区二区三区| 久久久综合激的五月天| 丝袜美腿高跟呻吟高潮一区| 91亚洲精品乱码久久久久久蜜桃| 精品处破学生在线二十三| 日本不卡不码高清免费观看| 在线观看视频欧美| 欧美激情一区二区在线| 激情文学综合网| 欧美久久久久中文字幕| 亚洲狼人国产精品| av在线不卡网| 中国av一区二区三区| 丁香一区二区三区| 精品国产sm最大网站| 免费高清在线视频一区·| 色哟哟欧美精品| 国产精品拍天天在线| 成人aaaa免费全部观看|