⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cyclone_atoms.v

📁 this is a sample about UART transmission,it s default installation is D:RedLogicRCII_samples, and th
💻 V
📖 第 1 页 / 共 5 页
字号:
	else
	  aclrout_reg <= 1'b0;
     end
   
   assign aclrout = (ifaclr == 1'b1) ? aclrout_reg : 1'b0;
   
   // SYNCHRONOUS RESET - REGISTER CONFIGURATION
   always @ (posedge clk_ipd or negedge devclrn or negedge devpor)
     begin
	if ((ifaclr && aclr_ipd) || ~devclrn || ~devpor)
	  begin
	     if((preset == "true") && (powerup == 1'b1))
		    dataout_sreg <= ~(143'b0);
		  else
		    dataout_sreg <= 'b0;
	       end
	else if (ifclk && clk_ipd && ifena && ena_ipd)	
	  begin
	     dataout_sreg <= data_ipd;
	  end
	else
	  begin
	     dataout_sreg <= dataout_sreg;
	  end
     end 
   
   // ASYNCHRONOUS RESET - REGISTER CONFIGURATION
   always @ (posedge clk_ipd or posedge aclr_ipd or 
	     negedge devclrn or negedge devpor)
      begin
	 if ((ifaclr && aclr_ipd) || ~devclrn || ~devpor)
	  begin
	     if((preset == "true") && (powerup == 1'b1))
		    dataout_reg <= ~(143'b0);
		  else
		    dataout_reg <= 'b0;
	       end
	 else if (ifclk && clk_ipd && ifena && ena_ipd)	 
	   begin
	      dataout_reg <= data_ipd;
	   end
	 else
	   begin
	      dataout_reg <= dataout_reg;
	   end
      end
   
   // DONE REGISTER
   always @ (clk_ipd)
     begin
	if(clk_ipd && ena_ipd)	  
	  done_reg <= 1'b1;
	else
	  done_reg <= 1'b0;
	if(clk_ipd)
	  clk_dly <= 1'b1;
	else
	  clk_dly <= 1'b0;
     end
   
   assign clkout = clk_dly;
   
   // DONE DELTA TICK
   always @ (done_reg)
     begin
	done_delta <= done_reg;
     end
   
   assign dataout_tmp  = (ifclk ? ((sclr == "true") ? 
				    dataout_sreg : dataout_reg) : data_ipd);
   assign dataout_tbuf = dataout_tmp;
   assign done_tbuf    = done_delta;	  
   
endmodule // cyclone_ram_register

///////////////////////////////////////////////////////////////////////////////
//
//                            CYCLONE_RAM_CLEAR
//
///////////////////////////////////////////////////////////////////////////////

`timescale 1 ps/1 ps
  module cyclone_ram_clear 
    (
     aclr, 
     d, 
     clk,
     ena,
     edg,
     q
     );
   
   input d;
   input aclr;
   input clk;
   input ena;
   input edg;
   output q;
   
   reg 	  q_tmp;
   reg 	  valid;
      
   always @ (clk or ena)
     begin
	if(edg == 1'b0)
	  begin
	     if (~clk && d && ena)
	       valid <= 1'b1;
	     else
	       valid <= 1'b0;
	  end
	else
	  begin
	     if (clk && d)
	       valid <= 1'b1;
	     else
	       valid <= 1'b0;
	  end	
     end
   
   always @ (valid or aclr)
     begin
	if(valid && aclr)
	  q_tmp <= 1'b1;
	else
	  q_tmp <= 1'b0;
     end
   
   assign q = q_tmp;
   
endmodule 

///////////////////////////////////////////////////////////////////////////////
//
//                             CYCLONE_RAM_INTERNAL
//
///////////////////////////////////////////////////////////////////////////////

  module cyclone_ram_internal
    (
     portawriteenable, 
     portbwriteenable,
     cleara,
     clearb,
     portadatain, 
     portbdatain,
     portaaddress, 
     portbaddress,
     portabyteenamask, 
     portbbyteenamask,
     portbreadenable,
     portaclock,
     portbclock,
     sameclock,
     portadataout, 
     portbdataout
     );
   
   parameter operation_mode = "single_port";
   parameter ram_block_type = "M512";
   parameter mixed_port_feed_through_mode = "dont_care";
   parameter port_a_data_width = 16;
   parameter port_b_data_width = 16;
   parameter port_a_address_width = 16;
   parameter port_b_address_width = 16;
   parameter port_a_byte_enable_mask_width = 16;
   parameter port_b_byte_enable_mask_width = 16;
   parameter init_file_layout = "none";
   parameter port_a_first_address = 0;
   parameter port_a_last_address = 4096;
   parameter port_b_first_address = 0;
   parameter port_b_last_address = 4096;
   parameter port_a_address_clear = "none";
   parameter port_b_address_clear = "none";
   parameter mem1 = 512'b0;
   parameter mem2 = 512'b0;
   parameter mem3 = 512'b0;
   parameter mem4 = 512'b0;
   parameter mem5 = 512'b0;
   parameter mem6 = 512'b0;
   parameter mem7 = 512'b0;
   parameter mem8 = 512'b0;
   parameter mem9 = 512'b0;
   
   input     portawriteenable;
   input     portbwriteenable;
   input     cleara;
   input     clearb;
   input [143:0] portadatain;
   input [143:0] portbdatain;
   input [15:0]  portaaddress;
   input [15:0]  portbaddress;
   input [15:0]  portabyteenamask;
   input [15:0]  portbbyteenamask;
   input 	 portbreadenable;
   input 	 portaclock;
   input 	 portbclock;
   input 	 sameclock;
   output [143:0] portadataout;
   output [143:0] portbdataout;
   reg [143:0] 	  portadataout_tmp;
   reg [143:0] 	  portbdataout_tmp;
   reg [589823:0] tmp_mem;
   reg [589823:0] mem;
   reg 		  wr_a;
   reg 		  wr_b;
   wire [143:0]   portadataout_tbuf;
   wire [143:0]   portbdataout_tbuf;
   
   integer 	  i,l,j,k;
   integer 	  depth;
   integer 	  index;
   
   specify
      (portawriteenable *> portadataout) = (0,0);
      (portbwriteenable *> portbdataout) = (0,0);
      (portadatain *> portadataout) = (0,0);
      (portbdatain *> portbdataout) = (0,0); 
      (portaaddress *> portadataout) = (0,0);
      (portbaddress *> portbdataout) = (0,0);
      (portabyteenamask *> portadataout) = (0,0);
      (portbbyteenamask *> portbdataout) = (0,0);
      (portbreadenable *> portbdataout) = (0,0);
   endspecify
   
   buf portadataout_buf0 (portadataout[0], portadataout_tbuf[0]);
   buf portadataout_buf1 (portadataout[1], portadataout_tbuf[1]);
   buf portadataout_buf2 (portadataout[2], portadataout_tbuf[2]);
   buf portadataout_buf3 (portadataout[3], portadataout_tbuf[3]);
   buf portadataout_buf4 (portadataout[4], portadataout_tbuf[4]);
   buf portadataout_buf5 (portadataout[5], portadataout_tbuf[5]);
   buf portadataout_buf6 (portadataout[6], portadataout_tbuf[6]);
   buf portadataout_buf7 (portadataout[7], portadataout_tbuf[7]);
   buf portadataout_buf8 (portadataout[8], portadataout_tbuf[8]);
   buf portadataout_buf9 (portadataout[9], portadataout_tbuf[9]);
   buf portadataout_buf10 (portadataout[10], portadataout_tbuf[10]);
   buf portadataout_buf11 (portadataout[11], portadataout_tbuf[11]);
   buf portadataout_buf12 (portadataout[12], portadataout_tbuf[12]);
   buf portadataout_buf13 (portadataout[13], portadataout_tbuf[13]);
   buf portadataout_buf14 (portadataout[14], portadataout_tbuf[14]);
   buf portadataout_buf15 (portadataout[15], portadataout_tbuf[15]);
   buf portadataout_buf16 (portadataout[16], portadataout_tbuf[16]);
   buf portadataout_buf17 (portadataout[17], portadataout_tbuf[17]);
   buf portadataout_buf18 (portadataout[18], portadataout_tbuf[18]);
   buf portadataout_buf19 (portadataout[19], portadataout_tbuf[19]);
   buf portadataout_buf20 (portadataout[20], portadataout_tbuf[20]);
   buf portadataout_buf21 (portadataout[21], portadataout_tbuf[21]);
   buf portadataout_buf22 (portadataout[22], portadataout_tbuf[22]);
   buf portadataout_buf23 (portadataout[23], portadataout_tbuf[23]);
   buf portadataout_buf24 (portadataout[24], portadataout_tbuf[24]);
   buf portadataout_buf25 (portadataout[25], portadataout_tbuf[25]);
   buf portadataout_buf26 (portadataout[26], portadataout_tbuf[26]);
   buf portadataout_buf27 (portadataout[27], portadataout_tbuf[27]);
   buf portadataout_buf28 (portadataout[28], portadataout_tbuf[28]);
   buf portadataout_buf29 (portadataout[29], portadataout_tbuf[29]);
   buf portadataout_buf30 (portadataout[30], portadataout_tbuf[30]);
   buf portadataout_buf31 (portadataout[31], portadataout_tbuf[31]);
   buf portadataout_buf32 (portadataout[32], portadataout_tbuf[32]);
   buf portadataout_buf33 (portadataout[33], portadataout_tbuf[33]);
   buf portadataout_buf34 (portadataout[34], portadataout_tbuf[34]);
   buf portadataout_buf35 (portadataout[35], portadataout_tbuf[35]);
   buf portadataout_buf36 (portadataout[36], portadataout_tbuf[36]);
   buf portadataout_buf37 (portadataout[37], portadataout_tbuf[37]);
   buf portadataout_buf38 (portadataout[38], portadataout_tbuf[38]);
   buf portadataout_buf39 (portadataout[39], portadataout_tbuf[39]);
   buf portadataout_buf40 (portadataout[40], portadataout_tbuf[40]);
   buf portadataout_buf41 (portadataout[41], portadataout_tbuf[41]);
   buf portadataout_buf42 (portadataout[42], portadataout_tbuf[42]);
   buf portadataout_buf43 (portadataout[43], portadataout_tbuf[43]);
   buf portadataout_buf44 (portadataout[44], portadataout_tbuf[44]);
   buf portadataout_buf45 (portadataout[45], portadataout_tbuf[45]);
   buf portadataout_buf46 (portadataout[46], portadataout_tbuf[46]);
   buf portadataout_buf47 (portadataout[47], portadataout_tbuf[47]);
   buf portadataout_buf48 (portadataout[48], portadataout_tbuf[48]);
   buf portadataout_buf49 (portadataout[49], portadataout_tbuf[49]);
   buf portadataout_buf50 (portadataout[50], portadataout_tbuf[50]);
   buf portadataout_buf51 (portadataout[51], portadataout_tbuf[51]);
   buf portadataout_buf52 (portadataout[52], portadataout_tbuf[52]);
   buf portadataout_buf53 (portadataout[53], portadataout_tbuf[53]);
   buf portadataout_buf54 (portadataout[54], portadataout_tbuf[54]);
   buf portadataout_buf55 (portadataout[55], portadataout_tbuf[55]);
   buf portadataout_buf56 (portadataout[56], portadataout_tbuf[56]);
   buf portadataout_buf57 (portadataout[57], portadataout_tbuf[57]);
   buf portadataout_buf58 (portadataout[58], portadataout_tbuf[58]);
   buf portadataout_buf59 (portadataout[59], portadataout_tbuf[59]);
   buf portadataout_buf60 (portadataout[60], portadataout_tbuf[60]);
   buf portadataout_buf61 (portadataout[61], portadataout_tbuf[61]);
   buf portadataout_buf62 (portadataout[62], portadataout_tbuf[62]);
   buf portadataout_buf63 (portadataout[63], portadataout_tbuf[63]);
   buf portadataout_buf64 (portadataout[64], portadataout_tbuf[64]);
   buf portadataout_buf65 (portadataout[65], portadataout_tbuf[65]);
   buf portadataout_buf66 (portadataout[66], portadataout_tbuf[66]);
   buf portadataout_buf67 (portadataout[67], portadataout_tbuf[67]);
   buf portadataout_buf68 (portadataout[68], portadataout_tbuf[68]);
   buf portadataout_buf69 (portadataout[69], portadataout_tbuf[69]);
   buf portadataout_buf70 (portadataout[70], portadataout_tbuf[70]);
   buf portadataout_buf71 (portadataout[71], portadataout_tbuf[71]);
   buf portadataout_buf72 (portadataout[72], portadataout_tbuf[72]);
   buf portadataout_buf73 (portadataout[73], portadataout_tbuf[73]);
   buf portadataout_buf74 (portadataout[74], portadataout_tbuf[74]);
   buf portadataout_buf75 (portadataout[75], portadataout_tbuf[75]);
   buf portadataout_buf76 (portadataout[76], portadataout_tbuf[76]);
   buf portadataout_buf77 (portadataout[77], portadataout_tbuf[77]);
   buf portadataout_buf78 (portadataout[78], portadataout_tbuf[78]);
   buf portadataout_buf79 (portadataout[79], portadataout_tbuf[79]);
   buf portadataout_buf80 (portadataout[80], portadataout_tbuf[80]);
   buf portadataout_buf81 (portadataout[81], portadataout_tbuf[81]);
   buf portadataout_buf82 (portadataout[82], portadataout_tbuf[82]);
   buf portadataout_buf83 (portadataout[83], portadataout_tbuf[83]);
   buf portadataout_buf84 (portadataout[84], portadataout_tbuf[84]);
   buf portadataout_buf85 (portadataout[85], portadataout_tbuf[85]);
   buf portadataout_buf86 (portadataout[86], portadataout_tbuf[86]);
   buf portadataout_buf87 (portadataout[87], portadataout_tbuf[87]);
   buf portadataout_buf88 (portadataout[88], portadataout_tbuf[88]);
   buf portadataout_buf89 (portadataout[89], portadataout_tbuf[89]);
   buf portadataout_buf90 (portadataout[90], portadataout_tbuf[90]);
   buf portadataout_buf91 (portadataout[91], portadataout_tbuf[91]);
   buf portadataout_buf92 (portadataout[92], portadataout_tbuf[92]);
   buf portadataout_buf93 (portadataout[93], portadataout_tbuf[93]);
   buf portadataout_buf94 (portadataout[94], portadataout_tbuf[94]);
   buf portadataout_buf95 (portadataout[95], portadataout_tbuf[95]);
   buf portadataout_buf96 (portadataout[96], portadataout_tbuf[96]);
   buf portadataout_buf97 (portadataout[97], portadataout_tbuf[97]);
   buf portadataout_buf98 (portadataout[98], portadataout_tbuf[98]);
   buf portadataout_buf99 (portadataout[99], portadataout_tbuf[99]);
   buf portadataout_buf100 (portadataout[100], portadataout_tbuf[100]);
   buf portadataout_buf101 (portadataout[101], portadataout_tbuf[101]);
   buf portadataout_buf102 (portadataout[102], portadataout_tbuf[102]);
   buf portadataout_buf103 (portadataout[103], portadataout_tbuf[103]);
   buf portadataout_buf104 (portadataout[104], portadataout_tbuf[104]);
   buf portadataout_buf105 (portadataout[105], portadataout_tbuf[105]);
   buf portadataout_buf106 (portadataout[106], portadataout_tbuf[106]);
   buf portadataout_buf107 (portadataout[107], portadataout_tbuf[107]);
   buf portadataout_buf108 (portadataout[108], portadataout_tbuf[108]);
   buf portadataout_buf109 (portadataout[109], portadataout_tbuf[109]);
   buf portadataout_buf110 (portadataout[110], portadataout_tbuf[110]);
   buf portadataout_buf111 (portadataout[111], portadataout_tbuf[111]);
   buf portadataout_buf112 (portadataout[112], portadataout_tbuf[112]);
   buf portadataout_buf113 (portadataout[113], portadataout_tbuf[113]);
   buf portadataout_buf114 (portadataout[114], portadataout_tbuf[114]);
   buf portadataout_buf115 (portadataout[115], portadataout_tbuf[115]);
   buf portadataout_buf116 (portadataout[116], portadataout_tbuf[116]);
   buf portadataout_buf117 (portadataout[117], portadataout_tbuf[117]);
   buf portadataout_buf118 (portadataout[118], portadataout_tbuf[118]);
   buf portadataout_buf119 (portadataout[119], portadataout_tbuf[119]);
   buf portadataout_buf120 (portadataout[120], portadataout_tbuf[120]);
   buf portadataout_buf121 (portadataout[121], portadataout_tbuf[121]);
   buf portadataout_buf122 (portadataout[122], portadataout_tbuf[122]);
   buf portadataout_buf123 (portadataout[123], portadataout_tbuf[123]);
   buf portadataout_buf124 (portadataout[124], portadataout_tbuf[124]);
   buf portadataout_buf125 (portadataout[125], portadataout_tbuf[125]);
   buf portadataout_buf126 (portadataout[126], portadataout_tbuf[126]);
   buf portadataout_buf127 (portadataout[127], portadataout_tbuf[127]);
   buf portadataout_buf128 (portadataout[128], portadataout_tbuf[128]);
   buf portadataout_buf129 (portadataout[129], portadataout_tbuf[129]);
   buf portadataout_buf130 (portadataout[130], portadataout_tbuf[130]);
   buf portadataout_buf131 (portadataout[131], portadataout_tbuf[131]);
   buf portadataout_buf132 (portadataout[132], portadataout_tbuf[132]);
   buf portadataout_buf133 (portadataout[133], portadataout_tbuf[133]);
   buf portadataout_buf134 (portadataout[134], portadataout_tbuf[134]);
   buf portadataout_buf135 (portadataout[135], portadataout_tbuf[135]);
   buf portadataout_buf136 (portadataout[136], portadataout_tbuf[136]);
   buf portadataout_buf137 (portadataout[137], portadataout_tbuf[137]);
   buf portadataout_buf138 (portadataout[138], portadataout_tbuf[138]);
   buf portadataout_buf139 (portadataout[139], portadataout_tbuf[139]);
   buf portadataout_buf140 (portadataout[140], portadataout_tbuf[140]);
   buf portadataout_buf141 (portadataout[141], portadataout_tbuf[141]);
   buf portadat

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -