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

📄 nco_v7_1_st.v

📁 NCO的VHDL程序
💻 V
字号:
//	Copyright (C) 1988-2006 Altera Corporation//	Any megafunction design, and related net list (encrypted or decrypted),//	support information, device programming or simulation file, and any other//	associated documentation or information provided by Altera or a partner//	under Altera's Megafunction Partnership Program may be used only to//	program PLD devices (but not masked PLD devices) from Altera.  Any other//	use of such megafunction design, net list, support information, device//	programming or simulation file, or any other related documentation or//	information is prohibited for any other purpose, including, but not//	limited to modification, reverse engineering, de-compiling, or use with//	any other silicon devices, unless such use is explicitly licensed under//	a separate agreement with Altera or a megafunction partner.  Title to//	the intellectual property, including patents, copyrights, trademarks,//	trade secrets, or maskworks, embodied in any such megafunction design,//	net list, support information, device programming or simulation file, or//	any other related documentation or information provided by Altera or a//	megafunction partner, remains with Altera, the megafunction partner, or//	their respective licensors.  No other licenses, including any licenses//	needed under any third party's intellectual property, are provided herein.module nco_v7_1_st(clk,reset_n,clken,phi_inc_i,fsin_o,out_valid);parameter mpr = 10;parameter opr = 20;parameter oprp1 = 21;parameter apr = 32;parameter apri= 10;parameter aprf= 32;parameter aprp= 16;parameter aprid=15;parameter dpri= 5;parameter rdw = 10;parameter rawc = 5;parameter rnwc = 32;parameter rawf = 5;parameter rnwf = 32;parameter Pn = 256;parameter mxnbc = 320;parameter mxnbf = 320;parameter rsfc = "nco_v7_1_sin_c.hex";parameter rsff = "nco_v7_1_sin_f.hex";parameter rcfc = "nco_v7_1_cos_c.hex";parameter rcff = "nco_v7_1_cos_f.hex";parameter nc = 1;parameter log2nc =0;parameter outselinit = -1;parameter paci0= 0;parameter paci1= 0;parameter paci2= 0;parameter paci3= 0;parameter paci4= 0;parameter paci5= 0;parameter paci6= 0;parameter paci7= 0;input clk; input reset_n; input clken; input [apr-1:0] phi_inc_i; output [mpr-1:0] fsin_o;output out_valid;wire reset; assign reset = !reset_n;wire [apr-1:0]  phi_inc_i_w;wire [apr-1:0] phi_acc_w;wire [mpr-1:0] rfx_s;	wire [mpr-1:0] rcx_s;wire [mpr-1:0] rfx_c;	wire [mpr-1:0] rcx_c;wire [mpr-1:0] rfy_s;	wire [mpr-1:0] rcy_s;wire [mpr-1:0] rfy_c;	wire [mpr-1:0] rcy_c;wire [rawc-1:0] raxxx001ms; wire [rawc-1:0] raxxx001mc; wire [rawc-1:0] raxxx000m; wire [rawf-1:0] raxxx000l; wire [rawc-1:0] raxxx001m; wire [rawf-1:0] raxxx001l; wire [aprid-1:0] phi_acc_w_d;wire [aprid-1:0] phi_acc_w_di;wire [dpri-1:0] rval_w_d;wire [dpri-1:0] rval_w;wire select_s;wire select_c;wire [opr:0] result_i;	wire [opr:0] result_r;	wire [mpr-1:0] fsin_o_w;	assign phi_inc_i_w = phi_inc_i;asj_altqmcpipe ux000 (.clk(clk),              .reset(reset),              .clken(clken),              .phi_inc_int(phi_inc_i_w),              .phi_acc_reg(phi_acc_w)             );defparam ux000.apr = apr ;defparam ux000.lat = 1 ;defparam ux000.nc = nc ;defparam ux000.paci0 = paci0 ;defparam ux000.paci1 = paci1 ;defparam ux000.paci2 = paci2 ;defparam ux000.paci3 = paci3 ;defparam ux000.paci4 = paci4 ;defparam ux000.paci5 = paci5 ;defparam ux000.paci6 = paci6 ;defparam ux000.paci7 = paci7 ;asj_dxx_g ux001(.clk(clk),             .clken(clken),               .reset(reset),               .dxxrv(rval_w_d)              );defparam ux001.dpri = dpri;assign rval_w = rval_w_d;asj_dxx ux002(.clk(clk),             .clken(clken), 	         .reset(reset),             .dxxpdi(phi_acc_w_di),             .rval(rval_w),             .dxxpdo(phi_acc_w_d)            );defparam ux002.aprid = aprid;defparam ux002.dpri = dpri;asj_nco_apr_dxx ux0219(.pcc_w(phi_acc_w),                         .pcc_d(phi_acc_w_di)                         ); defparam ux0219.apr = apr;    defparam ux0219.aprid = aprid;asj_gam_dp ux008( .clk(clk),                   .reset(reset),                    .clken(clken),                    .phi_acc_w(phi_acc_w_d[aprid-1:aprid-rawc-rawf]),                   .rom_add_cs(raxxx001ms),                   .rom_add_cc(raxxx001mc),                   .rom_add_f(raxxx001l)                   );defparam ux008.rawc = rawc;defparam ux008.rawf = rawf;defparam ux008.apr = apri;asj_nco_as_m_dp_cen ux0220(.clk(clk),                   .clken (clken),                   .raxx_a(raxxx001ms[rawc-1:0]),                   .raxx_b(raxxx001mc[rawc-1:0]),                   .q_a(rcx_s[mpr-1:0]),                   .q_b(rcx_c[mpr-1:0])                     );defparam ux0220.mpr = mpr;defparam ux0220.rdw = rdw;defparam ux0220.raw = rawc;defparam ux0220.rnw = rnwc;defparam ux0220.rf = rsfc;defparam ux0220.dev = "CycloneII";asj_nco_as_m_cen ux0122(.clk(clk),                   .clken (clken),                   .raxx(raxxx001l[rawf-1:0]),                   .srw_int_res(rfx_s[mpr-1:0])                     );defparam ux0122.mpr = mpr;defparam ux0122.rdw = rdw;defparam ux0122.raw = rawf;defparam ux0122.rnw = rnwf;defparam ux0122.rf = rsff;defparam ux0122.dev = "CycloneII";asj_nco_as_m_cen ux0123(.clk(clk),                   .clken (clken),                   .raxx(raxxx001l[rawf-1:0]),                   .srw_int_res(rfx_c[mpr-1:0])                     );defparam ux0123.mpr = mpr;defparam ux0123.rdw = rdw;defparam ux0123.raw = rawf;defparam ux0123.rnw = rnwf;defparam ux0123.rf = rcff;defparam ux0123.dev = "CycloneII";mac_i_lpmd m0(.clk(clk),         .reset(reset),          .clken(clken),          .a_or_s(select_c),         .dataa_0(rcy_s),         .dataa_1(rfy_s),         .datab_0(rfy_c),         .datab_1(rcy_c),         .result(result_i));defparam m0.mpr = mpr;defparam m0.opr = opr;defparam m0.oprp1 = oprp1;asj_nco_derot ux0136(.crwx_rc(rcx_c),                     .crwx_rf(rfx_c),                     .srwx_rc(rcx_s),                     .srwx_rf(rfx_s),                     .crwy_rc(rcy_c),                     .crwy_rf(rfy_c),                     .srwy_rc(rcy_s),                     .srwy_rf(rfy_s)                     );defparam ux0136.mpr = mpr;defparam ux0136.rxt = rdw;assign select_s = 1'b0; assign select_c = 1'b1; asj_nco_mob_w blk0( .clk(clk),                    .reset(reset),                    .clken(clken),                    .data_in(result_i),                    .data_out(fsin_o_w));defparam blk0.mpr = mpr;defparam blk0.opr = opr;assign fsin_o = fsin_o_w;asj_nco_isdr ux710isdr(.clk(clk),                                                  .reset(reset),                                              .clken(clken),                                      .data_ready(out_valid)                              );                                      defparam ux710isdr.ctc=12;                                       defparam ux710isdr.cpr=4;                                                                                               endmodule

⌨️ 快捷键说明

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