Verilog Lab EE

profilelouisJ
heap2.zip

adder8.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 20:10:15 09/25/2016 // Design Name: // Module Name: adder4 // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module adder8( input [7:0] A, input [7:0] B, input C0, output [7:0] S, output C8 ); assign {C8,S} = {1'b0, A} + {1'b0, B} + C0; endmodule

adder8_summary.html

mem16x8 Project Status
Project File: heap_sol.xise Parser Errors: X 1 Error
Module Name: adder8 Implementation State: New
Target Device: xc6slx16-3csg324
  • Errors:
 
Product Version: ISE 14.7
  • Warnings:
 
Design Goal: Balanced
  • Routing Results:
 
Design Strategy: Xilinx Default (unlocked)
  • Timing Constraints:
 
Environment:  
  • Final Timing Score:
  
 
Detailed Reports [-]
Report Name Status Generated Errors Warnings Infos
Synthesis Report          
Translation Report          
Map Report          
Place and Route Report          
Power Report          
Post-PAR Static Timing Report          
Bitgen Report          
 
Secondary Reports [-]
Report Name Status Generated
Date Generated: 04/05/2017 - 09:37:48

bcd_display.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 20:46:08 11/24/2015 // Design Name: // Module Name: sqrt_display // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module bcd_display( input [7:0] DISP, input CLK, input RST, output reg [3:0] THOUS, output reg [3:0] HUNS, output reg [3:0] TENS, output reg [3:0] ONES ); integer i; reg [4:0] th1; reg [4:0] h1; reg [4:0] t1; reg [4:0] o1; reg [4:0] th0; reg [4:0] h0; reg [4:0] t0; reg [4:0] o0; /* always @(X or DISP) begin thous_int[1] = 4'd0; thous_int[0] = 4'd0; huns_int[1] = 4'd0; huns_int[0] = 4'd0; tens_int[1] = 4'd0; tens_int[0] = 4'd0; ones_int[1] = 4'd0; ones_int[0] = 4'd0; // Taken from http://www.eng.utah.edu/~nmcdonal/Tutorials/BCDTutorial/BCDConversion.html for (i=15; i>=0; i=i-1) begin // add 3 to columns >= 5 if(thous_int[1] >= 5) thous_int[1] = thous_int[1] + 3; if(huns_int[1] >= 5) huns_int[1] = huns_int[1] + 3; if(tens_int[1] >= 5) tens_int[1] = tens_int[1] + 3; if(ones_int[1] >= 5) ones_int[1] = ones_int[1] + 3; // shift left one thous_int[1] = thous_int[1] << 1; thous_int[1][0] = huns_int[1][3]; huns_int[1] = huns_int[1] << 1; huns_int[1][0] = tens_int[1][3]; tens_int[1] = tens_int[1] << 1; tens_int[1][0] = ones_int[1][3]; ones_int[1] = ones_int[1] << 1; ones_int[1][0] = X[i]; end for (i=7; i>=0; i=i-1) begin // add 3 to columns >= 5 if(huns_int[0] >= 5) huns_int[0] = huns_int[0] + 3; if(tens_int[0] >= 5) tens_int[0] = tens_int[0] + 3; if(ones_int[0] >= 5) ones_int[0] = ones_int[0] + 3; // shift left one huns_int[0] = huns_int[0] << 1; huns_int[0][0] = tens_int[0][3]; tens_int[0] = tens_int[0] << 1; tens_int[0][0] = ones_int[0][3]; ones_int[0] = ones_int[0] << 1; ones_int[0][0] = DISP[0]; end if (which) begin THOUS = thous_int[1]; HUNS = huns_int[1]; TENS = tens_int[1]; ONES = ones_int[1]; end else begin THOUS = thous_int[0]; HUNS = huns_int[0]; TENS = tens_int[0]; ONES = ones_int[0]; end end */ always @* begin th0 = 0; h0 = 0; t0 = 0; o0 = 0; if(DISP[7] == 1) begin th0 = th0+0; h0=h0+1; t0=t0+2; o0=o0+8; if(o0 >= 10) begin o0 = o0 - 10; t1 = t1 + 1; if(t1 >= 10) begin t0 = t0 - 10; h0 = h0 + 1; if(h0 >=10) begin h0 = h0 - 10; th0 = th0 + 1; end end end end if(DISP[6] == 1) begin th0 = th0+0; h0=h0+0; t0=t0+6; o0=o0+4; if(o0 >= 10) begin o0 = o0 - 10; t0 = t0 + 1; if(t0 >= 10) begin t0 = t0 - 10; h0 = h0 + 1; if(h0 >=10) begin h0 = h0 - 10; th0 = th0 + 1; end end end end if(DISP[5] == 1) begin th0 = th0+0; h0=h0+0; t0=t0+3; o0=o0+2; if(o0 >= 10) begin o0 = o0 - 10; t0 = t0 + 1; if(t0 >= 10) begin t0 = t0 - 10; h0 = h0 + 1; if(h0 >=10) begin h0 = h0 - 10; th0 = th0 + 1; end end end end if(DISP[4] == 1) begin th0 = th0+0; h0=h0+0; t0=t0+1; o0=o0+6; if(o0 >= 10) begin o0 = o0 - 10; t0 = t0 + 1; if(t0 >= 10) begin t0 = t0 - 10; h0 = h0 + 1; if(h0 >=10) begin h0 = h0 - 10; th0 = th0 + 1; end end end end if(DISP[3] == 1) begin th0 = th0+0; h0=h0+0; t0=t0+0; o0=o0+8; if(o0 >= 10) begin o0 = o0 - 10; t0 = t0 + 1; if(t0 >= 10) begin t0 = t0 - 10; h0 = h0 + 1; if(h0 >=10) begin h0 = h0 - 10; th0 = th0 + 1; end end end end if(DISP[2] == 1) begin th0 = th0+0; h0=h0+0; t0=t0+0; o0=o0+4; if(o0 >= 10) begin o0 = o0 - 10; t0 = t0 + 1; if(t0 >= 10) begin t0 = t0 - 10; h0 = h0 + 1; if(h0 >=10) begin h0 = h0 - 10; th0 = th0 + 1; end end end end if(DISP[1] == 1) begin th0 = th0+0; h0=h0+0; t0=t0+0; o0=o0+2; if(o0 >= 10) begin o0 = o0 - 10; t0 = t0 + 1; if(t0 >= 10) begin t0 = t0 - 10; h0 = h0 + 1; if(h0 >=10) begin h0 = h0 - 10; th0 = th0 + 1; end end end end if(DISP[0] == 1) begin th0 = th0+0; h0=h0+0; t0=t0+0; o0=o0+1; if(o0 >= 10) begin o0 = o0 - 10; t0 = t0 + 1; if(t0 >= 10) begin t0 = t0 - 10; h0 = h0 + 1; if(h0 >=10) begin h0 = h0 - 10; th0 = th0 + 1; end end end end end always @* begin THOUS = th0[3:0]; HUNS = h0[3:0]; TENS = t0[3:0]; ONES = o0[3:0]; end endmodule

cntr8.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 09:38:39 04/05/2017 // Design Name: // Module Name: cntr8 // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module cntr8( input clk, input reset, input inc, input dec, output [7:0] q ); reg [7:0] q_fb; always @(posedge clk) begin if(reset == 1) q_fb <= 8'd0; else if(inc == 1) q_fb <= q_fb+1; else if(dec == 1) q_fb <= q_fb-1; end assign q = q_fb; endmodule

comp8.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 12:56:56 10/12/2016 // Design Name: // Module Name: comp8 // Project Name: // Target Devices: // Tool versions: // Description: Unsigned 8-bit comparator // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module comp8( input [7:0] A, input [7:0] B, output LT, output GT, output EQ ); wire [8:0] Aint, Bint; assign Aint = {1'b0, A}; assign Bint = {1'b0, B}; assign LT = (Aint < Bint); assign GT = (Aint > Bint); assign EQ = (Aint == Bint); endmodule

dff1s.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 07:23:33 08/31/2016 // Design Name: // Module Name: dff1 // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module dff1s( input clk, input clr, input set, input d, output reg q ); always@(posedge clk) begin if(clr == 1) q <= 0; else if(set == 1) q <= 1; else q <= d; end endmodule

fuse.xmsgs

fuseRelaunch.cmd

-intstyle "ise" -incremental -lib "unisims_ver" -lib "unimacro_ver" -lib "xilinxcorelib_ver" -lib "secureip" -o "C:/Users/Mark/Dropbox/EE209/Lab/heap2_sol/heap_soc_tb_isim_beh.exe" -prj "C:/Users/Mark/Dropbox/EE209/Lab/heap2_sol/heap_soc_tb_beh.prj" "work.heap_soc_tb" "work.glbl"

heap.cmd_log

xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr" xst -intstyle ise -ifn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.xst" -ofn "C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.syr"

heap.lso

work

heap.ngc

XILINX-XDB 0.1 STUB 0.1 ASCII XILINX-XDM V1.6e $3d1�16<89:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456702:;<=>?0033?56688::<<>>0022446<892;O=K?F1D;BF@B02:;OL>?A@33?523<9>;8=>?4123446<8<KM=<LM0G2E7654<2:345:409CF55=7I<L:N<L?0GD0765?39H?J=68F993G5G4N<L37=M<F1C6B46<8M:O<O:I0C6E47BA991;J=H?F35074D4;:9:<6>I0G04767E8O98?>??;032547688;:=<?>10285476<M>O8IJK456G5>453;::<6<?21016767:98;>???;3043715?9:MJ=H?F9916GD5J;H:<6<7290;3A1C:1=O;I??;5F70AB3L=N?89J;40281535=9<99=;N51CB6>3692<?7;ONA995EDGFIHK:<68LCBA@GFEDKJIHON647233B256<2=>==647657022302=OHI<78933?2BCLMNOH?6789:;<46<?O9M=K>I0620446702=MJKHIFG38<46<09:;<=>?012345679913<L>N8@CFECGAMOL3756783:;<`=?2@D[YY4N<683:46<03CE\XZ5dhl?3?699;136B[[PTV9`jss4>0;2<<48;MVPUSS2zcqi1950?:8<DCA81KN866LEG38=46<1<?><=>?FGDE=032<2K7<3:4A=3=0>G;:7>0M1=14:C?0;2<I5?586O36?48E91=87>0M1914:CBE=773HKJMLONA@CBEDGF011JMLMNC@A;?DDFIH2JM?5NE99BA5EFMHO37LKIF9CFB1=FNH8>7O[IGQ:8FPUXAGLD=6M7;B1@EFEDI11HO>MLC@C24>ED;JIHMLMLCBA@ED773JIHO>MLCBA@GDGFI8:0ONMLCBA@B56AN9KJ==5LCBA@G@2A8M2M<K>>0:A@GFC3N9N3ONH?F108G@><KOIJO=MN2:AJ0>EKC9<0OAE>8148GIM5?9?0OAE=X99@HN4_91:>7NBD9178GIMF9>1H@FO>D358GIMF9M><7NBDA0F;1>EKCK;>7NBDC078GIMC9<1H@FJYc:AOOAPXL@\BHH;4CMIE\==DDBLS=5>6;BMNILRSMM=0O_KNTDF2?A773M=O;I97290G3=4?:8:0HI67D9F;BC67N9L;>6JF1:G7?@G5I8:0IHOJE@CB0163<9:;46KJCBG@AF773LOMIHHIE@CEED@AI8:0J=>?F567B567NMNO46H?A@1@ED773O:M<I6LCD6E4FEDK8:0J=H?F1F;GFC3KJIH==5I0G2E4@4B:O:N>H<;;G3E@1=A:OL37K=8163041=A;M;?7K;81028B212N>L<9<??507255=A0OI;4=MI8G23<5633O3M995IBGD1?CB43ONY86HKRD18BAU53OO?7KH9A59EB2333OL3M55IF81EB05?3OL29KH:599EBF3AN:?37KHLAGDBE46<NOONJHHJ01014765<2LMJH??;GDEB5>7KOLMJ=6?099EBC@>=:937KHIF876146<NOLMJ8JK5G541032991MJKHIFB:EBC@AN12:<6HIFGDEBC>5:;=<;:??;GDEBC@AN0?>98;:5028BC@ANOLMJKHJFDDF55=ANOLMJKHIFGDEBCC63@80E=<4I008M74<A:80E9<4I468MGSA12CEEY][AUG0?LHQ:2FB:6B@CJGG3>JHO@IJ@95CUU07?ISS;=1GYY:;;MWW11=K]]<>7@[WCX78IP^A?11F~lcPmdo0?K66<2D:<<:4N0210>H68:>0B<>94:L2425<F8;87C?=3:L206=I9<90B<9<;O3;6>H5;2D9<>5A3018J6443G9??6@<529M725<F:397C:<;O637>H3::1E8>=4N570?K21;2D?4>5A5118J0743G?8?6@:429M2=5<F?387C9>3:L466=I?=90B:;<;O547>H00:1E;4=4N930?K>5;2D3?>5A8418J=043G2<?6@7939M=6=I1990B4?<;O;07>H><:1E58=4N850?K??;2D25:5AEUULVN7<G=1DNXHl;Q,14456889T@95_ASVb?UOIWK_XEIVm;QKM[GSTFHGN56^D_INVPKK13YYOCCK>;P38V<=UID8>:U?\9:Pfwpjs49427_k|umv?5;?<Zly~`y2=>89Qavsk|59556\jstnw818>3[oxyaz35?;8V`urd}6=245]erwop91992Y:=6]GRDE\A]RUIJ^TBJMj;RJQABYJAGUXEWK9;RMVVFC13Z^JXX];;U[SAf=R[LXTZD]FBMG:?SOB_V^R\H:4WBNH6>QB9m1SEAGAX,ZGF%6)9)Y_YO.?.0"BWFON=2RD^NW9;YQWHLD5l2RXXROKV@L@AAYJIJXDSLMLU^@BWLEXEHIYCROKDRWA[C@13QniSDj>0:ZgiZKfbfx]i�}foo33?]bjWDcec�Xjrrklj6=_{}90UH]=e:]\[]JIEVUT<RQPpnr\gjhszff$�yo{e^aj`}jhim;T_Z??239\[Z^KFDUTS<>P_^jneabuWd�s#@czx^[;574<WVUS@CCP_^32[ZYoehno~Rczx.Onq}Y^<;897RQPXMLN[ZY6:VUTd`okds]nq})Je|rTU;<=e:]\[]JIEVUT=>QP_qwplZehf}xd`"}{aug\BVKXNOn8!D`>2g9\[Z^KFDUTS<:P_^rltZehf}xd`"}{aug\glb�dfko=R]X180e?ZYXPEDFSRQ>5^]\tjvXkfd�~bb sucwaZenlqfdmi?PSV3566=XWVRGB@QP_04\[Zvr{a}d~fgag^eoq`Ytm}837RQPXMLN[ZY6?VUT|x}gdnlf[uiwlfdnSB\P42]l57?<WVUS@CCP_^3;[ZYw}zbTob`{rnn,Ihs�Wg:;888>13a8[ZY_DGGTSR?6_^]skuYdgg~yca!fdypfc*wX<Vxxx}a{2e9\[Z^KFDUTS<QP_qms[fii|{eg#~zntd]`ma~kghn:S^Y82b9\[Z^KFDUTS?>P_^rltZehf}xd`"gkxsgd+tY4W{y�|bz=c:]\[]JIEVUT><QP_qms[fii|{eg#djwrde,uZ4Xzz~{cy<l;^]\\IHJWVU9>RQPpnr\gjhszff$eiv}ef-r[4Yu{}zdx?m4_^][HKKXWV88SRQ�oq]`kkruge%bhu|jg.s\1Ztt|ye�>n5P_^ZOJHYXW;>TSR~`p^aljqthd&cot�kh/p]5[wusxf~9o6QP_YNMIZYX:<UTS}a�_bmmpwik'`ns~hi q^5\vvrwg}8n7RQPXMLN[ZY5>VUT|x}g_bmmpwik'z~jxhQISL]EBa4*Ag?986QP_YNMIZYX:>UTS~gue^ampw)Xf9:9:Rgav006?ZYXPEDFSRQ=_^]skuYdgg~yca!a012174YT_;8o7RQPXMLN[ZY4WVU{c}Qloovqki)t|h~nSngkxmmb`4YT_=8o7RQPXMLN[ZY3WVU{c}Qloovqki)t|h~nSngkxmmb`4YT_88?7RQPXMLN[ZY2WVU{c}Qloovqki)i89:?=R]X20:8[ZY_DGGTSR8P_^tbhlb6WZ];>=5P_^ZOJHYXW>UTSeckio]nq})Je|rTU5?=4:]\[]JIEVUT4RQPpnr\gjhszff$b=>?20]PS5463VUTTA@B_^]:[ZYoehno~Rczx.Onq}Y^:;90oae6;bnh[GSAOY?0ocz}869`pwjwgy20oy|cptqk7>bce?1oec2?>79gmk:66?1oec2=>79gmk:46?1oec2;>79gmk:26?1oec29>99gmk:0294=7iga<6<b?aoiW9UBNXHn;ekm[4YNJ\Lj7iga_3]JFP@f3mceS>QFBTDb?aoiW=UBNXHn;ekm[0YNJ\Lj7iga_7]JFP@f3mceS:QFBTD7?aiim01occkPOCWE<>bhflUbby94dnww85803me~x1?17:flqq:56>1ocxz33?58`jss4=4<7iazt=7=3>bh}}6=245kotv?3?69?2ndyy28>c9gkprX8VEIYKl4dnww[4YHJ\Li7iazt^0\KGSAj2ndyyQ<_N@VBg=cg|~T8RAMUG`8`jssW<UDNXHm;emvpZ0XGK_Mn6j`uu]4[JDRN=1cil~>2:jneabuWd�s#@czx^[256=oehno~Rczx.Onq}Y^98;87ecndep\ip~(Ed�sST?=129kidbczVg~t"Cbuy]Z56753agjhi|Pmtz,Ihs�WP8:?6fbaefq[hs�'Dg~tRW=1018lhgcl{Ufyu!Bmtz\]746;2bfmij}_lw{+HkrpVS9?<<4hlcg`wYj}q%FaxvPY230?mkflmxTaxv Mlw{[\569:1caljkr^ov|*Kj}qUR???<;iob`atXe|r$A`{w_X1057=oehno~Rczx.Onq}Y^<890d`okds]nq})Je|rTU9?>3:jneabuWd�s#@czx^[7645<`dkoh�Qbuy-Nip~XQ=9:>6fbaefq[hs�'Dg~tRW:129kidbczVg~t"Cbuy]Z14743agjhi|Pmtz,Ihs�WP?9=>5gm`fgvZkrp&GfyuQV5231?mkflmxTaxv Mlw{[\06;2bfmij}_lw{+HkrpVS==<=4hlcg`wYj}q%FaxvPY7027>njimnyS`{w/Lov|Z_1;880d`okds]nq})Je|rTU:?<;iob`atXe|r$A`{w_X5256=oehno~Rczx.Onq}Y^?;;87ecndep\ip~(Ed�sST9<139kidbczVg~t"Cbuy]Z<45<`dkoh�Qbuy-Nip~XQ1;:?6fbaefq[hs�'Dg~tRW72018lhgcl{Ufyu!Bmtz\]=5692bfhd`Pmtz,Ihs�WP;:>6fbdhl\ip~(Ed�sST?>139kiaoiWd�s#@czx^[2647<`dnbbRczx.Onq}Y^:880d`jfn^ov|*Kj}qUR><?=;iogmkYj}q%FaxvPY3025>njl`dTaxv Mlw{[\56:2bfhd`Pmtz,Ihs�WP9:=?5gmekm[hs�'Dg~tRW<2038lhbnfVg~t"Cbuy]Z044<`dnbbRczx.Onq}Y^<8;97eckio]nq})Je|rTU9<>1:jn`lhXe|r$A`{w_X726>njl`dTaxv Mlw{[\369;1caiga_lw{+HkrpVS>><?4hlfjjZkrp&GfyuQV6008lhbnfVg~t"Cbuy]Z24753agoecQbuy-Nip~XQ?8:=6fbdhl\ip~(Ed�sST9>2:jn`lhXe|r$A`{w_X5257=oemceS`{w/Lov|Z_0:8;0d`jfn^ov|*Kj}qUR4<<4hlfjjZkrp&GfyuQV8031?mkcagUfyu!Bmtz\]=46<2bfi`!Br`o\i`kXi{xju<?;;iofi*KuidUfi`Qnrscz642<`dof#@|nm^ofiZguzhs8=95gmdo,IwgjWdofSl|}ax620>njmd%F~lcPmdo\ewtfq<;?7ecjm.OqehYjmdUj~�ov6068lhcj'DxjaRcjm^cqvd�09=1cahc Mscn[hcjWhxymt67;lcg`w:7611fmij}<0<;?hgcl{69255baefq868?3dkoh�2;>99neabu4<437`okds>5:==jimny0:08;lfjj969?2goec2>>69n`lh;:7=0aiga<2<4?hbnf5>5;6ckio>6:2=jl`d7:394mekm828?3dof>88w889nq}5X0kc�86cxeo78irci9<1{i9Q=3:rlt==wgyUBNXH>c:rltZehf}xd`"Cnde]m45>6Wjs793?j;qms[fii|{eg#@okd^l34=7Xkp6>2<?>f:rltZehf}xd`"Cnde]m45>6Wqey0>0>10d8tjvXkfd�~bb M`fg[k6708Usc�2;>032b>vhxVidby|`l.Ob`aYi892:Sua}<4<254><xfzTob`{rnn,glb�zlm$}1>1199skuYdgg~yca!liezqab)v484:46~`p^aljqthd&ibhu|jg.s?6;7?3ye{Snaatsmo+focp{ol#|2<>0:8tjvXkfd�~bb chf{v`a(y5>5=55�oq]`kkruge%heiv}ef-r808602zd|Rm`nuplh*enlqxnk"�36?3;?uiwWjeex�ac/bkg|wc`'x6<2<94pnr\gjhszff$odjwrde,uZ66m2zd|Rm`nuplh*enlqxnk"�P0^pppuis9>1{c}Qloovqki)damryij!~_03f?uiwWjeex�ac/bkg|wc`'xU:S�}{pnv23>vhxVidby|`l.aj`}tbo&{T><k4pnr\gjhszff$odjwrde,uZ4Xzz~{cy?8;qms[fii|{eg#ngkxsgd+tY49l1{c}Qloovqki)damryij!~_2]qwqvh|8=0|b~Pcnlwvjj(k`ns~hi q^62a>vhxVidby|`l.aj`}tbo&{T8R||tqmw52=wgyUhccz}om-`ma~umn%zS8?j;qms[fii|{eg#ngkxsgd+tY2W{y�|bz>7:rltZehf}xd`"mfdypfc*wX>8o0|b~Pcnlwvjj(k`ns~hi q^4\vvrwg};<7}a�_bmmpwik'jcot�kh/p]45`=wgyUhccz}om-`ma~umn%zS:Q}surlp46<xfzTob`{rnn,girw981{c}Qloovqki)dd}z:=85�oq]`kkruge%h`y~>_RU350=wgyUhccz}om-`hqv6WZ]:=85�oq]`kkruge%h`y~>_RU150=wgyUhccz}om-`hqv6WZ]8=?5�oq]`kkruge%h`y~=1038tjvXkfd�~bb cmvs743<xfzTob`{rnn,gwc`'x6;2<;4pnr\gjhszff$o�kh/p>2:43<xfzTob`{rnn,gwc`'x692<;4pnr\gjhszff$o�kh/p>0:43<xfzTob`{rnn,gwc`'x6?2<;4pnr\gjhszff$o�kh/p>6:43<xfzTob`{rnn,gwc`'x6=2<;4pnr\gjhszff$o�kh/p>4:42<xfzTob`{rnn,gwc`'xU;=o5�oq]`kkruge%h~hi q^2\vvrwg};?7}a�_bmmpwik'jxnk"�P10`8tjvXkfd�~bb csgd+tY6W{y�|bz>4:rltZehf}xd`"m}ef-r[77e3ye{Snaatsmo+ftbo&{T>R||tqmw51=wgyUhccz}om-`v`a(yV9:n6~`p^aljqthd&iyij!~_2]qwqvh|8>0|b~Pcnlwvjj(k{ol#|Q;1c9skuYdgg~yca!lrde,uZ2Xzz~{cy?;;qms[fii|{eg#n|jg.s\14d<xfzTob`{rnn,gwc`'xU>S�}{pnv20>vhxVidby|`l.aqab)vW?;i7}a�_bmmpwik'jxnk"�P6^pppuis9=1{c}Qloovqki)dzlm$}R9>b:rltZehf}xd`"m}ef-r[2Yu{}zdx<94pnr\gjhszff$eiv}ef-r8586?2zd|Rm`nuplh*ocp{ol#|2>>058tjvXkfd�~bb iezqab)v4;4:;6~`p^aljqthd&cot�kh/p>0:41<xfzTob`{rnn,ma~umn%z090>7:rltZehf}xd`"gkxsgd+t:268=0|b~Pcnlwvjj(amryij!~<7<23>vhxVidby|`l.kg|wc`'x6<2<84pnr\gjhszff$eiv}ef-r[57c3ye{Snaatsmo+lb�zlm$}R>Prrvskq713ye{Snaatsmo+lb�zlm$}R?>d:rltZehf}xd`"gkxsgd+tY6W{y�|bz>6:rltZehf}xd`"gkxsgd+tY59m1{c}Qloovqki)nlqxnk"�P2^pppuis9?1{c}Qloovqki)nlqxnk"�P30f8tjvXkfd�~bb iezqab)vW:Uy�y~`t048tjvXkfd�~bb iezqab)vW=;o7}a�_bmmpwik'`ns~hi q^6\vvrwg};=7}a�_bmmpwik'`ns~hi q^72`>vhxVidby|`l.kg|wc`'xU>S�}{pnv22>vhxVidby|`l.kg|wc`'xU==i5�oq]`kkruge%bhu|jg.s\2Ztt|ye�=;5�oq]`kkruge%bhu|jg.s\34b<xfzTob`{rnn,ma~umn%zS:Q}surlp40<xfzTob`{rnn,iair|Vf�Sn?8;qms[fii|{eg#`j`uu]opZe69k1{c}Qloovqki)jlf��SazPc0]PS57e3ye{Snaatsmo+hbh}}UgxRm>_RU25g=wgyUhccz}om-n`jssWe~To<Q\W33a?uiwWjeex�ac/lflqqYk|Vi:S^Y<199skuYdgg~yca!bdnww[irXk;;:;6~`p^aljqthd&gocxzPlu]`740<xfzTob`{rnn,j567:8UX[=?9;qms[fii|{eg#c>?033\WR76:2zd|Rm`nuplh*h78989=>5�oq]`kkruge%e<=>=2230?uiwWjeex�ac/o2347429>1{c}Qloovqki)i89:9>8Q\W134?uiwWjeex�ac/o234756WZ]9=:5�oq]`kkruge%e<=>=30]PS6763ye{Snaatsmo+k678=;97}a�_bmmpwik'g:;<9?>6:rltZehf}xd`"`?0162[VQ79?1{c}Qloovqki)i89:?=R]X1048tjvXkfd�~bb n12304YT_;;=7}a�_bmmpwik'g:;<9?PSV126>vhxVidby|`l.l345259:1{c}Qloovqki)i89:?><?=;qms[fii|{eg#c>?05120>vhxVidby|`l.l34=7;;7;?7}a�_bmmpwik'g:;4<2;>068tjvXkfd�~bb n12;59399<1{c}Qloovqki)wzlm$}1>1149skuYdgg~yca!�rde,u9799<1{c}Qloovqki)wzlm$}1<1149skuYdgg~yca!�rde,u9599<1{c}Qloovqki)wzlm$}1:1149skuYdgg~yca!�rde,u9399<1{c}Qloovqki)wzlm$}181149skuYdgg~yca!�rde,u9199=1{c}Qloovqki)wzlm$}R>>4:rltZehf}xd`"~}ef-r[4733ye{Snaatsmo+utbo&{T><:4pnr\gjhszff$|�kh/p]051=wgyUhccz}om-sv`a(yV>:86~`p^aljqthd&zyij!~_437?uiwWjeex�ac/qpfc*wX>8>0|b~Pcnlwvjj(x{ol#|Q8129skuYdgg~yca!|i{gdp7733ye{Snaatsmo+vo}mn~9=<64pnr\gjhszff$�dtjgu02[VQ79h1{c}Qloovqki)t|h~nSK]B_GDg54b<xfzTob`{rnn,wqgsmVLXARHId0/Jj4c<xfzTob`{rnn,wqgsmVLXARHId0/Jj47f3ye{Snaatsmo+vrf|lUM_@QIFe015>vhxVidby|`l.qweqcXNZGTJKj=_sqwtjr6i2zd|Rm`nuplh*usi}oTJ^CPFGf05a=wgyUhccz}om-ppdrbWOYFSKHk3,Km5`=wgyUhccz}om-ppdrbWOYFSKHk3,Km574<xfzTob`{rnn,wqgsmVLXARHId2/Jj4YT_9;j7}a�_bmmpwik'z~jxhQISL]EBa2592zd|Rm`nuplh*usi}oTJ^CPFGf7[wusxf~:m6~`p^aljqthd&y�mykPFRO\BCb29m1{c}Qloovqki)t|h~nSK]B_GDg1(Oi9l1{c}Qloovqki)t|h~nSK]B_GDg1(Oi98k0|b~Pcnlwvjj({}k�iRH\M^DE`37c3ye{Snaatsmo+vrf|[email protected]{Snaatsmo+vrf|[email protected]|Rm`nuplh*usi}oTodjwlncg5ZUP88l0|b~Pcnlwvjj({}k�iRmfdynlea7X[^;9<6~`p^aljqthd&y�mykPchf{hjgc9VY\==<?;qms[fii|{eg#~zntd]`ma~kghn:S^Y>1328tjvXkfd�~bb sucwaZenlqfdmi?PSV3165=wgyUhccz}om-ppdrbWjcotaand0]PS45582zd|Rm`nuplh*usi}oTodjwlncg5ZUP9=8;7}a�_bmmpwik'z~jxhQliezokdb6WZ]:9?>4pnr\gjhszff$�yo{e^aj`}jhim;T_Z?9219skuYdgg~yca!|t`vf[focpeejh<Q\W0514>vhxVidby|`l.qweqcXk`ns`bok1^QT5=473ye{Snaatsmo+vrf|lUheivco`f2[VQ618l0|b~Pcnlwvjj({}k�iRmfdynlea7X[^89<6~`p^aljqthd&y�mykPchf{hjgc9VY\>=?i;qms[fii|{eg#~zntd]`ma~kghn:S^Y<1g9skuYdgg~yca!|t`vf[focpeejh<Q\W53e?uiwWjeex�ac/rvbp`Ydamrgclj>_RU65c=wgyUhccz}om-ppdrbWjcotaand0]PS37a3ye{Snaatsmo+vrf|lUheivco`f2[VQ09o1{c}Qloovqki)t|h~nSngkxmmb`4YT_1;m7}a�_bmmpwik'z~jxhQliezokdb6WZ]246~`prvbvq?<xfzxxl|{1e9skuusi{~:S^Y?a:rltriuc`dl=>5�oqulvnoioVmgyhQ|eu68tpuo12z~�eQFBTD2=>vr{aUhccz}om-Nip~Xf9:?9>?>9:rvwmYdgg~yca!Bmtz\j563==;:46~zsi]`kkruge%FaxvPn127107d3y�xdRm`nuplh*Kj}qUe<=::5^QT44?<x|ycSnaatsmo+HkrpVd;<9;910c8tpuoWjeex�ac/Lov|Zh78=?==<?6;qwplZehf}xd`"Cbuy]m4522?8;27}{|h^aljqthd&GfyuQa0166<4733y�xdRm`nuplh*bnfe~{=<84ptqk[fii|{eg#igalur2[C713y�xdRm`nuplh*bnfe~{=RI>4:rvwmYdgg~yca!kionwt77>3y�xdRm`nuplh*ocpeejh<Q\W13:?ust`Vidby|`l.kg|iifl8UX[<?n;qwplZehf}xd`"gkxmmb`4YT_8::m6~zsi]`kkruge%bhub`ae3\WR769h1{y~fPcnlwvjj(amrgclj>_RU264g<x|ycSnaatsmo+lb�dfko=R]X123b?ust`Vidby|`l.kg|iifl8UX[<:>a:rvwmYdgg~yca!fdynlea7X[^;>=55�urj\gjhszff$eiv}ef-r858602z~�eQloovqki)nlqxnk"�31?3;?ust`Vidby|`l.kg|wc`'x692<64ptqk[fii|{eg#djwrde,u959911{y~fPcnlwvjj(amryij!~<5<2<>vr{aUhccz}om-j`}tbo&{793?7;qwplZehf}xd`"gkxsgd+t:16820|x}g_bmmpwik'`ns~hi q=5=52=w}zbTob`{rnn,ma~umn%zS=?j;qwplZehf}xd`"gkxsgd+tY7W{y�|bz>7:rvwmYdgg~yca!fdypfc*wX98o0|x}g_bmmpwik'`ns~hi q^3\vvrwg};<7}{|h^aljqthd&cot�kh/p]15`=w}zbTob`{rnn,ma~umn%zS?Q}surlp41<x|ycSnaatsmo+lb�zlm$}R=>e:rvwmYdgg~yca!fdypfc*wX;Vxxx}a{169sqvnXkfd�~bb iezqab)vW=;n7}{|h^aljqthd&cot�kh/p]7[wusxf~:;6~zsi]`kkruge%bhu|jg.s\14c<x|ycSnaatsmo+lb�zlm$}R;Prrvskq703y�xdRm`nuplh*ocp{ol#|Q91d9sqvnXkfd�~bb iezqab)vW?Uy�y~`t058tpuoWjeex�ac/hf{v`a(yV=:i6~zsi]`kkruge%bhu|jg.s\3Ztt|ye�=85�urj\gjhszff$b=>;5=0=50=w}zbTob`{rnn,j563=595=85�urj\gjhszff$b=>;5=6=50=w}zbTob`{rnn,j563=5<5=85�urj\gjhszff$b=>;5=5=53=w}zbTob`{rnn,twc`'x6;2<84ptqk[fii|{eg#}|jg.s?5;713y�xdRm`nuplh*vumn%z0?0>6:rvwmYdgg~yca!�rde,u9599?1{y~fPcnlwvjj(x{ol#|2;>048tpuoWjeex�ac/qpfc*w;=7;=7}{|h^aljqthd&zyij!~<7<22>vr{aUhccz}om-sv`a(y5=5=85�urj\gjhszff$|�kh/p]350=w}zbTob`{rnn,twc`'xU:=85�urj\gjhszff$|�kh/p]150=w}zbTob`{rnn,twc`'xU8=85�urj\gjhszff$|�kh/p]750=w}zbTob`{rnn,twc`'xU>=85�urj\gjhszff$|�kh/p]550=w}zbTob`{rnn,twc`'xU<=95�urj\gjhszff$}}o}eov2f>vr{aUhccz}om-ppdrbWOYFSKHk10g8tpuoWjeex�ac/rvbp`YA[DUMJi?"Io3a?ust`Vidby|`l.qweqcXNZGTJKj=1d9sqvnXkfd�~bb sucwaZ@TEVLMh?#Fn0d8tpuoWjeex�ac/rvbp`YA[DUMJi<"Io314>vr{aUhccz}om-ppdrbWOYFSKHk2,Km54433y�xdRm`nuplh*usi}oTJ^CPFGf1)Lh69VY\<?:4ptqk[fii|{eg#~zntd]EWHYANm8&Ec?>_RU25c=w}zbTob`{rnn,wqgsmVLXARHId3/Jj7443y�xdRm`nuplh*usi}oTJ^CPFGf1)Lh5WZ];=k5�urj\gjhszff$�yo{e^DPIZ@Al;'Bb>?i;qwplZehf}xd`"}{aug\BVKXNOn9!D`;1g9sqvnXkfd�~bb sucwaZ@TEVLMh?#Fn43e?ust`Vidby|`l.qweqcXNZGTJKj=-Hl55g=w}zbTob`{rnn,wqgsmVLXARHId23f?ust`Vidby|`l.qweqcXNZGTJKj<-Hl2b>vr{aUhccz}om-ppdrbWOYFSKHk3,Km54d<x|ycSnaatsmo+vrf|lUz|l|jnu32<>vr{andbhQ�oqflj`YHZV>8Sb?6;qwplaiimVzd|iaae^MQ[15Xg8h0|x}gwnphmka6<2z~�ey`rjkmcZak}lUxiy;4rde;a0=umzo�m6|jsdv\MGSA?2ybvh2?>69pm�c;97=0�dtj<3<4?vo}m595;6}fzd>7:2=taso79394shxf838>3zcqi1950?58wl|b4>4i7~gue^2\KGSAj2ybvhQ>_N@VBg=tasoT>RAMUG`8wl|bW:UDNXHm;rkyaZ2XGK_Mn6}fzd]6[JDRNk1xewkP6^MAQCd<{`pnS:Q@BTD2f>unrlUhby| MbmvjqYvWohTot2?>0`8wl|bWjd�~"Clotlw[tYajVir0<0>b:qj~`Ydf}x$Anaznu]r[cdXkp692<l4shxf[fhsz&Ghcx`{_p]efZe~4:4:n6}fzd]`jqt(Eje~byQ~_g`\g|:368h0�dtj_blwv*Kdg|d�S|Qib^az8086j2ybvhQlnup,Ifirf}UzSklPcx>5:4e<{`pnSn`{r.O`kphsWxUmnRbzt=2=5f=tasoTocz}/LalqkrXyVliSa{{<0<2g>unrlUhby| MbmvjqYvWohT`xz32?3`?vo}mViex�!BcnwmpZwXnkUgyy2<>0a8wl|bWjd�~"Clotlw[tYajVf~x1:11b9pm�cXkg~y#@m`uov\uZ`eWe��080>c:qj~`Ydf}x$Anaznu]r[cdXd|~7:3?l;rkyaZei|{%Fob{at^s\bgYk}}6<2<m4shxf[fhsz&Ghcx`{_p]efZ~hz5:5=n5|i{g\gkru'DidyczPq^da[}iu484:o6}fzd]`jqt(Eje~byQ~_g`\|jt;:7;h7~gue^ampw)Jkf�exR�Pfc]{kw:468i0�dtj_blwv*Kdg|d�S|Qib^zlv9299j1xewkPcovq+Heh}g~T}Rhm_ymq8086k2ybvhQlnup,Ifirf}UzSklPxnp?2;7d3zcqiRmats-Ngjsi|V{TjoQwos>4:42<{`pnSn`{r.]m4541W`d}=85|i{g\gkru'Vd;<?8Piot254=tasoTocz}/p]ef969981xewkPcovq+tYaj5;5=<5|i{g\gkru'xUmn1<1109pm�cXkg~y#|Qib=1=54=tasoTocz}/p]ef929981xewkPcovq+tYaj5?5=<5|i{g\gkru'xUmn181109pm�cXkg~y#|Qib=5=55=tasoTocz}/p]efZ6682ybvhQlnup,uZ`eW8;;7~gue^ampw)vWohT><>4shxf[fhsz&{TjoQ<119pm�cXkg~y#|Qib^624>unrlUhby| q^da[0773zcqiRmats-r[cdX>8:0�dtj_blwv*wXnkU<n6}fzdkmgZoi~880�dtjioa\mkp5W@D]S=;4sucwa0=qieco:6xnlhf2e>pfd`n:S^Y?a:tbhlbXGK_M=<5wc7qo|40*;$ixk><;}ABs=a?<HIr:8n4I:382�V0528:86h?5121`2d0=:;>85v`>0082?k77:3<0(<>?:ga8yV0628:86h?5121`2d0=:;>8h6j>4b83>4<6sZ<96<><:d39565d>h<1>?:<a:tWb0<7280:6<=n{R41>4642l;1=>=l6`496724i2.m577k;%g1>7`63k;?o7>51d826`<6;hqCj55+f6820f=]<=08w?l52b81`?{#n=0:>6*i3;330>o6:o0;6)k;:00f?kc42910e<<k:18'a1<6:l1ei>4>;:k26f<72-o?6<<j;og0>7=<a88i6=4+e5826`=im:0876g>2`83>!c3288n7ck<:598m44>290/i94>2d9ma6<232c:>54?:%g7>44b3go86;54i004>5<#m=0:>h5ae284?>o6:80;66g=ad83>>o5=:0;66g>a383>>i6<:0;6)k;:061?kc42910c<:>:18'a1<6<;1ei>4>;:m205<72-o?6<:=;og0>7=<g89m6=4+e58207=im:0876a>3d83>!c328>97ck<:598k45c290/i94>439ma6<232e:?n4?:%g7>4253go86;54o01a>5<#m=0:8?5ae284?>i5j10;6)k;:3`4?kc42910c?l9:18'a1<5j>1ei>4>;:m1f0<72-o?6?l8;og0>7=<g;h?6=4+e581f2=im:0876a=b283>!c32;h<7ck<:598k7d5290/i94=b69ma6<232e9n<4?:%g7>7d03go86;54o3`3>5<#m=09n:5ae284?>i6;10;66a=ee83>>d6;h0;6>4?:1y'b2<0i2Bmi6Fi8:k71?6=3`<86=44od594?=zj82>6=4l:183�!`02l30Dkk4Hg:8^12=9r8j6p*69;28mcg=831b:>4?::kef?6=3fnm6=44i2c94?"b<3927ck<:198m6>=83.n87=6;og0>4=<a:=1<7*j4;1:?kc42;10e>850;&f0?5>3go86>54i2794?"b<3927ck<:598m62=83.n87=6;og0>0=<a:91<7*j4;1:?kc42?10e><50;&f0?5>3go86:54}c3;2?6=k3:1<v*i7;g:?M`b3Al37W:;:0y1e?{#100;7dhn:188m35=831bjo4?::mgb?6=3`9j6=4+e580=>hb;3:07d=7:18'a1<412dn?7?4;h14>5<#m=0856`j3;08?l51290/i94<9:lf7?5<3`9>6=4+e580=>hb;3>07d=;:18'a1<412dn?7;4;h10>5<#m=0856`j3;48?l55290/i94<9:lf7?1<3th:4:4?:b83>5}#n>0n56Fie:Je<>\3<3;p>l4r$8;94>oai3:17d8<:188mcd=831dhk4?::k0e?6=,l>1?45ae283?>o403:1(h:5389ma6<632c8;7>5$d697<=im:0976g<6;29 `2=;01ei>4<;:k01?6=,l>1?45ae287?>o4<3:1(h:5389ma6<232c8?7>5$d697<=im:0=76g<2;29 `2=;01ei>48;:�a5=>=83i1<7>t$g59a<=Onl1Cj55U4582�7g=u-326=5ff`83>>o1;3:17dhm:188ka`=831b?l4?:%g7>6?<fl91<65f3983>!c32:30bh=51:9j72<72-o?6>74nd196>=n;?0;6)k;:2;8j`5=;21b?84?:%g7>6?<fl91865f3583>!c32:30bh=55:9j76<72-o?6>74nd192>=n;;0;6)k;:2;8j`5=?21vn<66:18`>5<7s-l<6h74Hgg8Lc><R=>1=v<n:|&:=?6<aok1<75f6283>>oaj3:17bji:188m6g=83.n87=6;og0>5=<a:21<7*j4;1:?kc42810e>950;&f0?5>3go86?54i2494?"b<3927ck<:298m63=83.n87=6;og0>1=<a:>1<7*j4;1:?kc42<10e>=50;&f0?5>3go86;54i2094?"b<3927ck<:698yg7?i3:1o7>50z&e3?c>3Aln7Eh7;[67>4}5i3w/544?;hdb>5<<a?91<75ffc83>>icn3:17d=n:18'a1<412dn?7>4;h1;>5<#m=0856`j3;38?l50290/i94<9:lf7?4<3`9=6=4+e580=>hb;3907d=::18'a1<412dn?7:4;h17>5<#m=0856`j3;78?l54290/i94<9:lf7?0<3`996=4+e580=>hb;3=07pl>8c83>f<729q/j:4j9:Jea>Na02P?87?t2`8~ <?=82cmm7>5;h40>5<<aoh1<75`dg83>>o4i3:1(h:5389ma6<732c847>5$d697<=im:0:76g<7;29 `2=;01ei>4=;:k02?6=,l>1?45ae280?>o4=3:1(h:5389ma6<332c887>5$d697<=im:0>76g<3;29 `2=;01ei>49;:k06?6=,l>1?45ae284?>{e91i1<7m50;2x c1=m01Cjh5Gf99Y01<6s;k1q)76:19jbd<722c=?7>5;hda>5<<gml1<75f3`83>!c32:30bh=50:9j7=<72-o?6>74nd195>=n;>0;6)k;:2;8j`5=:21b?;4?:%g7>6?<fl91?65f3483>!c32:30bh=54:9j71<72-o?6>74nd191>=n;:0;6)k;:2;8j`5=>21b??4?:%g7>6?<fl91;65rb3g1>5<2290;w)h8:6a8Lcc<@o20e9;50;9j0a<722c=?7>5;hg;>5<<gl=1<75rb3g0>5<2290;w)h8:6a8Lcc<@o20e9;50;9j0a<722c=?7>5;hg;>5<<gl=1<75rb3g7>5<2290;w)h8:6a8Lcc<@o20e9;50;9j0a<722c=?7>5;hg;>5<<gl=1<75rb3g6>5<2290;w)h8:6a8Lcc<@o20e9;50;9j0a<722c=?7>5;hg;>5<<gl=1<75rb3g5>5<2290;w)h8:6a8Lcc<@o20e9;50;9j0a<722c=?7>5;hg;>5<<gl=1<75rb3g4>5<2290;w)h8:6a8Lcc<@o20e9;50;9j0a<722c=?7>5;hg;>5<<gl=1<75rb3g;>5<2290;w)h8:6a8Lcc<@o20e9;50;9j0a<722c=?7>5;hg;>5<<gl=1<75rb3g:>5<2290;w)h8:6a8Lcc<@o20e9;50;9j0a<722c=?7>5;hg;>5<<gl=1<75rb3a2>5<3290;w)h8:`18Lcc<@o20e9h50;9j23<722cm>7>5;nfe>5<<uk8o<7>53;294~"a?3lo7Ehj;Id;?l2a2900e4l50;9l`c<722wi>n<50;694?6|,o=1m>5Gfd9Kb==n<o0;66g96;29?l`52900cih50;9~f7b629086=4?{%d4>cb<@oo0Dk64i5d94?=n1k0;66akf;29?xd5k:0;694?:1y'b2<f;2Bmi6Fi8:k7b?6=3`<=6=44ig094?=hlo0;66sm2e094?5=83:p(k95fe9Kb`=On11b8k4?::k:f?6=3fnm6=44}c0`0?6=<3:1<v*i7;c0?M`b3Al37d:i:188m30=831bj?4?::mgb?6=3th9h>4?:283>5}#n>0mh6Fie:Je<>o3n3:17d7m:188ka`=831vn?m::187>5<7s-l<6l=4Hgg8Lc><a=l1<75f6783>>oa:3:17bji:188yg4c<3:1?7>50z&e3?`c3Aln7Eh7;h6e>5<<a0h1<75`dg83>>{e:j<1<7:50;2x c1=i:1Cjh5Gf99j0c<722c=:7>5;hd1>5<<gml1<75rb3f6>5<4290;w)h8:gf8Lcc<@o20e9h50;9j=g<722eoj7>5;|`1g2<72=0;6=u+f68b7>Nam2Bm46g;f;29?l012900ek<50;9l`c<722wi>i850;194?6|,o=1ji5Gfd9Kb==n<o0;66g6b;29?jba2900qo<k7;297?6=8r.m;7hk;Idf?M`?3`>m6=44i8`94?=hlo0;66sm28594?2=83:p(k957c9Kb`=On11b884?::k57?6=3`o36=44od594?=zj;326=4;:183�!`02>h0Dkk4Hg:8m13=831b:>4?::kf<?6=3fo<6=44}c0b1?6=<3:1<v*i7;5a?M`b3Al37d:::188m35=831bi54?::mf3?6=3th9584?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9594?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th95>4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th95?4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th95<4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th95=4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th94k4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th94h4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9=i4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9=h4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9=k4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9>=4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9><4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9>?4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9>>4?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9>94?:483>5}#n>0<o6Fie:Je<>o3=3:17d:k:188m35=831bi54?::mf3?6=3th9>54?:583>5}#n>0<h6Fie:Je<>o3=3:17d8<:188mc4=831di:4?::�a67b=83>1<7>t$g593g=Onl1Cj55f4483>>o1;3:17dk7:188k`1=831vn?=<:187>5<7s-l<6:l4Hgg8Lc><a=?1<75f6283>>ob03:17bk8:188yg44>3:187>50z&e3?1e3Aln7Eh7;h66>5<<a?91<75fe983>>ib?3:17pl>a183>2<729q/j:4n2:Jea>Na02.2578m;h;1>5<<a091<75f9583>>o>=3:17d79:188m<1=831dhk4?::�a6dg=83>1<7>t$g59=c=Onl1Cj55+9880b>"b=3;;h6g62;29?l?42900e4:50;9l`c<722wi>i750;194?6|,o=15h5Gfd9Kb==#100=;6*j5;32<>o>:3:17d7<:188ka`=831vn?;9:184>5<7s-l<6l<4Hgg8Lc><,031>>5f9383>>o>;3:17d7;:188m<3=831b5;4?::k:3?6=3fnm6=44}c06e?6=>3:1<v*i7;c2?M`b3Al37)76:378 `3=99o0e4<50;9j=6<722c287>5;h;6>5<<a0<1<75`dg83>>{e:?:1<7950;2x c1=i;1Cjh5Gf99'=<<5<2c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17d78:188ka`=831vn?;m:185>5<7s-l<6l?4Hgg8Lc><,031:i5f9383>>o>;3:17d7;:188m<3=831b5;4?::mgb?6=3th99n4?:783>5}#n>0j=6Fie:Je<>">13827d7=:188m<5=831b594?::k:1?6=3`3=6=44oed94?=zj;3h6=49:183�!`02h;0Dkk4Hg:8 <?=?:1b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66akf;29?xd5=<0;6;4?:1y'b2<f92Bmi6Fi8:&:=?453`396=44i8194?=n1=0;66g65;29?l?12900cih50;9~f7g0290?6=4?{%d4><`<@oo0Dk64$8;97c=#m<0:<45f9383>>o>;3:17d7;:188ka`=831vn?o7:180>5<7s-l<64k4Hgg8Lc><,031>;5+e4824a=n1;0;66g63;29?jba2900qo?n8;293?6=8r.m;7o=;Idf?M`?3-326<k4i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`2e0<72>0;6=u+f68b6>Nam2Bm46*69;04?l?52900e4=50;9j=1<722c297>5;h;5>5<<a0=1<75`dg83>>{e9h=1<7850;2x c1=i81Cjh5Gf99'=<<6l2c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17bji:188yg7f>3:197>50z&e3?g73Aln7Eh7;%;:>4e<a081<75f9283>>o><3:17d7::188ka`=831vn??>:184>5<7s-l<6l<4Hgg8Lc><,031=55f9383>>o>;3:17d7;:188m<3=831b5;4?::k:3?6=3fnm6=44}c034?6=?3:1<v*i7;c1?M`b3Al37)76:368m<4=831b5>4?::k:0?6=3`3>6=44i8494?=n1>0;66akf;29?xd6k10;6:4?:1y'b2<f:2Bmi6Fi8:&:=?5<a081<75f9283>>o><3:17d7::188m<0=831b5:4?::mgb?6=3th9?54?:783>5}#n>0j=6Fie:Je<>">13>;7d7=:188m<5=831b594?::k:1?6=3`3=6=44oed94?=zj;8j6=4;:183�!`020l0Dkk4Hg:8 <?=;o1b5?4?::k:7?6=3`3?6=44oed94?=zj8286=49:183�!`02h;0Dkk4Hg:8 <?=;l1/i84>1d9j=7<722c2?7>5;h;7>5<<a0?1<75f9783>>icn3:17pl>8583>2<729q/j:4n2:Jea>Na02.25786;h;1>5<<a091<75f9583>>o>=3:17d79:188m<1=831dhk4?::�a5=6=83<1<7>t$g59e4=Onl1Cj55+9880a>o>:3:17d7<:188m<2=831b584?::k:2?6=3fnm6=44}c3;5?6=?3:1<v*i7;c1?M`b3Al37)76:7;8m<4=831b5>4?::k:0?6=3`3>6=44i8494?=n1>0;66akf;29?xd6?m0;6;4?:1y'b2<f92Bmi6Fi8:&:=?5b3`396=44i8194?=n1=0;66g65;29?l?12900cih50;9~f41b290<6=4?{%d4>d4<@oo0Dk64$8;92<=n1;0;66g63;29?l?32900e4;50;9j=3<722c2;7>5;nfe>5<<uk;<m7>56;294~"a?3k:7Ehj;Id;?!?>2:o0e4<50;9j=6<722c287>5;h;6>5<<a0<1<75`dg83>>{e9>h1<7950;2x c1=i;1Cjh5Gf99'=<<112c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17d78:188ka`=831vn<98:185>5<7s-l<6l?4Hgg8Lc><,031?h5f9383>>o>;3:17d7;:188m<3=831b5;4?::mgb?6=3th:;54?:683>5}#n>0j>6Fie:Je<>">13<27d7=:188m<5=831b594?::k:1?6=3`3=6=44i8594?=hlo0;66sm16694?0=83:p(k95a09Kb`=On11/544<e:k:6?6=3`386=44i8694?=n1<0;66g66;29?jba2900qo?85;293?6=8r.m;7o=;Idf?M`?3-326;74i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`234<72?0;6=u+f68b5>Nam2Bm46*69;1f?l?52900e4=50;9j=1<722c297>5;h;5>5<<gml1<75rb051>5<0290;w)h8:`08Lcc<@o20(475689j=7<722c2?7>5;h;7>5<<a0?1<75f9783>>o>?3:17bji:188yg71m3:1:7>50z&e3?g63Aln7Eh7;%;:>6c<,l?1==74i8094?=n1:0;66g64;29?l?22900e4850;9l`c<722wi=;h50;594?6|,o=1m?5Gfd9Kb==#100=56g62;29?l?42900e4:50;9j=0<722c2:7>5;h;4>5<<gml1<75rb04b>5<2290;w)h8:`28Lcc<@o20(4757:&f1?77>2c2>7>5;h;0>5<<a0>1<75f9483>>icn3:17pl>6c83>2<729q/j:4n2:Jea>Na02.257:7;h;1>5<<a091<75f9583>>o>=3:17d79:188m<1=831dhk4?::�a53e=83=1<7>t$g59e7=Onl1Cj55+988;<>o>:3:17d7<:188m<2=831b584?::k:2?6=3`3<6=44oed94?=zj8<=6=49:183�!`02h;0Dkk4Hg:8 <?=<?1b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66akf;29?xd6>>0;684?:1y'b2<f82Bmi6Fi8:&:=?0?3-o>6<>9;h;1>5<<a091<75f9583>>o>=3:17bji:188yg7103:1;7>50z&e3?g53Aln7Eh7;%;:>21<a081<75f9283>>o><3:17d7::188m<0=831b5:4?::mgb?6=3th::?4?:783>5}#n>0j=6Fie:Je<>">13>n7d7=:188m<5=831b594?::k:1?6=3`3=6=44oed94?=zj8<86=4::183�!`02h:0Dkk4Hg:8 <?=>11/i84>099j=7<722c2?7>5;h;7>5<<a0?1<75`dg83>>{e9?>1<7950;2x c1=i;1Cjh5Gf99'=<<0?2c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17d78:188ka`=831vn<;j:185>5<7s-l<6l?4Hgg8Lc><,0318h5f9383>>o>;3:17d7;:188m<3=831b5;4?::mgb?6=3th:9k4?:483>5}#n>0j<6Fie:Je<>">13<37)k::02;?l?52900e4=50;9j=1<722c297>5;nfe>5<<uk;=<7>57;294~"a?3k97Ehj;Id;?!?>2>=0e4<50;9j=6<722c287>5;h;6>5<<a0<1<75f9683>>icn3:17pl>5`83>3<729q/j:4n1:Jea>Na02.257:j;h;1>5<<a091<75f9583>>o>=3:17d79:188ka`=831vn<;m:186>5<7s-l<6l>4Hgg8Lc><,031:55+e48242=n1;0;66g63;29?l?32900e4;50;9l`c<722wi=8m50;594?6|,o=1m?5Gfd9Kb==#100<;6g62;29?l?42900e4:50;9j=0<722c2:7>5;h;4>5<<gml1<75rb074>5<2290;w)h8:`28Lcc<@o20(475699'a0<68>1b5?4?::k:7?6=3`3?6=44i8794?=hlo0;66sm14:94?1=83:p(k95a39Kb`=On11/54487:k:6?6=3`386=44i8694?=n1<0;66g66;29?l?02900cih50;9~f434290>6=4?{%d4>d6<@oo0Dk64$8;92==#m<0:>=5f9383>>o>;3:17d7;:188m<3=831dhk4?::�a502=83=1<7>t$g59e7=Onl1Cj55+98843>o>:3:17d7<:188m<2=831b584?::k:2?6=3`3<6=44oed94?=zj8>n6=48:183�!`02h80Dkk4Hg:8 <?=<h1b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66g67;29?jba2900qo?;f;291?6=8r.m;7o?;Idf?M`?3-326;64$d79576<a081<75f9283>>o><3:17d7::188ka`=831vn<;?:186>5<7s-l<6l>4Hgg8Lc><,031;95f9383>>o>;3:17d7;:188m<3=831dhk4?::�a6``=83<1<7>t$g59e4=Onl1Cj55+9882?!c228;o7d7=:188m<5=831b594?::k:1?6=3`3=6=44oed94?=zj;on6=48:183�!`02h80Dkk4Hg:8 <?=991b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66g67;29?jba2900qo<:0;291?6=8r.m;7o?;Idf?M`?3-326594$d7954b<a081<75f9283>>o><3:17d7::188ka`=831vn?:i:184>5<7s-l<6l<4Hgg8Lc><,031?n5f9383>>o>;3:17d7;:188m<3=831b5;4?::k:3?6=3fnm6=44}c06<?6=;3:1<v*i7;;f?M`b3Al37)76:348 `3=99o0e4<50;9j=6<722eoj7>5;|`112<72>0;6=u+f68b6>Nam2Bm46*69;00?l?52900e4=50;9j=1<722c297>5;h;5>5<<a0=1<75`dg83>>{e:0h1<7950;2x c1=i;1Cjh5Gf99'=<<>82c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17d78:188ka`=831vn?o>:187>5<7s-l<64h4Hgg8Lc><,031=l5+e4825==n1;0;66g63;29?l?32900cih50;9~f7g5290<6=4?{%d4>d4<@oo0Dk64$8;9=5=n1;0;66g63;29?l?32900e4;50;9j=3<722c2;7>5;nfe>5<<uk8j?7>55;294~"a?3k;7Ehj;Id;?!?>2:h0(h;51058m<4=831b5>4?::k:0?6=3`3>6=44oed94?=zj;k?6=48:183�!`02h80Dkk4Hg:8 <?=0j1b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66g67;29?jba2900qo<n0;293?6=8r.m;7o=;Idf?M`?3-326?94i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`1=c<72>0;6=u+f68b6>Nam2Bm46*69;08m<4=831b5>4?::k:0?6=3`3>6=44i8494?=n1>0;66akf;29?xd58k0;684?:1y'b2<f82Bmi6Fi8:&:=?123`396=44i8194?=n1=0;66g65;29?jba2900qo<?c;291?6=8r.m;7o?;Idf?M`?3-326?>4i8094?=n1:0;66g64;29?l?22900cih50;9~f76f290=6=4?{%d4>d7<@oo0Dk64$8;953=n1;0;66g63;29?l?32900e4;50;9j=3<722eoj7>5;|`2bg<72<0;6=u+f68b4>Nam2Bm46*69;0e?l?52900e4=50;9j=1<722c297>5;nfe>5<<uk;mo7>55;294~"a?3k;7Ehj;Id;?!?>211b5?4?::k:7?6=3`3?6=44i8794?=hlo0;66sm1b194?3=83:p(k95a19Kb`=On11/54485:k:6?6=3`386=44i8694?=n1<0;66akf;29?xd6k=0;684?:1y'b2<f82Bmi6Fi8:&:=?473`396=44i8194?=n1=0;66g65;29?jba2900qo<=7;290?6=8r.m;77i;Idf?M`?3-326:k4$d79541<a081<75f9283>>o><3:17bji:188yg45>3:1;7>50z&e3?g53Aln7Eh7;%;:>=`<a081<75f9283>>o><3:17d7::188m<0=831b5:4?::mgb?6=3th:?:4?:383>5}#n>0246Fie:Je<>o>93:17bji:188yg74>3:1>7>50z&e3???3Aln7Eh7;h;2>5<<gml1<75rb016>5<5290;w)h8:8:8Lcc<@o20e4?50;9l`c<722wi=>:50;094?6|,o=1555Gfd9Kb==n180;66akf;29?xd6;:0;6?4?:1y'b2<>02Bmi6Fi8:k:5?6=3fnm6=44}c306?6=:3:1<v*i7;;;?M`b3Al37d7>:188ka`=831vn<=>:181>5<7s-l<6464Hgg8Lc><a0;1<75`dg83>>{e9::1<7<50;2x c1=111Cjh5Gf99j=4<722eoj7>5;|`1ec<72;0;6=u+f68:<>Nam2Bm46g61;29?jba2900qo<:4;296?6=8r.m;777;Idf?M`?3`3:6=44oed94?=zj8k86=4=:183�!`02020Dkk4Hg:8m<7=831dhk4?::�a51d=8381<7>t$g59a5=Onl1Cj55f9083>>icn3:17pl>4`83>7<729q/j:4j0:Jea>Na02c2=7>5;nfe>5<<uk;?57>52;294~"a?3o;7Ehj;Id;?l?62900cih50;9~f42?29096=4?{%d4>`6<@oo0Dk64i8394?=hlo0;66sm15594?4=83:p(k95e19Kb`=On11b5<4?::mgb?6=3th:8;4?:383>5}#n>0n<6Fie:Je<>o>93:17bji:188yg73=3:1>7>50z&e3?c73Aln7Eh7;h;2>5<<gml1<75rb067>5<5290;w)h8:d28Lcc<@o20e4?50;9l`c<722wi>n>50;094?6|,o=1i=5Gfd9Kb==n180;66akf;29?xd5jo0;6?4?:1y'b2<b82Bmi6Fi8:k:5?6=3fnm6=44}c0aa?6=:3:1<v*i7;g3?M`b3Al37d7>:188ka`=831vn?lk:181>5<7s-l<6h>4Hgg8Lc><a0;1<75`dg83>>{e:ki1<7<50;2x c1=m91Cjh5Gf99j=4<722eoj7>5;|`1fg<72;0;6=u+f68f4>Nam2Bm46g61;29?jba2900qo<ma;296?6=8r.m;7k?;Idf?M`?3`3:6=44oed94?=zj;h26=4=:183�!`02l:0Dkk4Hg:8m<7=831dhk4?::�a56?=8381<7>t$g59a5=Onl1Cj55f9083>>icn3:17pl=f183>7<729q/j:4j0:Jea>Na02c2=7>5;nfe>5<<uk8jn7>54;294~"a?3=i7Ehj;Id;?l222900e;=50;9ja=<722en;7>5;|`114<72=0;6=u+f684f>Nam2Bm46g;5;29?l042900eh650;9la2<722wi>>?50;194?6|,o=1;l5Gfd9Kb==n<<0;66g93;29?jc02900qo<?4;293?6=8r.m;7o=;Idf?M`?3-326<?4i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`177<72>0;6=u+f68b6>Nam2Bm46*69;f8m<4=831b5>4?::k:0?6=3`3>6=44i8494?=n1>0;66akf;29?xd58>0;6;4?:1y'b2<f92Bmi6Fi8:&:=?4b3-o>6<?6;h;1>5<<a091<75f9583>>o>=3:17d79:188ka`=831vn?>7:185>5<7s-l<6l?4Hgg8Lc><,0318<5+e4825<=n1;0;66g63;29?l?32900e4;50;9j=3<722eoj7>5;|`170<72?0;6=u+f68b5>Nam2Bm46*69;4b?l?52900e4=50;9j=1<722c297>5;h;5>5<<gml1<75rb326>5<1290;w)h8:`38Lcc<@o20(4751g9j=7<722c2?7>5;h;7>5<<a0?1<75f9783>>icn3:17pl>fe83>2<729q/j:4n2:Jea>Na02.257=4i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`2b`<72>0;6=u+f68b6>Nam2Bm46*69;0;?l?52900e4=50;9j=1<722c297>5;h;5>5<<a0=1<75`dg83>>{e9ol1<7850;2x c1=i81Cjh5Gf99'=<<f3`396=44i8194?=n1=0;66g65;29?l?12900cih50;9~f4e2290<6=4?{%d4>d4<@oo0Dk64$8;961=n1;0;66g63;29?l?32900e4;50;9j=3<722c2;7>5;nfe>5<<uk;h:7>57;294~"a?3k97Ehj;Id;?!?>2><0e4<50;9j=6<722c287>5;h;6>5<<a0<1<75f9683>>icn3:17pl>c683>3<729q/j:4n1:Jea>Na02.257l4i8094?=n1:0;66g64;29?l?22900e4850;9l`c<722wi>4j50;794?6|,o=1m=5Gfd9Kb==#100<56g62;29?l?42900e4:50;9j=0<722eoj7>5;|`1=`<72<0;6=u+f68b4>Nam2Bm46*69;51?!c228;n7d7=:188m<5=831b594?::k:1?6=3fnm6=44}c3f=?6=<3:1<v*i7;5a?M`b3Al37d:::188m35=831bi54?::mf3?6=3th:io4?:583>5}#n>0<n6Fie:Je<>o3=3:17d8<:188m`>=831di:4?::�a5`b=83>1<7>t$g593g=Onl1Cj55f4483>>o1;3:17dk7:188k`1=831vn<ki:187>5<7s-l<6:l4Hgg8Lc><a=?1<75f6283>>ob03:17bk8:188yg7a93:187>50z&e3?1e3Aln7Eh7;h66>5<<a?91<75fe983>>ib?3:17pl>f283>1<729q/j:48b:Jea>Na02c?97>5;h40>5<<al21<75`e683>>{e9o?1<7:50;2x c1=?k1Cjh5Gf99j00<722c=?7>5;hg;>5<<gl=1<75rb0d4>5<3290;w)h8:6`8Lcc<@o20e9;50;9j26<722cn47>5;ng4>5<<uk8<n7>54;294~"a?3=i7Ehj;Id;?l222900e;=50;9ja=<722en;7>5;|`136<72=0;6=u+f684f>Nam2Bm46g;5;29?l042900eh650;9la2<722wi>:?50;694?6|,o=1;o5Gfd9Kb==n<<0;66g93;29?lc?2900ch950;9~f4b6290?6=4?{%d4>2d<@oo0Dk64i5794?=n>:0;66gj8;29?jc02900qo?k3;290?6=8r.m;79m;Idf?M`?3`>>6=44i7194?=nm10;66aj7;29?xd6l<0;694?:1y'b2<0j2Bmi6Fi8:k71?6=3`<86=44id:94?=hm>0;66sm1e594?2=83:p(k957c9Kb`=On11b884?::k57?6=3`o36=44od594?=zj8n26=4;:183�!`02>h0Dkk4Hg:8m13=831b:>4?::kf<?6=3fo<6=44}c3gf?6=<3:1<v*i7;5a?M`b3Al37d:::188m35=831bi54?::mf3?6=3th:hi4?:583>5}#n>0<n6Fie:Je<>o3=3:17d8<:188m`>=831di:4?::�a5a`=83>1<7>t$g593g=Onl1Cj55f4483>>o1;3:17dk7:188k`1=831vn<l>:187>5<7s-l<6:l4Hgg8Lc><a=?1<75f6283>>ob03:17bk8:188yg7e;3:187>50z&e3?1e3Aln7Eh7;h66>5<<a?91<75fe983>>ib?3:17pl>b483>1<729q/j:48b:Jea>Na02c?97>5;h40>5<<al21<75`e683>>{e9k=1<7:50;2x c1=?k1Cjh5Gf99j00<722c=?7>5;hg;>5<<gl=1<75rb0`:>5<3290;w)h8:6`8Lcc<@o20e9;50;9j26<722cn47>5;ng4>5<<uk;in7>54;294~"a?3=i7Ehj;Id;?l222900e;=50;9ja=<722en;7>5;|`13c<72=0;6=u+f684f>Nam2Bm46g;5;29?l042900eh650;9la2<722wi>:j50;694?6|,o=1;o5Gfd9Kb==n<<0;66g93;29?lc?2900ch950;9~f71>290?6=4?{%d4>2d<@oo0Dk64i5794?=n>:0;66gj8;29?jc02900qo<87;290?6=8r.m;79m;Idf?M`?3`>>6=44i7194?=nm10;66aj7;29?xd5?<0;694?:1y'b2<0j2Bmi6Fi8:k71?6=3`<86=44id:94?=hm>0;66sm1cf94?2=83:p(k957c9Kb`=On11b884?::k57?6=3`o36=44od594?=zj8hm6=4;:183�!`02>h0Dkk4Hg:8m13=831b:>4?::kf<?6=3fo<6=44}c3g6?6=>3:1<v*i7;c2?M`b3Al37)76:2f8m<4=831b5>4?::k:0?6=3`3>6=44i8494?=hlo0;66sm1e694?0=83:p(k95a09Kb`=On11/544<d:k:6?6=3`386=44i8694?=n1<0;66g66;29?jba2900qo?k6;292?6=8r.m;7o>;Idf?M`?3-326>j4i8094?=n1:0;66g64;29?l?22900e4850;9l`c<722wi=i650;494?6|,o=1m<5Gfd9Kb==#1008h6g62;29?l?42900e4:50;9j=0<722c2:7>5;nfe>5<<uk;om7>56;294~"a?3k:7Ehj;Id;?!?>2:n0e4<50;9j=6<722c287>5;h;6>5<<a0<1<75`dg83>>{e9mi1<7850;2x c1=i81Cjh5Gf99'=<<4l2c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17bji:188yg7cm3:1:7>50z&e3?g63Aln7Eh7;%;:>6b<a081<75f9283>>o><3:17d7::188m<0=831dhk4?::�a5`6=83<1<7>t$g59e4=Onl1Cj55+9880`>o>:3:17d7<:188m<2=831b584?::k:2?6=3fnm6=44}c004?6=?3:1<v*i7;c1?M`b3Al37)76:9`8m<4=831b5>4?::k:0?6=3`3>6=44i8494?=n1>0;66akf;29?xd5:o0;6:4?:1y'b2<f:2Bmi6Fi8:&:=?0d3`396=44i8194?=n1=0;66g65;29?l?12900e4950;9l`c<722wi>?l50;194?6|,o=1;l5Gfd9Kb==n<<0;66g93;29?jc02900qo<?6;293?6=8r.m;7o=;Idf?M`?3-326>?4i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`16f<72=0;6=u+f68:b>Nam2Bm46*69;30?l?52900e4=50;9j=1<722eoj7>5;|`2f7<72>0;6=u+f68b6>Nam2Bm46*69;3:?l?52900e4=50;9j=1<722c297>5;h;5>5<<a0=1<75`dg83>>{e9lk1<7850;2x c1=i81Cjh5Gf99'=<<?=2c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17bji:188yg7bk3:1:7>50z&e3?g63Aln7Eh7;%;:>1=#m<0:=>5f9383>>o>;3:17d7;:188m<3=831b5;4?::mgb?6=3th:ih4?:783>5}#n>0j=6Fie:Je<>">13>0(h;51008m<4=831b5>4?::k:0?6=3`3>6=44i8494?=hlo0;66sm1g294?0=83:p(k95a09Kb`=On11/544;;%g6>4763`396=44i8194?=n1=0;66g65;29?l?12900cih50;9~f4`5290=6=4?{%d4>d7<@oo0Dk64$8;90>"b=3;;j6g62;29?l?42900e4:50;9j=0<722c2:7>5;nfe>5<<uk;m87>56;294~"a?3k:7Ehj;Id;?!?>2=1/i84>159j=7<722c2?7>5;h;7>5<<a0?1<75f9783>>icn3:17pl>f783>3<729q/j:4n1:Jea>Na02.257:4$d79543<a081<75f9283>>o><3:17d7::188m<0=831dhk4?::�a5c>=83<1<7>t$g59e4=Onl1Cj55+9887?!c228;=7d7=:188m<5=831b594?::k:1?6=3`3=6=44oed94?=zj;:o6=4::183�!`02h:0Dkk4Hg:8 <?=:91/i84>1b9j=7<722c2?7>5;h;7>5<<a0?1<75`dg83>>{e:9o1<7;50;2x c1=i91Cjh5Gf99'=<<0=2.n97?>c:k:6?6=3`386=44i8694?=n1<0;66akf;29?xd5990;6;4?:1y'b2<f92Bmi6Fi8:&:=?e<a081<75f9283>>o><3:17d7::188m<0=831dhk4?::�a6=6=83=1<7>t$g59e7=Onl1Cj55+988;2>o>:3:17d7<:188m<2=831b584?::k:2?6=3`3<6=44oed94?=zj;=n6=48:183�!`02h80Dkk4Hg:8 <?=0?1b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66g67;29?jba2900qo<8a;293?6=8r.m;7o=;Idf?M`?3-326:>4i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`13=<72>0;6=u+f68b6>Nam2Bm46*69;53?l?52900e4=50;9j=1<722c297>5;h;5>5<<a0=1<75`dg83>>{e:><1<7950;2x c1=i;1Cjh5Gf99'=<<082c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17d78:188ka`=831vn?8<:184>5<7s-l<6l<4Hgg8Lc><,031:h5f9383>>o>;3:17d7;:188m<3=831b5;4?::k:3?6=3fnm6=44}c050?6=?3:1<v*i7;c1?M`b3Al37)76:7d8m<4=831b5>4?::k:0?6=3`3>6=44i8494?=n1>0;66akf;29?xd5?j0;6:4?:1y'b2<f:2Bmi6Fi8:&:=?033`396=44i8194?=n1=0;66g65;29?l?12900e4950;9l`c<722wi>;;50;594?6|,o=1m?5Gfd9Kb==#100m7d7=:188m<5=831b594?::k:1?6=3`3=6=44i8594?=hlo0;66sm27494?1=83:p(k95a39Kb`=On11/544j;h;1>5<<a091<75f9583>>o>=3:17d79:188m<1=831dhk4?::�a622=83=1<7>t$g59e7=Onl1Cj55+98823>o>:3:17d7<:188m<2=831b584?::k:2?6=3`3<6=44oed94?=zj;<<6=48:183�!`02h80Dkk4Hg:8 <?=<j1b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66g67;29?jba2900qo<98;293?6=8r.m;7o=;Idf?M`?3-3269l4i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`137<72?0;6=u+f68b5>Nam2Bm46*69;02?l?52900e4=50;9j=1<722c297>5;h;5>5<<gml1<75rb31:>5<4290;w)h8:8g8Lcc<@o20(475669'a0<69:1b5?4?::k:7?6=3fnm6=44}c00e?6==3:1<v*i7;c3?M`b3Al37)76:6d8 `3=98h0e4<50;9j=6<722c287>5;h;6>5<<gml1<75rb366>5<2290;w)h8:`28Lcc<@o20(4757g9'a0<69k1b5?4?::k:7?6=3`3?6=44i8794?=hlo0;66sm1c694?1=83:p(k95a39Kb`=On11/54495:k:6?6=3`386=44i8694?=n1<0;66g66;29?l?02900cih50;9~f72029086=4?{%d4><c<@oo0Dk64$8;926=#m<0:=85f9383>>o>;3:17bji:188yg4303:1:7>50z&e3?g63Aln7Eh7;%;:>=2<,l?1=<o4i8094?=n1:0;66g64;29?l?22900e4850;9l`c<722wi>9750;794?6|,o=1m=5Gfd9Kb==#100<46*j5;32e>o>:3:17d7<:188m<2=831b584?::mgb?6=3th:nh4?:683>5}#n>0j>6Fie:Je<>">13<0e4<50;9j=6<722c287>5;h;6>5<<a0<1<75f9683>>icn3:17pl=4`83>6<729q/j:46e:Jea>Na02.2578<;%g6>4713`396=44i8194?=hlo0;66sm25`94?0=83:p(k95a09Kb`=On11/54472:&f1?7682c2>7>5;h;0>5<<a0>1<75f9483>>o>>3:17bji:188yg43k3:1:7>50z&e3?g63Aln7Eh7;%;:>=5<,l?1=<>4i8094?=n1:0;66g64;29?l?22900e4850;9l`c<722wi=n>50;594?6|,o=1m?5Gfd9Kb==#10027d7=:188m<5=831b594?::k:1?6=3`3=6=44i8594?=hlo0;66sm25f94?5=83:p(k959d9Kb`=On11/54493:&f1?76:2c2>7>5;h;0>5<<gml1<75rb0`5>5<0290;w)h8:`08Lcc<@o20(475149j=7<722c2?7>5;h;7>5<<a0?1<75f9783>>o>?3:17bji:188yg44l3:1?7>50z&e3??b3Aln7Eh7;%;:>35<,l?1=<?4i8094?=n1:0;66akf;29?xd6j10;6:4?:1y'b2<f:2Bmi6Fi8:&:=?0<a081<75f9283>>o><3:17d7::188m<0=831b5:4?::mgb?6=3th98=4?:283>5}#n>02i6Fie:Je<>">13<87)k::02e?l?52900e4=50;9l`c<722wi>9?50;794?6|,o=1m=5Gfd9Kb==#100<=6*j5;33f>o>:3:17d7<:188m<2=831b584?::mgb?6=3th98?4?:483>5}#n>0j<6Fie:Je<>">13=:7)k::02a?l?52900e4=50;9j=1<722c297>5;nfe>5<<uk;im7>57;294~"a?3k97Ehj;Id;?!?>201b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66g67;29?jba2900qo<;3;297?6=8r.m;77j;Idf?M`?3-326;=4$d79542<a081<75f9283>>icn3:17pl=4583>0<729q/j:4n0:Jea>Na02.2579>;%g6>46f3`396=44i8194?=n1=0;66g65;29?jba2900qo<;6;291?6=8r.m;7o?;Idf?M`?3-326:?4$d7955g<a081<75f9283>>o><3:17d7::188ka`=831vn<ll:184>5<7s-l<6l<4Hgg8Lc><,03156g62;29?l?42900e4:50;9j=0<722c2:7>5;h;4>5<<gml1<75rb322>5<2290;w)h8:`28Lcc<@o20(475819'a0<69o1b5?4?::k:7?6=3`3?6=44i8794?=hlo0;66sm21094?3=83:p(k95a19Kb`=On11/54489:&f1?76n2c2>7>5;h;0>5<<a0>1<75f9483>>icn3:17pl>5383>3<729q/j:4n1:Jea>Na02.257:8;h;1>5<<a091<75f9583>>o>=3:17d79:188ka`=831vn?=m:185>5<7s-l<6l?4Hgg8Lc><,031445+e48240=n1;0;66g63;29?l?32900e4;50;9j=3<722eoj7>5;|`17f<72?0;6=u+f68b5>Nam2Bm46*69;:b?!c228:>7d7=:188m<5=831b594?::k:1?6=3`3=6=44oed94?=zj;9n6=48:183�!`02h80Dkk4Hg:8 <?=0m1b5?4?::k:7?6=3`3?6=44i8794?=n1?0;66g67;29?jba2900qo<<f;293?6=8r.m;7o=;Idf?M`?3-3265k4i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`213<72>0;6=u+f68b6>Nam2Bm46*69;6:?l?52900e4=50;9j=1<722c297>5;h;5>5<<a0=1<75`dg83>>{e:j21<7=50;2x c1=1l1Cjh5Gf99'=<<6j2c2>7>5;h;0>5<<gml1<75rb3a:>5<4290;w)h8:8g8Lcc<@o20(475319j=7<722c2?7>5;nfe>5<<uk8hm7>53;294~"a?33n7Ehj;Id;?!?>2::0e4<50;9j=6<722eoj7>5;|`1gg<72:0;6=u+f68:a>Nam2Bm46*69;13?l?52900e4=50;9l`c<722wi>nm50;194?6|,o=15h5Gfd9Kb==#1008<6g62;29?l?42900cih50;9~f7ec29086=4?{%d4><c<@oo0Dk64$8;975=n1;0;66g63;29?jba2900qo<le;297?6=8r.m;77j;Idf?M`?3-326>>4i8094?=n1:0;66akf;29?xd5ko0;6>4?:1y'b2<>m2Bmi6Fi8:&:=?573`396=44i8194?=hlo0;66sm2`a94?3=83:p(k95a19Kb`=On11/54471:&f1?77k2c2>7>5;h;0>5<<a0>1<75f9483>>icn3:17pl=5383>0<729q/j:4n0:Jea>Na02.257:=;%g6>46d3`396=44i8194?=n1=0;66g65;29?jba2900qo<92;293?6=8r.m;7o=;Idf?M`?3-326<:4i8094?=n1:0;66g64;29?l?22900e4850;9j=2<722eoj7>5;|`124<72>0;6=u+f68b6>Nam2Bm46*69;78m<4=831b5>4?::k:0?6=3`3>6=44i8494?=n1>0;66akf;29?xd5=m0;694?:1y'b2<f<2Bmi6Fi8:k:6?6=3`386=44ig094?=hlo0;66sm24g94?1=83:p(k95a39Kb`=On11/544>8:k:6?6=3`386=44i8694?=n1<0;66g66;29?l?02900cih50;9~f73a290<6=4?{%d4>d4<@oo0Dk64$8;933=n1;0;66g63;29?l?32900e4;50;9j=3<722c2;7>5;nfe>5<<uk;9>7>52;294~"a?3>87Ehj;Id;?l?62900cih50;9~f7ce29096=4?{%d4><g<@oo0Dk64i8394?=hlo0;66s|12594?1|582864<4=014>a`<5;3o64<4=341><0<5;<:64:4=3;`><5<5;3n64<4}r302?6=jr7:4=462:?273<cn279:?465:?124<>=2795n462:?126<>:279:9462:?120<>:279:;462:?122<>:279:5462:�p563=83>p1<9k:80894522ml01?;j:808973a2080q~?<4;290~;6?h02>63>358gb>;5=l02863=5g8:7>{t9:91<7:t=054><4<58986ih4=37f><0<5;?m6484}r306?6=;r7:;9462:?277<cn279:=464:�p567=839p1<9>:80894562ml01?8?:818yv7483:1?v3>6d8:6>;6;90oj63=618:6>{t9;81<7:k{<30e?2234;397hn;<3;2?`f34;3;7hn;<3;<?`f34;357hn;<3;e?`f34;3n7hn;<3;g?`f348n>7::;<0f7?22348n87::;<0f1?22348n:7::;<0f3?22348n47::;<0f=?22348j97::;<0:=?223482;7::;<0;a?223483j7::;<0:4?223482=7::;<0:6?223482?7::;<0:0?22348297::;<002?223488?7::;<01`?22348947::;<02`?22348:i7::;<02b?223489<7::;<015?223489>7::;<017?22348987::;<0bf?22348>=7::;<005?2234;n57::;<3ff?2234;nh7::;<3fb?2234;m=7::;<3e7?2234;m97::;<3e3?22348<n7::;<047?22348<=7::;<3g5?2234;o?7::;<3g1?2234;o;7::;<3g=?2234;on7::;<3g`?2234;oj7::;<3a5?2234;i?7::;<3a1?2234;i;7::;<3a=?2234;in7::;<04b?22348<h7::;<04=?22348<;7::;<041?2234;ih7::;<3ab?223489n7::;<316?ba3ty9mk4?:57x97c52l201?k<:d:897c32l201?k::d:897c12l201?k8:d:897c?2l201?k6:d:897g22l201?76:d:897?02l201?6j:d:897>a2l201?7?:d:897?62l201?7=:d:897?42l201?7;:d:897?22l201?=9:d:897542l201?<k:d:8974?2o801??k:d:8977b2l201??i:d:897472l201?<>:d:897452l201?<<:d:897432l201?oi:ed897ge2l201?;>:d:894c>2l201<km:d:894cc2l201<ki:d:894`62l201<h<:d:894`22l201<h8:d:8971e2l201?9<:d:897162l201<j>:d:894b42l201<j::d:894b02l201<j6:d:894be2l201<jk:d:894ba2l201<l>:d:894d42l201<l::d:894d02l201<l6:d:894de2l201?9i:d:8971c2l201?96:d:897102l201?9::d:894dc2l201<li:d:8974d20901?>>:87897652080q~<:4;290~;51o02863=558gb>;5ij02963=538:0>{t9h91<7:t=36e><4<58k86ih4=3c`><5<5;?964;4}r0:3?6=:=q6>495e69>6a?=1;16>885939>60e=1;16>8;5939>6d1=1;16=5=5929>5=6=1:16=:j5929>52g=1:16=:95929>522=1:16=:?5929>53c=1:16>895939>6d7=1;16>l=5939>6=6=1:16>:k5929>62g=1:16>:65929>620=1:16>:m5939>622=1;16>n65929>6f?=1:16>no5929>6fd=1:16>nm5929>6fb=1:16>nk5929>6f`=1:16>hl5909>5d6=1?16>8l5949>624=1:1v�?k>:1825~;5m00n;63=5b8:7>;5mo02963=518:0>;5i:02863=a18:2>;5:>02?63=c18:5>;58m02963=0d8:0>;58802?63=038:1>;5ko02>63>6b8:6>;58>02963=098:1>;5:o02?6s|2d294?75s48n47k8;<0`3?01348>o77;;<0fb??1348><77:;<0b7??4348j<778;<013??3348ij77>;<03`??3348;i77:;<0`a??5348>n77;;<35<??5348;m77<;<006??4348;;77;;<03<??33ty9hk4?:02x97c02l=01?m9:748973d20?01?ki:818973720801?o=:81897g720>01?>m:868976d20?01?lj:838971d20>01?mk:808973e20901<8;:808974120>01?>::818yv4cm3:1jv3=e78f3>;5k<0=:63=5`8:6>;5mo02863=518:7>;5=>02?63=a38:6>;5i902963=0c8:1>;58j02863=268:6>;5jm02=63=cb8:6>;6>902>63=048:6>{t:mn1<7ht=3g6>`1<5;i?6;84=375><5<5;?j6484=332><4<5;on6484=36e><3<5;?364<4=3c1><3<5;k;64<4=3``><7<5;:=6484=3aa><4<58?h64<4=305><4<uz8oo7>511y>6`2=m>16>n=5679>600=1?16>8o5929>603=1:16><?5959>6``=1;16>9h5979>60>=1:16>l<5959>6d6=1:16>ol5909>6fg=1;16=865939>670=1:16>=:5939~w7be290:=v3=e28f3>;5k;0=:63=578:1>;5=h02963=548:1>;59802:63=ed8:0>;5<o02?63=568:0>;5i;02;63=9g8:1>;5:?02:63=b`8:5>;5?=02?63=c88:6>;6==02>63=058:0>{t:mk1<7?>{<0f6?c0348h=789;<062??3348>m77;;<061??3348ni77:;<07b??3348>;77:;<0b6??13482j779;<0a=??6348;877:;<040??3348h477=;<37a??43489:77:;<046??53ty:8o4?:6y>5=e=lo16>4;5629>672=>:16=9l5909>5cb=1=16=kk5939>5`6=1;1v�<:n:184�87?j3nm70<64;40?845;3<870?;a;;2?87am33?70?id;;0?87cm3397p}>4883>2}:91k1hk52281926=::;81:>5215;9=4=:9on15?521gg9=6=:9mi15?5rs06;>5<0s4;357ji;<0:6?043489=78<;<37<??634;mn77<;<3eg??534;om77=;|q202<72>q6=565dg9>6<7=>:16>?>5629>511=1816=kl5939>5ce=1:16=i65939~w421290=w0?77;fe?84>83<870<>f;40?873>33:70<?0;;7?87c>3397p}>4483>3}:91<1hk5229d926=::8o1:>521579=4=::9:15>521e69=7=z{8>?6=49{<3;1?ba3483i78<;<02`?0434;?877>;<034??534;o>77=;|q16g<72:8p1??k:5f8977b2=n01??i:5f897472=n01?<>:5f897452=n01?<<:5f897432=n01?j6:818974e2l=01<kn:878975>20901?=n:878972220?01?:8:818972f20901?:k:818975c20901?:?:818972420901?=m:848975d20<01?=j:858975a20=01?=7:818940d20?01<87:878940320?01<8?:878943d20?01<;7:878943320?01<:j:858974a20>01<l=:87894cd20?01<kj:87894`720?01<h=:87894`320?01<h9:87894`?20?01?:7:878972>20>01?:m:878972d20?01?:>:868972520>01?:;:868972120>0q~<<6;29g~;5;?0n;63=a`8:6>;5:h02>63>858:0>;60802863>7d8:0>;6?k02863>798:0>;6?<02863>738:0>;6>o02863>a18:6>{t9:k1<7:t=01b>`1<589264?4=3c`><2<5;?964=4}r065?6=9:q6=5:5929>5=7=1:16=:k5929>52d=1:16=:65929>523=1:16=:<5929>53`=1:16=;65929>532=1:16=;>5929>50e=1:16=865929>502=1:16>hk5929>607=m>16>8<5939>53e=1:16=8>5939~w72b2908w0<=a;;7?843n3nm70<=c;;1?xu61=0;64u219797d=:91<1?l5219597d=:9121?l5219;97d=:91k1?l5219`97d=:91i1?l5217a9`c=z{8386=46{<3;1?5?34;3:7=7;<3;3?5?34;347=7;<3;=?5?34;3m7=7;<3;f?5?34;3o7=7;<35<?ba3ty:5?4?:8y>5=3=;>16=585369>5=1=;>16=565369>5=?=;>16=5o5369>5=d=;>16=5m5369>532=lo1v�<7>:18:�87?=39=70?76;15?87??39=70?78;15?87?139=70?7a;15?87?j39=70?7c;15?87183nm7p}>9183><}:91?1?852194970=:91=1?85219:970=:9131?85219c970=:91h1?85219a970=:9<i1hk5rs0:e>5<>s4;397=;;<3;2?5334;3;7=;;<3;<?5334;357=;;<3;e?5334;3n7=;;<3;g?5334;>47ji;|q2<`<720q6=5;5329>5=0=;:16=595329>5=>=;:16=575329>5=g=;:16=5l5329>5=e=;:16=8:5dg9~w4>c2902w0?75;11?87?>39970?77;11?87?039970?79;11?87?i39970?7b;11?87?k39970?:0;fe?xu61j0;6?u219a926=:91>1hk5rs0;a>5<5s4;3n78<;<3;5?ba3ty:5l4?:3y>5=g=>:16=:k5dg9~w4?>2909w0?79;40?870j3nm7p}>9983>7}:9121:>5216:9`c=z{83<6=4={<3;3?0434;<97ji;|q2=3<72;q6=585629>524=lo1v�<7::181�87?=3<870?9f;fe?xu61o0;64u21979bg=:91<1jo521959bg=:9121jo5219;9bg=:91k1jo5219`9bg=:91i1jo521`29`c=z{;k26=4={<30e?04348jm7ji;|q1eg<728>p1<6;:80894>620801<9j:808941e20801<97:808941220801<9=:808940a20801<8n:80897cb20801?om:d5897gd20801<8l:868940?20>01<8;:868940720>01<;l:868943?20>01<;;:86894372090q~<i0;296~;5ml0oj63=f18:5>{t:m21<77t=3g1>1b<5;o869j4=3g7>1b<5;o>69j4=3g5>1b<5;o<69j4=3g;>1b<5;o269j4=3f:>a`<uzoj6=4={<0f6?04348o<7ji;|qff?6=:r79i>493:?1`4<cn2wxin4?:3y>6`2=>:16>i<5dg9~w`b=838p1?k::71897b42ml0q~kj:181�84b>3<870<k4;fe?xubn3:1>v3=e6857>;5l<0oj6s|f183>7}::l21:>522e49`c=z{o;1<7<t=3g:>35<5;n<6ih4}r0fe?6=;r79o<4;f:?1`5<3n279io4kf:�p6f>=839p1?m>:g0897b720h01?m7:ed8yv4d93:1?v3=c08gb>;5k;0?j63=d087b>{t:j31<7=t=3a1>c4<5;n:64l4=3a:>a`<uz8h>7>53z?1g7<cn279o>4;f:?1`7<3n2wx>no50;1x97e42o801?j=:8`897ef2ml0q~<l3;297~;5k:0oj63=c587b>;5l:0?j6s|2b`94?5|5;i?6k<4=3f0><d<5;ii6ih4}r0`0?6=;r79o94kf:?1g0<3n279h94;f:�p6fe=839p1?m::g0897b320h01?ml:ed8yv4d=3:1?v3=c48gb>;5k?0?j63=d487b>{t:jn1<7=t=3a5>c4<5;n>64l4=3ag>a`<uz8h:7>53z?1g3<cn279o:4;f:?1`3<3n2wx>nk50;1x97e02o801?j9:8`897eb2ml0q~<l7;296~;5k>0oj63=d687b>{t:jl1<7<t=3f4><d<5;im6ih4}r06=?6=<r799l4kf:?11f<>>279;n463:?11g<>>2wx>4l50;0x97?d2ml01?o;:858yv4183:1mv3=7b8:1>;5?=02963=5e8gb>;51j02:63=818:2>;5?l02:63=7`8:1>;5?102963=778:1>;5?;0286s|24f94?4|5;<;6ih4=37g>c4<uz8257>51cy>6<?=m>16>lo5959>6d1=1:16>l65929>5=5=1<16=5>5949>52b=1<16=:o5949>521=1<16=::5949>527=1<16=;k5949>53g=1=16=;95929>535=1:16=8h5929>50d=1:16=895929>505=1:16=9h5929>6<`=1:16>4j5949>634=1;16>;?5929>5d6=1<16>l:5929>6<c=1<1v�?o::182f~;5i<0n;63=a`8:7>;5i>02863=a98:6>;60:02863>818:0>;6?m02863>7`8:0>;6?>02863>758:0>;6?802863>6d8:0>;6>h02963>668:0>;6>:02863>5g8:0>;6=k02863>568:0>;6=:02863>4g8:0>;51o02>63=9e8:0>;5>;02?63=608:6>;6i902863=a58:6>;51l0286s|28:94?5|5;3<6;=4=3c7><0<5;3m6ih4}r0:e?6=:r7954493:?1e1<cn2wx>l850;0x97g22?901?o8:ed8yv4?93:1>v3=548gb>;5??0286s|29094?4|5;?=6ih4=35;><2<uz83?7>52z?112<cn279;l464:�p6=2=838p1?;m:ed8971b20=0q~<75;296~;5=j0oj63=818:3>{t:0<1<77t=3:f>1b<5;2m69j4=3;3>1b<5;3:69j4=3;1>1b<5;3869j4=3;7>1b<5;3>69j4=3c;>a`<uz8=57>54z?20c<>:279;<4j7:?122<>;279:5463:�p63g=832p1<;<:808942a20?01?o>:81897142l=01?8::868970120>01?88:868970?20>0q~<9b;293~;6=>02>63>528:1>;51k02:63=748f3>;5??02>63=648:7>;5>?02?6s|27a94?0|5;?>6484=07a><4<58?<64;4=3;a><1<5;=<6h94=35;><4<uz8=h7>56z?113<>?27:9k462:?21g<>=2795o464:?13<<b?279;l462:�p63c=83=p1<8<:808943a20?01?;8:85897?e20?01?9m:d58970420>01?8;:868yv41n3:1;v3>668:6>;6>:02963=9c8:6>;5?m0n;63=7d8:6>;5>:02?63=658:7>{t:>:1<78t=04b><5<58<<64;4=3;a><5<5;=m6h94=37a><4<5;2;64<4}r0;2?6=;r794h4j7:?22`<>>279:=465:�p6=1=839p1?6i:d58941620<01?8?:848yv4?03:1?v3=918f3>;6?=02:63=618:3>{t:131<7:t=3;2>`1<58=<6484=37f><1<5;?m64;4}r0;e?6=<r795?4j7:?23d<>>2799h465:?11c<><2wx>5l50;6x97?42l=01<9k:848973b20901?;i:858yv4?k3:1nv3=958f3>;51j02963>818:2>;5>:02963=678:1>;5>>02963=638:3>;5>802:63=658:1>;5><02963=698:1>{t:1n1<79t=3;6>`1<58286484=3;g><5<5;3n64=4=341><2<5;<:6494=3;`><2<uz8;?7>53z?140<cn279??467:?170<>>2wx=o>50;cx94da2l=01?:n:808972e20801?:l:808976620>01?>=:868940e20901?>8:808976?20801<h7:818yv7fn3:1jv3>6c8:0>;6jm0n;63=0e8:6>;58l02>63=468:6>;5<102?63=488:6>;5<k02?63>678:7>;5;;02>63=068:7>;58102?63=2g8:6>;6n?02?63=4b8:7>{t9h>1<7ot=0c6>a`<58<i6494=045><0<5;996484=324><0<5;:36484=36;><0<5;>264;4=36a><0<5;>h6484}r3ba?6=jr7:m8462:?14d<>:27:no4j7:?14a<>;279<h463:?106<>:2798;462:?2e=<>;27::?463:?2b1<>;27985462:�p5db=83hp1<o::81894g020801?>m:808976d20801<l6:d58972720801?:=:808972320801<o7:808943b20901<h=:818yv7fk3:1iv3>a48:0>;6i?02>63=0c8:7>;58j02?63>b68f3>;58?02>63=3e8:6>;5<802>63=3d8:7>;5;o02>63>a98:0>;6i>02?63>5`8:7>;6n902?6s|1``94?`|58k364;4=0c6><3<5;;:64=4=327><5<58h>6h94=325><3<5;>o64<4=31a><4<5;9h64<4=31f><0<5;9m6484=0c4><2<58k=64=4=0gf><5<58?=64=4}r3be?6=9;q6=l;5979>5d0=1=16><?5949>5g5=m>16>=85959>66?=1;16>>o5929>613=1;16>>l5929>66e=1<16>>k5959>66`=1<16=l65979>5d1=1<16>=:5979>5`e=1:16=8<5929>500=1=1v�<o6:1827~;6i<02;63=108:3>;6j80n;63=078:7>;5;h02>63=448:7>;6=;02863=3c8:0>;5;j02863=3d8:1>;5;o02863>a98:3>;6i>02:63>a78:1>;6<l02863=058:3>;6j;02>63>e`8:7>;6=?0296s|1b094?5|58i36ih4=0a4><3<5;9;64;4}r03b?6=:r79<l4kf:?16c<>?2wx>=o50;1x97762ml01?>n:848977720<0q~?ia;296~;5890oj63>fg8:7>{t:;21<7=t=30;>`1<5;8j64=4=30`><2<uz8957>52z?16=<1;279>l4kf:�p67c=838p1?<k:718974a2ml0q~<<4;296~;5;:0=?63=348gb>{t::=1<7<t=315>35<5;936ih4}r026?6=:r7:m;4kf:?21d<>>2wx><=50;7x94g02ml01<;j:848976220>01?:>:878972520?0q~<>4;291~;6i10oj63>638:2>;58<02963=458:1>;5<?0296s|1b394?74s4;h;7ji;<3b4??034884779;<3a6??034;nm779;<3fg??134;ni779;<3e4??134;m>779;<3e0??134;m:779;<3e<??134;i8778;<3aa??034;h<778;<3a2??034;i4778;<3ae??034;io778;|q176<728>p1?=<:d58975?20801<o?:818975720801<l=:81894cf20>01<kl:86894cb20>01<h?:86894`520>01<h;:86894`120>01<h7:86894d320801<lj:80894e720801<l9:80894d?20801<ln:80894dd2080q~<<1;2964}:::;1i:521e09=0=:9m>158521e49=0=:9m2158521ec9=0=:9mi158521eg9=0=:9l:1585222c9=1=::=?1595225;9=6=::=i159522539=6=::=815>522569=6=::=<15>5222`9=0=:::i15>5222g9=7=:::l15>5217`9=3=:9?<158521709=0=:9<o1585214c9=0=:9=o15;522279=6=:9k81595225:9=1=::=h159521409=3=:9<<15:5rs30g>5<6<r79>i4j7:?170<>:279<<462:?147<>;27:9?465:?213<>>27::o465:?223<><27::?464:?21`<><27:9l464:?20`<>=27:h?464:?2`1<><27:h;464:?2`=<><27:hl464:?2`f<><27:hh464:?2a5<><2wx=h?50;1x94c>2l=01<kn:808942b2080q~?j2;297~;6mk0n;63>eb8:6>;6=;02>6s|1d194?5|58oo6h94=0gf><4<58?=64<4}r3f0?6=;r7:ik4j7:?21d<>:27:j=462:�p5`3=839p1<h>:d58943b20801<h=:808yv7b>3:1?v3>f28f3>;6>;02>63>f58:6>{t9l=1<7=t=0d6>`1<58<=64<4=0d5><4<uz;n47>53z?2b2<b?27::o462:?2b=<>:2wx>=750;0x97772ml01?=7:878yv45=3:1?v3=278gb>;5;102863=2g8:1>{t9o31<7?>{<3eb?ba34;o>779;<3g0??134;o:779;<3g<??134;om779;<3gg??134;oi779;<3f4??134;i>779;<3a0??134;ii779;<3`4??134;i:779;<3a<??134;im779;<3ag??13ty:o44?:4y>53`=1?16=i?5e69>5a4=1:16>=>5949>5f>=1<1v�<mn:186�870:33=70?k3;g4?87c<33870<?0;;5?87d033=7p}>cc83>0}:9>?15;521e79a2=:9m<15>522129=2=:9j215:5rs0a`>5<0s4;<4779;<3`7??234;h877;;<3g3?c034;o477<;<3ef??334;mo77;;|q2ga<72>q6=:l5979>5f5=1=16=n:5949>5a?=m>16=io5929>5cd=1<16=km5949~w4eb290<w0?8e;;5?87d>33>70?kb;g4?87ck33870?id;;6?87am33>70?l5;;6?xu6ko0;6:u21939=3=:9j<159521ef9a2=:9mo15>521gf9=3=:9oo15;521b79=3=z{8n;6=48{<3;0??134;h:778;<3gb?c034;n<77<;<3e`??034;mi778;<3`1??03ty9=84?:2y>64b=m>16=;h5949>5f>=1;1v�??9:180�846m3o<70?82;;6?87d03387p}=1683>6}::8l1i:521679=0=:9j21595rs33;>5<3s489<7k8;<34<??234;h?77<;<3`0??43ty9=44?:5y>677=m>16=:l5949>5f5=1;16=n:5939~w77f290?w0<=2;g4?870m33>70?l6;;5?87d=3397p}=1c83>1}::;91i:521939=0=:9j<15>521b79=6=z{;;h6=4;{<010?c034;3877:;<3`2??534;h977;;|q2<7<72;q6=5=5dg9>5=2=1>1v�<9i:181�87?83nm70?71;;4?xu6?j0;6?u216f9`c=:9>o15:5rs05:>5<5s4;<m7ji;<34f??03ty:;;4?:3y>521=lo16=:65969~w4142909w0?84;fe?870=33<7p}>7183>7}:9>;1hk521609=2=z{8<o6=4={<35a?ba34;=j778;|q22<<72;q6=;o5dg9>53e=1?1v�<8n:181�871j3nm70?9c;;4?xu6><0;6?u21749`c=:9?215:5rs045>5<5s4;=;7ji;<35<??13ty::<4?:3y>534=lo16=;:5969~w4052909w0?93;fe?871<33=7p}>5e83>7}:9<o1hk521729=2=z{8?n6=4={<36b?ba34;=<779;|q21<<72;q6=8o5dg9>50e=1>1v�<;n:181�872j3nm70?:c;;5?xu6=<0;6?u21449`c=:9<215:5rs075>5<5s4;>;7ji;<36<??13ty:9<4?:3y>504=lo16=8:5969~w4352909w0?:3;fe?872<33=7p}>4e83>7}:9=o1hk521429=0=z{8>n6=4={<37b?ba34;><77;;|qb2?6=:r79ik4kf:?1a`<>?2wxn?4?:3y>606=lo16>9h5969~wgg=838p1?;7:ed8973020<0q~<6f;296~;51k0oj63=a08:0>{t:h;1<7<t=3c2>a`<5;k?64:4}r0b6?6=:r79m?4kf:?1e6<>=2wx>l=50;0x97g42ml01?o;:878yvb22909w0<n0;fe?84>n33<7p}=0583>7}::9>1hk522149=2=z{hi1<7=t=32a>a`<5;:j64:4=333><4<uzko6=4<{<03g?ba348:<77<;<03e??23tyji7>52z?2bg<cn27:jk466:�pec<72;q6=km5dg9>5c`=1;1v�o>50;1x94e42ml01<m8:80897572090q~l>:180�87d<3nm70?l7;;0?844833?7p}m3;296~;5:>0oj63=278:3>{t9;;1<7<t^002?875:33:7p}>2g83>7}Y9;l01<=8:838yv75l3:1>vP>2e9>560=181v�<<l:181�[75k27:?8461:�p57d=838pR<<m;<300??63ty:>l4?:3y]57g<589864?4}r31=?6=:rT:>4521209=4=z{8836=4={_31<>;6;802=6s|13594?4|V88<70?<0;;2?xu5il0;6?uQ2`g897ga20;0q~<:3;296~X5=:16>8:5909~w4g52909wS?n2:?2e6<>92wx=9=50;0xZ42434;?n7ji;|q204<72;qU=9?4=06b>a`<uz;?<7>52z\205=:9=31hk5rs01e>5<5sW;8j63>498gb>{t9:o1<7<t^01f?873?3nm7p}>3e83>7}Y9:n01<:9:ed8yv74k3:1>vP>3b9>513=lo1v�<=m:181�[74j27:894kf:�p6g>=838pR?l7;<0`4?ba3ty9n;4?:3y]6g0<5;hm6ih4}r0a1?6=:rT9n8522cg9`c=z{;h?6=4={_0a0>;5jm0oj6s|2c194?4|V;h870<mc;fe?xu5j;0;6?uQ2c0897de2ml0q~<m1;296~X5j816>oo5dg9~w7d72909wS<m0:?1f<<cn2wx=>650;0xZ45?34;857ji;|q1aa<72;qU>hj4=3d3>a`<uz8jo7>52z?1eg<1;279mn4kf:�p604=838p1?;>:71897352ml0q~<<2;296~;5;80=?63=338gb>{tj=0;6?u22139`c=:::81585rsc794?4|5;:96ih4=311><2<uzh=6=4={<033?ba3488977;;|qa3?6=:r79<54kf:?170<>=2wxn54?:3y>650=lo16>=;5979~wg?=838p1<hk:ed894`a20?0q~lm:181�87am3nm70?if;;7?xuek3:1?v3>c48gb>;6k>02:63=318:2>{tjm0;6>u21b49`c=:9j=159522229=2=z{ko1<79t=3;g>a`<5;<?6484=345><0<5;<36484=340><0<5;<>6484=344><0<uzhm6=48{<0:a?ba348=?778;<050??0348=9778;<052??0348=;778;<05<??03ty:il4?:3y>5`?=>:16=ho5dg9~w4cd2909w0?jb;40?87bk3nm7p}>ed83>7}:9ln1:>521dg9`c=z{8l;6=4={<3fb?0434;m<7ji;|q2b7<72;q6=k?5629>5c4=lo1v�<h;:181�87a;3<870?i4;fe?xu6n?0;6?u21g7926=:9o<1hk5rs0d;>5<5s4;m;78<;<3e<?ba3ty9;n4?:3y>62d=>:16>:m5dg9~w7132909w0<83;40?840<3nm7p}=7383>7}::>;1:>522609`c=z{8n96=4={<3g5?0434;o>7ji;|q2`1<72;q6=i=5629>5a2=lo1v�<j9:181�87c=3<870?k6;fe?xu6l10;6?u21e5926=:9m21hk5rs0fb>5<5s4;o578<;<3ge?ba3ty:hn4?:3y>5ad=>:16=im5dg9~w4bb2909w0?kd;40?87cm3nm7p}>e183>7}:9ml1:>521d29`c=z{8h96=4={<3a5?0434;i>7ji;|q2f1<72;q6=o=5629>5g2=lo1v�<l9:181�87e=3<870?m6;fe?xu6j10;6?u21c5926=:9k21hk5rs0`b>5<5s4;i578<;<3ae?ba3ty:nn4?:3y>5gd=>:16=om5dg9~w7>72909w0<8f;40?84?83nm7p}=7d83>7}::>n1:>5226g9`c=z{;=j6=4={<04=?04348<m7ji;|q13=<72;q6>:95629>62>=lo1v�?99:181�840=3<870<86;fe?xu6jl0;6?u21cf926=:9ko1hk5rs0a3>5<5s4;ij78<;<3`4?ba3tyh<7>52z?175<cn279>k466:�p67e=838p1?<m:718974d2ml0q~m>:181�847l3nm70<>0;;6?xud:3:1>v3=0d8gb>;5990286s|c283>3}::>k15;5226:9=3=::><15;522739`c=::1:1595226g9=1=z{j>1<78t=3:3><3<5;=n64;4=341>a`<5;=j6494=35;><1<5;==6494}ra6>5<5s48=?7ji;<04g??13tyh:7>52z?121<cn279;n467:�pg2<72;q6>;;5dg9>622=1?1v�n650;0x97012ml01?9;:858yve>2909w0<97;fe?840:33>7p}la;296~;5>10oj63=738:2>{tkk0;6?u222;9`c=:9k>1595rsba94?4|5;9j6ih4=0`7><5<uzio6=4={<071?ba34;i877:;|q`a?6=:r798:4kf:?2f`<>;2wxok4?:3y>61>=lo16=ok5949~wa6=838p1?:6:ed894db20>0q~j>:181�843i3nm70?l0;;0?xuc:3:1>v3=4c8gb>;6k90286s|d283>7}::=i1hk521b29=0=z{m>1<7<t=36g>a`<58h=64:4}rf5>5<5s488n7ji;<3a2??43tyo;7>52z?17f<cn27:n;465:�p`=<72;q6>>j5dg9>5g>=1:1v�i750;0x975b2ml01<l7:878yvbf2909w0<<f;fe?87e033?7p}kb;296~;5<90oj63>b`8:7>{tlj0;6?u22539`c=:9kk1595rsef94?4|5;>96ih4=0`b><3<uzk<6=4={<077?ba34;io77<;|qb<?6=:r79894kf:?2ff<><2wxm44?:3y>610=lo16=om5949~wdg=838p1?;j:ed8973c2080q~om:181�842n3nm70<:d;;0?x{i???1<7?tHg:8yk11>3:1=vFi8:�m331=83;pDk64}o55<?6=9rBm46sa77;94?7|@o20qc99a;295~Na02we;;l50;3xLc><ug==o7>51zJe<>{i??n1<7?tHg:8yk11m3:1=vFi8:�m33`=83;pDk64}o544?6=9rBm46sa76394?7|@o20qc982;295~Na02we;:=50;3xLc><ug=<87>51zJe<>{i?>?1<7?tHg:8yk10>3:1=vFi8:�m321=83;pDk64}o54<?6=9rBm46sa76;94?7|@o20qc98a;295~Na02we;:l50;3xLc><ug=<o7>51zJe<>{i?>n1<7?tHg:8yk10m3:1=vFi8:�m32`=83;pDk64}o5;4?6=9rBm46sa79394?7|@o20qc972;295~Na02we;5=50;3xLc><ug=387>51zJe<>{i?1?1<7?tHg:8yk1?>3:1=vFi8:�m3=1=83;pDk64}o5;<?6=9rBm46sa79;94?7|@o20qc97a;295~Na02we;5l50;3xLc><ug=3o7>51zJe<>{i?1n1<7?tHg:8yk1?m3:1=vFi8:�m3=`=83;pDk64}o5:4?6=9rBm46sa78394?7|@o20qc962;295~Na02we;4=50;3xLc><ug=287>51zJe<>{i?0?1<7?tHg:8yk1>>3:1=vFi8:�m3<1=83;pDk64}o5:<?6=9rBm46sa78;94?7|@o20qc96a;295~Na02we;4l50;3xLc><ug=2o7>51zJe<>{i?0n1<7?tHg:8yk1>m3:1=vFi8:�m3<`=83;pDk64}o5b4?6=9rBm46sa7`394?7|@o20qc9n2;295~Na02we;l=50;3xLc><ug=j87>51zJe<>{i?h?1<7?tHg:8yk1f>3:1=vFi8:�m3d1=83;pDk64}o5b<?6=9rBm46sa7`;94?7|@o20qc9na;295~Na02we;ll50;3xLc><ug=jo7>51zJe<>{i?hn1<7?tHg:8yk1fm3:1=vFi8:�m3d`=83;pDk64}o5a4?6=9rBm46sa7c394?7|@o20qc9m2;295~Na02we;o=50;3xLc><ug=i87>51zJe<>{i?k?1<7?tHg:8yk1e>3:1=vFi8:�m3g1=83;pDk64}o5a<?6=9rBm46sa7c;94?7|@o20qc9ma;295~Na02we;ol50;3xLc><ug=io7>51zJe<>{i?kn1<7?tHg:8yk1em3:1=vFi8:�m3g`=83;pDk64}o5`4?6=9rBm46sa7b394?7|@o20qc9l2;295~Na02we;n=50;3xLc><ug=h87>51zJe<>{i?j?1<7?tHg:8yk1d>3:1=vFi8:�m3f1=83;pDk64}o5`<?6=9rBm46sa7b;94?7|@o20qc9la;295~Na02we;nl50;3xLc><ug=ho7>51zJe<>{i?jn1<7?tHg:8yk1dm3:1=vFi8:�m3f`=83;pDk64}o5g4?6=9rBm46sa7e394?7|@o20qc9k2;295~Na02we;i=50;3xLc><ug=o87>51zJe<>{i?m?1<7?tHg:8yk1c>3:1=vFi8:�m3a1=83;pDk64}o5g<?6=9rBm46sa7e;94?7|@o20qc9ka;295~Na02we;il50;3xLc><ug=oo7>51zJe<>{i?mn1<7?tHg:8yk1cm3:1=vFi8:�m3a`=83;pDk64}o5f4?6=9rBm46sa7d394?7|@o20qc9j2;295~Na02we;h=50;3xLc><ug=n87>51zJe<>{i?l?1<7?tHg:8yk1b>3:1=vFi8:�m3`1=83;pDk64}o5f<?6=9rBm46sa7d;94?7|@o20qc9ja;295~Na02we;hl50;3xLc><ug=no7>51zJe<>{i?ln1<7?tHg:8yk1bm3:1=vFi8:�m3``=83;pDk64}o5e4?6=9rBm46sa7g394?7|@o20qc9i2;295~Na02we;k=50;3xLc><ug=m87>51zJe<>{i?o?1<7?tHg:8yk1a>3:1=vFi8:�m3c1=83;pDk64}o5e<?6=9rBm46sa7g;94?7|@o20qc9ia;295~Na02we;kl50;3xLc><ug=mo7>51zJe<>{i?on1<7?tHg:8yk1am3:1=vFi8:�m3c`=83;pDk64}o:34?6=9rBm46sa81394?7|@o20qc6?2;295~Na02we4==50;3xLc><ug2;87>51zJe<>{i09?1<7?tHg:8yk>7>3:1=vFi8:�m<51=83;pDk64}o:3<?6=9rBm46sa81;94?7|@o20qc6?a;295~Na02we4=l50;3xLc><ug2;o7>51zJe<>{i09n1<7?tHg:8yk>7m3:1=vFi8:�m<5`=83;pDk64}o:24?6=9rBm46sa80394?7|@o20qc6>2;295~Na02we4<=50;3xLc><ug2:87>51zJe<>{i08?1<7?tHg:8yk>6>3:1=vFi8:�m<41=83;pDk64}o:2<?6=9rBm46sa80;94?7|@o20qc6>a;295~Na02we4<l50;3xLc><ug2:o7>51zJe<>{i08n1<7?tHg:8yk>6m3:1=vFi8:�m<4`=83;pDk64}o:14?6=9rBm46sa83394?7|@o20qc6=2;295~Na02we4?=50;3xLc><ug2987>51zJe<>{i0;?1<7?tHg:8yk>5>3:1=vFi8:�m<71=83;pDk64}o:1<?6=9rBm46sa83;94?7|@o20qc6=a;295~Na02we4?l50;3xLc><ug29o7>51zJe<>{i0;n1<7?tHg:8yk>5m3:1=vFi8:�m<7`=83;pDk64}o:04?6=9rBm46sa82394?7|@o20qc6<2;295~Na02we4>=50;3xLc><ug2887>51zJe<>{i0:?1<7?tHg:8yk>4>3:1=vFi8:�m<61=83;pDk64}o:0<?6=9rBm46sa82;94?7|@o20qc6<a;295~Na02we4>l50;3xLc><ug28o7>51zJe<>{i0:n1<7?tHg:8yk>4m3:1=vFi8:�m<6`=83;pDk64}o:74?6=9rBm46sa85394?7|@o20qc6;2;295~Na02we49=50;3xLc><ug2?87>51zJe<>{i0=?1<7?tHg:8yk>3>3:1=vFi8:�m<11=83;pDk64}o:7<?6=9rBm46sa85;94?7|@o20qc6;a;295~Na02we49l50;3xLc><ug2?o7>51zJe<>{i0=n1<7?tHg:8yk>3m3:1=vFi8:�m<1`=83;pDk64}o:64?6=9rBm46sa84394?7|@o20qc6:2;295~Na02we48=50;3xLc><ug2>87>51zJe<>{i0<?1<7?tHg:8yk>2>3:1=vFi8:�m<01=83;pDk64}o:6<?6=9rBm46sa84;94?7|@o20qc6:a;295~Na02we48l50;3xLc><ug2>o7>51zJe<>{i0<n1<7?tHg:8yk>2m3:1=vFi8:�m<0`=83;pDk64}o:54?6=9rBm46sa87394?7|@o20qc692;295~Na02we4;=50;3xLc><ug2=87>51zJe<>{i0??1<7?tHg:8yk>1>3:1=vFi8:�m<31=83;pDk64}o:5<?6=9rBm46sa87;94?7|@o20qc69a;295~Na02we4;l50;3xLc><ug2=o7>51zJe<>{i0?n1<7?tHg:8yk>1m3:1=vFi8:�m<3`=83;pDk64}o:44?6=9rBm46sa86394?7|@o20qc682;295~Na02we4:=50;3xLc><ug2<87>51zJe<>{i0>?1<7?tHg:8yk>0>3:1=vFi8:�m<21=83;pDk64}o:4<?6=9rBm46sa86;94?7|@o20qc68a;295~Na02we4:l50;3xLc><ug2<o7>51zJe<>{i0>n1<7?tHg:8yk>0m3:1=vFi8:�m<2`=83;pDk64}o:;4?6=9rBm46sa89394?7|@o20qc672;295~Na02we45=50;3xLc><ug2387>51zJe<>{i01?1<7?tHg:8yk>?>3:1=vFi8:�m<=1=83;pDk64}o:;<?6=9rBm46sa89;94?7|@o20qc67a;295~Na02we45l50;3xLc><ug23o7>51zJe<>{i01n1<7?tHg:8yk>?m3:1=vFi8:�m<=`=83;pDk64}o::4?6=9rBm46sa88394?7|@o20qc662;295~Na02we44=50;3xLc><ug2287>51zJe<>{i00?1<7?tHg:8yk>>>3:1=vFi8:�m<<1=83;pDk64}o::<?6=9rBm46sa88;94?7|@o20qc66a;295~Na02we44l50;3xLc><ug22o7>51zJe<>{i00n1<7?tHg:8yk>>m3:1=vFi8:�~yxFGKr3o57mkc2f46xFGJr:vLM^t}AB

heap.prj

verilog work "reg8e.v" verilog work "pe4_2.v" verilog work "mux3_8bit.v" verilog work "mem16x8.v" verilog work "ctrlpush.v" verilog work "ctrlpop.v" verilog work "cntr8.v" verilog work "heap.v"

heap.stx

heap.syr

Release 14.7 - xst P.20131013 (nt64) Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. --> Parameter TMPDIR set to xst/projnav.tmp Total REAL time to Xst completion: 1.00 secs Total CPU time to Xst completion: 0.46 secs --> Parameter xsthdpdir set to xst Total REAL time to Xst completion: 1.00 secs Total CPU time to Xst completion: 0.46 secs --> Reading design: heap.prj TABLE OF CONTENTS 1) Synthesis Options Summary 2) HDL Parsing 3) HDL Elaboration 4) HDL Synthesis 4.1) HDL Synthesis Report 5) Advanced HDL Synthesis 5.1) Advanced HDL Synthesis Report 6) Low Level Synthesis 7) Partition Report 8) Design Summary 8.1) Primitive and Black Box Usage 8.2) Device utilization summary 8.3) Partition Resource Summary 8.4) Timing Report 8.4.1) Clock Information 8.4.2) Asynchronous Control Signals Information 8.4.3) Timing Summary 8.4.4) Timing Details 8.4.5) Cross Clock Domains Report ========================================================================= * Synthesis Options Summary * ========================================================================= ---- Source Parameters Input File Name : "heap.prj" Ignore Synthesis Constraint File : NO ---- Target Parameters Output File Name : "heap" Output Format : NGC Target Device : xc6slx16-3-csg324 ---- Source Options Top Module Name : heap Automatic FSM Extraction : YES FSM Encoding Algorithm : Auto Safe Implementation : No FSM Style : LUT RAM Extraction : Yes RAM Style : Auto ROM Extraction : Yes Shift Register Extraction : YES ROM Style : Auto Resource Sharing : YES Asynchronous To Synchronous : NO Shift Register Minimum Size : 2 Use DSP Block : Auto Automatic Register Balancing : No ---- Target Options LUT Combining : Auto Reduce Control Sets : Auto Add IO Buffers : YES Global Maximum Fanout : 100000 Add Generic Clock Buffer(BUFG) : 16 Register Duplication : YES Optimize Instantiated Primitives : NO Use Clock Enable : Auto Use Synchronous Set : Auto Use Synchronous Reset : Auto Pack IO Registers into IOBs : Auto Equivalent register Removal : YES ---- General Options Optimization Goal : Speed Optimization Effort : 1 Power Reduction : NO Keep Hierarchy : No Netlist Hierarchy : As_Optimized RTL Output : Yes Global Optimization : AllClockNets Read Cores : YES Write Timing Constraints : NO Cross Clock Analysis : NO Hierarchy Separator : / Bus Delimiter : <> Case Specifier : Maintain Slice Utilization Ratio : 100 BRAM Utilization Ratio : 100 DSP48 Utilization Ratio : 100 Auto BRAM Packing : NO Slice Utilization Ratio Delta : 5 ========================================================================= ========================================================================= * HDL Parsing * ========================================================================= Analyzing Verilog file "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\reg8e.v" into library work Parsing module <reg8e>. Analyzing Verilog file "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\pe4_2.v" into library work Parsing module <pe4_2>. Analyzing Verilog file "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\mux3_8bit.v" into library work Parsing module <mux3_8bit>. Analyzing Verilog file "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\mem16x8.v" into library work Parsing module <mem256x8>. Analyzing Verilog file "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpush.v" into library work Parsing module <ctrlpush>. Analyzing Verilog file "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpop.v" into library work Parsing module <ctrlpop>. Analyzing Verilog file "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\cntr8.v" into library work Parsing module <cntr8>. Analyzing Verilog file "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\heap.v" into library work Parsing module <heap>. ========================================================================= * HDL Elaboration * ========================================================================= Elaborating module <heap>. Elaborating module <cntr8>. WARNING:HDLCompiler:413 - "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\cntr8.v" Line 33: Result of 9-bit expression is truncated to fit in 8-bit target. WARNING:HDLCompiler:413 - "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\cntr8.v" Line 34: Result of 32-bit expression is truncated to fit in 8-bit target. Elaborating module <mem256x8>. Elaborating module <pe4_2>. Elaborating module <mux3_8bit>. Elaborating module <ctrlpush>. WARNING:HDLCompiler:413 - "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpush.v" Line 49: Result of 32-bit expression is truncated to fit in 8-bit target. Elaborating module <reg8e>. WARNING:HDLCompiler:1127 - "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpush.v" Line 54: Assignment to qidle ignored, since the identifier is never used Elaborating module <ctrlpop>. WARNING:HDLCompiler:1127 - "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpop.v" Line 42: Assignment to qidle ignored, since the identifier is never used WARNING:HDLCompiler:413 - "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpop.v" Line 54: Result of 32-bit expression is truncated to fit in 8-bit target. WARNING:HDLCompiler:413 - "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpop.v" Line 57: Result of 32-bit expression is truncated to fit in 8-bit target. ========================================================================= * HDL Synthesis * ========================================================================= Synthesizing Unit <heap>. Related source file is "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\heap.v". INFO:Xst:3210 - "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\heap.v" line 54: Output port <V> of the instance <goenc> is unconnected or connected to loadless signal. Found 1-bit register for signal <popworking>. Found 1-bit register for signal <done>. Found 1-bit register for signal <pushworking>. Found 8-bit comparator greater for signal <size[7]_PWR_1_o_LessThan_9_o> created at line 85 Summary: inferred 3 D-type flip-flop(s). inferred 1 Comparator(s). Unit <heap> synthesized. Synthesizing Unit <cntr8>. Related source file is "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\cntr8.v". Found 8-bit register for signal <q_fb>. Found 8-bit adder for signal <q_fb[7]_GND_2_o_add_3_OUT> created at line 33. Found 8-bit subtractor for signal <GND_2_o_GND_2_o_sub_6_OUT<7:0>> created at line 34. Summary: inferred 1 Adder/Subtractor(s). inferred 8 D-type flip-flop(s). Unit <cntr8> synthesized. Synthesizing Unit <mem256x8>. Related source file is "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\mem16x8.v". Found 256x8-bit single-port RAM <Mram_mem_array> for signal <mem_array>. Summary: inferred 1 RAM(s). Unit <mem256x8> synthesized. Synthesizing Unit <pe4_2>. Related source file is "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\pe4_2.v". Summary: inferred 1 Multiplexer(s). Unit <pe4_2> synthesized. Synthesizing Unit <mux3_8bit>. Related source file is "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\mux3_8bit.v". Summary: inferred 2 Multiplexer(s). Unit <mux3_8bit> synthesized. Synthesizing Unit <ctrlpush>. Related source file is "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpush.v". Found 5-bit register for signal <state>. Found finite state machine <FSM_0> for signal <state>. ----------------------------------------------------------------------- | States | 5 | | Transitions | 9 | | Inputs | 4 | | Outputs | 4 | | Clock | clk (rising_edge) | | Reset | reset (positive) | | Reset type | synchronous | | Reset State | 10000 | | Encoding | auto | | Implementation | LUT | ----------------------------------------------------------------------- Found 9-bit adder for signal <n0066> created at line 49. Found 8-bit comparator greater for signal <dinltp> created at line 48 Found 9-bit comparator greater for signal <GND_6_o_BUS_0002_LessThan_19_o> created at line 70 Summary: inferred 1 Adder/Subtractor(s). inferred 2 Comparator(s). inferred 3 Multiplexer(s). inferred 1 Finite State Machine(s). Unit <ctrlpush> synthesized. Synthesizing Unit <reg8e>. Related source file is "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\reg8e.v". Found 8-bit register for signal <q>. Summary: inferred 8 D-type flip-flop(s). Unit <reg8e> synthesized. Synthesizing Unit <ctrlpop>. Related source file is "C:\Users\Mark\Dropbox\EE209\Lab\heap_sol\ctrlpop.v". Found 6-bit register for signal <state>. Found finite state machine <FSM_1> for signal <state>. ----------------------------------------------------------------------- | States | 6 | | Transitions | 11 | | Inputs | 5 | | Outputs | 5 | | Clock | clk (rising_edge) | | Reset | reset (positive) | | Reset type | synchronous | | Reset State | 100000 | | Encoding | auto | | Implementation | LUT | ----------------------------------------------------------------------- Found 9-bit adder for signal <n0081> created at line 54. Found 8-bit comparator greater for signal <sizegt2> created at line 44 Found 9-bit comparator greater for signal <n0002> created at line 45 Found 8-bit comparator greater for signal <n0004> created at line 46 Found 8-bit comparator greater for signal <cltp> created at line 47 Found 8-bit comparator greater for signal <mdout_lt_c> created at line 59 Summary: inferred 1 Adder/Subtractor(s). inferred 5 Comparator(s). inferred 7 Multiplexer(s). inferred 1 Finite State Machine(s). Unit <ctrlpop> synthesized. ========================================================================= HDL Synthesis Report Macro Statistics # RAMs : 1 256x8-bit single-port RAM : 1 # Adders/Subtractors : 3 8-bit addsub : 1 9-bit adder : 2 # Registers : 10 1-bit register : 3 8-bit register : 7 # Comparators : 8 8-bit comparator greater : 6 9-bit comparator greater : 2 # Multiplexers : 15 2-bit 2-to-1 multiplexer : 1 32-bit 2-to-1 multiplexer : 6 8-bit 2-to-1 multiplexer : 8 # FSMs : 2 ========================================================================= ========================================================================= * Advanced HDL Synthesis * ========================================================================= Synthesizing (advanced) Unit <cntr8>. The following registers are absorbed into counter <q_fb>: 1 register on signal <q_fb>. Unit <cntr8> synthesized (advanced). Synthesizing (advanced) Unit <mem256x8>. INFO:Xst:3218 - HDL ADVISOR - The RAM <Mram_mem_array> will be implemented on LUTs either because you have described an asynchronous read or because of currently unsupported block RAM features. If you have described an asynchronous read, making it synchronous would allow you to take advantage of available block RAM resources, for optimized device usage and improved timings. Please refer to your documentation for coding guidelines. ----------------------------------------------------------------------- | ram_type | Distributed | | ----------------------------------------------------------------------- | Port A | | aspect ratio | 256-word x 8-bit | | | clkA | connected to signal <clk> | rise | | weA | connected to signal <wen> | high | | addrA | connected to signal <addr> | | | diA | connected to signal <din> | | | doA | connected to internal node | | ----------------------------------------------------------------------- Unit <mem256x8> synthesized (advanced). ========================================================================= Advanced HDL Synthesis Report Macro Statistics # RAMs : 1 256x8-bit single-port distributed RAM : 1 # Adders/Subtractors : 2 9-bit adder : 2 # Counters : 1 8-bit updown counter : 1 # Registers : 51 Flip-Flops : 51 # Comparators : 8 8-bit comparator greater : 6 9-bit comparator greater : 2 # Multiplexers : 14 32-bit 2-to-1 multiplexer : 6 8-bit 2-to-1 multiplexer : 8 # FSMs : 2 ========================================================================= ========================================================================= * Low Level Synthesis * ========================================================================= Analyzing FSM <MFsm> for best encoding. Optimizing FSM <push_control/FSM_0> on signal <state[1:3]> with gray encoding. ------------------- State | Encoding ------------------- 10000 | 000 00001 | 001 00100 | 011 00010 | 010 01000 | 110 ------------------- Analyzing FSM <MFsm> for best encoding. Optimizing FSM <pop_control/FSM_1> on signal <state[1:6]> with user encoding. -------------------- State | Encoding -------------------- 100000 | 100000 000001 | 000001 001000 | 001000 000010 | 000010 000100 | 000100 010000 | 010000 -------------------- Optimizing unit <reg8e> ... Optimizing unit <heap> ... Optimizing unit <ctrlpush> ... Optimizing unit <ctrlpop> ... Mapping all equations... Building and optimizing final netlist ... Found area constraint ratio of 100 (+ 5) on block heap, actual ratio is 1. Final Macro Processing ... ========================================================================= Final Register Report Macro Statistics # Registers : 68 Flip-Flops : 68 ========================================================================= ========================================================================= * Partition Report * ========================================================================= Partition Implementation Status ------------------------------- No Partitions were found in this design. ------------------------------- ========================================================================= * Design Summary * ========================================================================= Top Level Output File Name : heap.ngc Primitive and Black Box Usage: ------------------------------ # BELS : 196 # INV : 1 # LUT2 : 18 # LUT3 : 6 # LUT4 : 33 # LUT5 : 51 # LUT6 : 71 # MUXCY : 7 # MUXF7 : 1 # XORCY : 8 # FlipFlops/Latches : 68 # FD : 3 # FDR : 40 # FDRE : 24 # FDS : 1 # RAMS : 8 # RAM256X1S : 8 # Clock Buffers : 1 # BUFGP : 1 # IO Buffers : 29 # IBUF : 11 # OBUF : 18 Device utilization summary: --------------------------- Selected Device : 6slx16csg324-3 Slice Logic Utilization: Number of Slice Registers: 68 out of 18224 0% Number of Slice LUTs: 212 out of 9112 2% Number used as Logic: 180 out of 9112 1% Number used as Memory: 32 out of 2176 1% Number used as RAM: 32 Slice Logic Distribution: Number of LUT Flip Flop pairs used: 220 Number with an unused Flip Flop: 152 out of 220 69% Number with an unused LUT: 8 out of 220 3% Number of fully used LUT-FF pairs: 60 out of 220 27% Number of unique control sets: 5 IO Utilization: Number of IOs: 30 Number of bonded IOBs: 30 out of 232 12% Specific Feature Utilization: Number of BUFG/BUFGCTRLs: 1 out of 16 6% --------------------------- Partition Resource Summary: --------------------------- No Partitions were found in this design. --------------------------- ========================================================================= Timing Report NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE. FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT GENERATED AFTER PLACE-and-ROUTE. Clock Information: ------------------ -----------------------------------+------------------------+-------+ Clock Signal | Clock buffer(FF name) | Load | -----------------------------------+------------------------+-------+ clk | BUFGP | 76 | -----------------------------------+------------------------+-------+ Asynchronous Control Signals Information: ---------------------------------------- No asynchronous control signals found in this design Timing Summary: --------------- Speed Grade: -3 Minimum period: 4.772ns (Maximum Frequency: 209.558MHz) Minimum input arrival time before clock: 5.055ns Maximum output required time after clock: 5.887ns Maximum combinational path delay: No path found Timing Details: --------------- All values displayed in nanoseconds (ns) ========================================================================= Timing constraint: Default period analysis for Clock 'clk' Clock period: 4.772ns (frequency: 209.558MHz) Total number of paths / destination ports: 2791 / 156 ------------------------------------------------------------------------- Delay: 4.772ns (Levels of Logic = 3) Source: pop_control/preg/q_7 (FF) Destination: hmem/Mram_mem_array1 (RAM) Source Clock: clk rising Destination Clock: clk rising Data Path: pop_control/preg/q_7 to hmem/Mram_mem_array1 Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) ---------------------------------------- ------------ FDRE:C->Q 3 0.447 1.015 pop_control/preg/q_7 (pop_control/preg/q_7) LUT6:I0->O 2 0.203 0.845 pop_control/cltp1_SW3 (N43) LUT5:I2->O 18 0.205 1.050 pop_control/cltp21 (pop_control/cltp) LUT6:I5->O 8 0.205 0.802 mwen1 (mwen) RAM256X1S:WE 0.000 hmem/Mram_mem_array1 ---------------------------------------- Total 4.772ns (1.060ns logic, 3.712ns route) (22.2% logic, 77.8% route) ========================================================================= Timing constraint: Default OFFSET IN BEFORE for Clock 'clk' Total number of paths / destination ports: 205 / 88 ------------------------------------------------------------------------- Offset: 5.055ns (Levels of Logic = 5) Source: din<0> (PAD) Destination: push_control/state_FSM_FFd2 (FF) Destination Clock: clk rising Data Path: din<0> to push_control/state_FSM_FFd2 Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) ---------------------------------------- ------------ IBUF:I->O 2 1.222 0.981 din_0_IBUF (din_0_IBUF) LUT6:I0->O 1 0.203 0.579 push_control/dinltp2 (push_control/dinltp1) MUXF7:S->O 9 0.148 0.830 push_control/dinltp1 (push_control/dinltp2) LUT5:I4->O 1 0.205 0.580 push_control/state_FSM_FFd2-In11 (push_control/state_FSM_FFd2-In1) LUT6:I5->O 1 0.205 0.000 push_control/state_FSM_FFd2-In6 (push_control/state_FSM_FFd2-In) FDR:D 0.102 push_control/state_FSM_FFd2 ---------------------------------------- Total 5.055ns (2.085ns logic, 2.970ns route) (41.2% logic, 58.8% route) ========================================================================= Timing constraint: Default OFFSET OUT AFTER for Clock 'clk' Total number of paths / destination ports: 19 / 10 ------------------------------------------------------------------------- Offset: 5.887ns (Levels of Logic = 3) Source: size_cntr/q_fb_2 (FF) Destination: valid (PAD) Source Clock: clk rising Data Path: size_cntr/q_fb_2 to valid Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) ---------------------------------------- ------------ FDRE:C->Q 14 0.447 1.302 size_cntr/q_fb_2 (size_cntr/q_fb_2) LUT5:I0->O 1 0.203 0.580 valid1_SW0 (N01) LUT6:I5->O 1 0.205 0.579 valid1 (valid_OBUF) OBUF:I->O 2.571 valid_OBUF (valid) ---------------------------------------- Total 5.887ns (3.426ns logic, 2.461ns route) (58.2% logic, 41.8% route) ========================================================================= Cross Clock Domains Report: -------------------------- Clock to Setup on destination clock clk ---------------+---------+---------+---------+---------+ | Src:Rise| Src:Fall| Src:Rise| Src:Fall| Source Clock |Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall| ---------------+---------+---------+---------+---------+ clk | 4.772| | | | ---------------+---------+---------+---------+---------+ ========================================================================= Total REAL time to Xst completion: 10.00 secs Total CPU time to Xst completion: 9.20 secs --> Total memory usage is 282960 kilobytes Number of errors : 0 ( 0 filtered) Number of warnings : 7 ( 0 filtered) Number of infos : 2 ( 0 filtered)

heap.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 12:03:49 04/03/2017 // Design Name: // Module Name: heap // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module heap( input clk, input reset, input push, input pop, input [7:0] din, output [7:0] dout, output [7:0] size, output done, output valid ); wire [7:0] maddr; wire [7:0] mdin; wire [7:0] mdout; wire mren; wire mwen; wire [7:0] pushmaddr, popmaddr; wire [7:0] pushmdin, popmdin; wire [1:0] opsel; wire pushdone, popdone; wire sizeinc, sizedec; wire pushstart, popstart; reg done_int; reg pushworking, popworking; wire top; // size counter cntr8 size_cntr( .clk(clk), .reset(reset), .inc(sizeinc), .dec(sizedec), .q(size)); // memory mem256x8 hmem( .addr(maddr), .clk(clk), .din(mdin), .dout(mdout), .wen(mwen)); assign dout = mdout; // memory input muxes pe4_2 goenc( .I0(top), .I1(popworking), .I2(pushworking), .I3(1'b0), .Y(opsel), .V()); mux3_8bit hmaddr_mux( .I0(8'd1), .I1(popmaddr), .I2(pushmaddr), .S(opsel), .Y(maddr)); mux3_8bit hmdin_mux( .I0(8'd0), .I1(popmdin), .I2(pushmdin), .S(opsel), .Y(mdin)); assign mwen = pushmwen | popmwen; // control signal generation assign pushstart = push & (size < 8'b11111111); assign popstart = pop & (size != 8'b00000000); always @(posedge clk) begin if(reset == 1) begin pushworking <= 1'b0; popworking <= 1'b0; end else if(pushstart == 1) begin pushworking <= 1'b1; end else if(popstart == 1) begin popworking <= 1'b1; end else if(done_int == 1) begin pushworking <= 1'b0; popworking <= 1'b0; end end // delay done 1 cycle to match with when all values will be written // to memory. always @(posedge clk) begin done_int <= pushdone | popdone | (push & (size == 8'b11111111)) | (pop & (size == 8'b00000000)); end assign done = done_int; assign valid = (size != 8'd0) & ~pushworking & ~popworking ; assign top = ~pushworking & ~popworking; // Push controller ctrlpush push_control( .clk(clk), .reset(reset), .start(pushstart), .mdout(mdout), .size(size), .din(din), .sizeinc(sizeinc), .mwen(pushmwen), .maddr(pushmaddr), .mdin(pushmdin), .done(pushdone) ); // Pop controller ctrlpop pop_control( .clk(clk), .reset(reset), .start(popstart), .mdout(mdout), .size(size), .sizedec(sizedec), .mwen(popmwen), .maddr(popmaddr), .mdin(popmdin), .done(popdone) ); endmodule

heap.wcfg

CLK CLK RESET RESET done_flag done_flag TOP-LEVEL label DISP[7:0] DISP[7:0] UNSIGNEDDECRADIX BTNS[3:0] BTNS[3:0] HEXRADIX SWITCHES[7:0] SWITCHES[7:0] HEXRADIX PBLAZE label address[11:0] address[11:0] HEXRADIX instruction[17:0] instruction[17:0] HEXRADIX port_id[7:0] port_id[7:0] HEXRADIX out_port[7:0] out_port[7:0] HEXRADIX write_strobe write_strobe in_port[7:0] in_port[7:0] HEXRADIX HEAP-ENGINE label dout[7:0] dout[7:0] UNSIGNEDDECRADIX size[7:0] size[7:0] UNSIGNEDDECRADIX din[7:0] din[7:0] UNSIGNEDDECRADIX push push pop pop valid valid done done mydone mydone

heap.xst

set -tmpdir "xst/projnav.tmp" set -xsthdpdir "xst" run -ifn heap.prj -ofn heap -ofmt NGC -p xc6slx16-3-csg324 -top heap -opt_mode Speed -opt_level 1 -power NO -iuc NO -keep_hierarchy No -netlist_hierarchy As_Optimized -rtlview Yes -glob_opt AllClockNets -read_cores YES -write_timing_constraints NO -cross_clock_analysis NO -hierarchy_separator / -bus_delimiter <> -case Maintain -slice_utilization_ratio 100 -bram_utilization_ratio 100 -dsp_utilization_ratio 100 -lc Auto -reduce_control_sets Auto -fsm_extract YES -fsm_encoding Auto -safe_implementation No -fsm_style LUT -ram_extract Yes -ram_style Auto -rom_extract Yes -shreg_extract YES -rom_style Auto -auto_bram_packing NO -resource_sharing YES -async_to_sync NO -shreg_min_size 2 -use_dsp48 Auto -iobuf YES -max_fanout 100000 -bufg 16 -register_duplication YES -register_balancing No -optimize_primitives NO -use_clock_enable Auto -use_sync_set Auto -use_sync_reset Auto -iob Auto -equivalent_register_removal YES -slice_utilization_ratio_maxmargin 5

heap1_sol.gise

11.1

heap2.gise

11.1

heap2.xise

heap2_prog.psm

; $ python2.7 opbasm.py -i sqrt2_prog.psm -t ROM_form_S6_1K_5Aug11.vhd -6 ; btns[0] = PUSH ; btns[1] = POP ; btns[2] = TOP ; btns[3] = SIZE ; Inport addresses: ; 0x00 => {4'b0000,btns} ; 0x01 => switches[7:0] ; 0x02 => {7'b0000000,done} ; 0x03 => dout[7:0] ; 0x04 => size[7:0] ; Outport addresses: ; 0x01 => din[7:0] ; 0x02 => {4'b0000,size,top,pop,push} (operation start signals) ; 0x04 => acknowledge ; 0x08 => display[7:0] ; 0x10 => leds[7:0] load se, 00 ; load opcnt L1: add se, 01 ; increment opcnt output se, 10 ; output to leds L2: input s1, 00 ; read btns ; add your code here

heap2_prog.vhdl

-- ------------------------------------------------------------------------------------------- -- Copyright © 2010-2011, Xilinx, Inc. -- This file contains confidential and proprietary information of Xilinx, Inc. and is -- protected under U.S. and international copyright and other intellectual property laws. ------------------------------------------------------------------------------------------- -- -- Disclaimer: -- This disclaimer is not a license and does not grant any rights to the materials -- distributed herewith. Except as otherwise provided in a valid license issued to -- you by Xilinx, and to the maximum extent permitted by applicable law: (1) THESE -- MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX HEREBY -- DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, -- INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, -- OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable -- (whether in contract or tort, including negligence, or under any other theory -- of liability) for any loss or damage of any kind or nature related to, arising -- under or in connection with these materials, including for any direct, or any -- indirect, special, incidental, or consequential loss or damage (including loss -- of data, profits, goodwill, or any type of loss or damage suffered as a result -- of any action brought by a third party) even if such damage or loss was -- reasonably foreseeable or Xilinx had been advised of the possibility of the same. -- -- CRITICAL APPLICATIONS -- Xilinx products are not designed or intended to be fail-safe, or for use in any -- application requiring fail-safe performance, such as life-support or safety -- devices or systems, Class III medical devices, nuclear facilities, applications -- related to the deployment of airbags, or any other applications that could lead -- to death, personal injury, or severe property or environmental damage -- (individually and collectively, "Critical Applications"). Customer assumes the -- sole risk and liability of any use of Xilinx products in Critical Applications, -- subject only to applicable laws and regulations governing limitations on product -- liability. -- -- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT ALL TIMES. -- ------------------------------------------------------------------------------------------- -- -- -- Production definition of a 1K program for KCPSM6 in a Spartan-6 device using a -- RAMB18WER primitive. -- -- Note: The complete 12-bit address bus is connected to KCPSM6 to facilitate future code -- expansion with minimum changes being required to the hardware description. -- Only the lower 10-bits of the address are actually used for the 1K address range -- 000 to 3FF hex. -- -- Program defined by '{psmname}.psm'. -- -- Generated by KCPSM6 Assembler: 2017-04-17T11:37:58. -- -- Standard IEEE libraries -- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- -- The Unisim Library is used to define Xilinx primitives. It is also used during -- simulation. The source can be viewed at %XILINX%\vhdl\src\unisims\unisim_VCOMP.vhd -- library unisim; use unisim.vcomponents.all; -- -- entity heap2_prog is Port ( address : in std_logic_vector(11 downto 0); instruction : out std_logic_vector(17 downto 0); enable : in std_logic; clk : in std_logic); end heap2_prog; -- architecture low_level_definition of heap2_prog is -- signal address_a : std_logic_vector(13 downto 0); signal data_in_a : std_logic_vector(35 downto 0); signal data_out_a : std_logic_vector(35 downto 0); signal address_b : std_logic_vector(13 downto 0); signal data_in_b : std_logic_vector(35 downto 0); signal data_out_b : std_logic_vector(35 downto 0); signal enable_b : std_logic; signal clk_b : std_logic; signal we_b : std_logic_vector(3 downto 0); -- begin -- address_a <= address(9 downto 0) & "0000"; instruction <= data_out_a(33 downto 32) & data_out_a(15 downto 0); data_in_a <= "0000000000000000000000000000000000" & address(11 downto 10); -- address_b <= "00000000000000"; data_in_b <= "00" & data_out_b(33 downto 32) & "0000000000000000" & data_out_b(15 downto 0); enable_b <= '0'; we_b <= "0000"; clk_b <= '0'; -- -- -- kcpsm6_rom: RAMB16BWER generic map ( DATA_WIDTH_A => 18, DOA_REG => 0, EN_RSTRAM_A => FALSE, INIT_A => X"000000000", RST_PRIORITY_A => "CE", SRVAL_A => X"000000000", WRITE_MODE_A => "WRITE_FIRST", DATA_WIDTH_B => 18, DOB_REG => 0, EN_RSTRAM_B => FALSE, INIT_B => X"000000000", RST_PRIORITY_B => "CE", SRVAL_B => X"000000000", WRITE_MODE_B => "WRITE_FIRST", RSTTYPE => "SYNC", INIT_FILE => "NONE", SIM_COLLISION_CHECK => "ALL", SIM_DEVICE => "SPARTAN6", INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000", INITP_00 => X"00000000000000000000000000000000000000000000B48B4A0C230A30A30D24", INITP_01 => X"0000000000000000000000000000000000000000000000000000000000000000", INITP_02 => X"0000000000000000000000000000000000000000000000000000000000000000", INITP_03 => X"0000000000000000000000000000000000000000000000000000000000000000", INITP_04 => X"0000000000000000000000000000000000000000000000000000000000000000", INITP_05 => X"0000000000000000000000000000000000000000000000000000000000000000", INITP_06 => X"0000000000000000000000000000000000000000000000000000000000000000", INITP_07 => X"0000000000000000000000000000000000000000000000000000000000000000") port map( ADDRA => address_a, ENA => enable, CLKA => clk, DOA => data_out_a(31 downto 0), DOPA => data_out_a(35 downto 32), DIA => data_in_a(31 downto 0), DIPA => data_in_a(35 downto 32), WEA => "0000", REGCEA => '0', RSTA => '0', ADDRB => address_b, ENB => enable_b, CLKB => clk_b, DOB => data_out_b(31 downto 0), DOPB => data_out_b(35 downto 32), DIB => data_in_b(31 downto 0), DIPB => data_in_b(35 downto 32), WEB => we_b, REGCEB => '0', RSTB => '0'); -- -- end low_level_definition; -- ------------------------------------------------------------------------------------ -- -- END OF FILE heap2_prog.vhd -- ------------------------------------------------------------------------------------

heap2_sol.gise

11.1

heap2_top_bitgen.xwbt

INTSTYLE=ise INFILE=C:\Users\Mark\Dropbox\EE209\Lab\heap2_sol\heap2_top.ncd OUTFILE=C:\Users\Mark\Dropbox\EE209\Lab\heap2_sol\heap2_top.bit FAMILY=Spartan6 PART=xc6slx16-3csg324 WORKINGDIR=C:\Users\Mark\Dropbox\EE209\Lab\heap2_sol LICENSE=WebPack USER_INFO=174127445_174127446_210604357_969

heap2_top_guide.ncd

XILINX-XDB 0.1 STUB 0.1 ASCII XILINX-XDM V1.6 ###5840:XlxV32DM 3fe5 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###2600:XlxV32DM 3fd8 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###1796:XlxV32DM 3fe3 6eceNqtm0GP2zYQhX9RYXGGpGy08HGBHhYBkkOPhGNpHSMbSWvLaNpfX0kryo7tpeeNen+fH4ccUuSQPranoqzaUJTH/a5afCs3TSir3aKpm7Ctq/ZQvy62++Lnodwt3v7I1qHZbL8Hx/nvRxW55AwkzRo2M6OZUZNWTeZwgIQHSKMZqUkPN5PxZrJ6HCLJatKpSTxFLd41Vt01Vp2iVh2gwwN06hF000zSkis4QI8H6KcRXGrJTG3KcIQ5HmEe20kvGBkymMA9CCYYJixMOJjwMJHTSka81ptCrG0bQxu5FhKTNF178Tj7gYYjP08xpwsZErcvbDH9uEhjNga0iZsOxmwItKG1qtN4jektqHeg3oP6fE1bQN+tepDcYHLC5IzJLSZ3mNxj8lw4Tt2KGPZVN9kwvQH1BOoZ1FtQ70C9B/Vd3n+V6odPzItUHRdHlDAwQTDBMGFhwsGEh4luo+dRYjwTUgmB3YIHAgYFCAUYBSwKOBSAuzUXDvmPoj614bUNWyPcAF0QCoSEiXWBjOcxOCDcatrXybalVZZlRMJ17l1sIDUzIerxZA5ZSM8aozp8+SuDCSxo6Xd+VCODZZGW2C69CVHH5EEsiA2gHgt2SMQk701v+q8qIjeYnDA5Y3LxlzTKw6GFDBzWHo/Jc0C+7BsjPH5F+ZidhlmBeeHmr5k2Z5BefGRtfj2yLjGb7sjqMH2ssWE+DPpMJW6D+Viw22LtNsdsHDiaHmxWrEeuMBvxhGmwk3WDnawb7GTdYCfrBjtZN9jJusFO1k3cWsq+P8d2c2iln8NBHDLhF7dTt2V4+vIcnp4KI5xtv0K//VkJ94c3nOGVAozXCooISWMYN7Mz2Dm+PIO1mk5iTRqwMg14SINCCcYeUhqT1ngaVqUxa8bFahLBzkhAOyMBbbz41bNexx6ObVO3mg52msR3ysR3Q+IrQel18y2ommsDOSMZ3IzVyGsGxSsHxWsHxWtXE39eTZzWmDXZMICqb5qPmcAAux3L00a4pb2iDG80WFz8NC0lVUtJWsobsfc+QebF1JFIULEqYShp9Xd9+L6vdumt5igKu9dTGY5lm64WXKuHwtdKQoxjl6jrnI7fpjiff5x+9mFa1yULzJCCYQVjk+lxn3GpRPwA6XsZb51PZuJHTPLNzUdQHF01avHwcsWALZPH10um2FfD64oCkhvp4Ea94PL/XqtSq8UdfXzJAMUOmsTPntQkrrAFJBdPuIsbURgxa2ki3z6LxRtIuNtUgXOwG+NuUx2OYDeLu51fb8Ju6aeUHyCCR393SY+bnZ81omY5bhZvnpM3WffI9AvDu4SBCYIJhgkLE3hfeZjIpSve8MF6cGdwqzegnkA9g3oL6h2o96A+X6eeDFzqz5c2GGBQIH3/cheI9zyYESefr9wFppsezMmifeDQPpjeo4NGHm1ZjnZaLrq2ugVDBurR3ydQz6DegnoH6j2oz6Vb0bdmc+hE0v3uKI9/+BBSV3czXkP1RZ6NBoz7jhkwzYF5DmznwG4O7OfAuSozSJUZ1GdGrgTFJ/5b0nCpRQX/tEr+AKlbTUZtyup44ys0tbVVW9s5yUxzZj/9D866acSqacTaafR+76mJkucszTxndeU5CyTHa3tocMYv56MiXFFXZeir3p8+B2dD/eC7fy1/VIS70cf3g5gNPyg/3uiHWnm6Iju+DfEC0fBr6d6P9f+tRHW+ANiI5I+fBF+LGRHbRGYd9/+WYdsl1uJ5W586wVt4+Rq2//S1PgVlVBT11H8/jghV###2140:XlxV32DM 3ff4 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###2104:XlxV32DM 3fd9 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###1608:XlxV32DM 2a7c 630eNqtmV+P4jYUxb/RDP4TJ+msRlpAK1VqX6ruU7WKQjAMIpAoCR3op28S42TYYe1zgad4R79z7Htt7Gtv3RyWet8kS11v1vvnsioyXddF9Vy/bVZNUhVN2uik0vUhb76oV756qSmK8JVrUPFvmh/0lwlVwKgCThUIqkBSBQFVoKiCdh6kQ1DqbJPmyWLTuLFdskybtJskBGMYxjFMYJjEsADDFIa16RVuTO/TRa55hFDJKi9KnkFofmie//j+t+IxhPerwTeKKh3nGUUZjnIcFTgqcTTAUYWj7RoIHWiTZtvuB9ZPrlj6yLwoyn8mP57yepH0f3kqi82+0ZXRZ3S9+fvucMxOMrxVbgdxXnbBw5zU7SEdiyo7iRUkZz+eDmXZdnslp/oWh49ZjW83+JTXx3mpewKj5JbfnVt+b275A3PLH5hbfm9uxd25FffmVjwwt+KBuRX35lbenVt5b27lA3MrH5hb+cvcOo9FE7/eFdWpqyFiEGUU1lNwXLA4ynFU4KjE0QBHFY6GOBrhaAxM13nhtctATHA2Kbt/M8HIkls0gj40hUfOXvEhMTskfoNG4mFYDadLQjxyToicj5NB1wR4GFYj6JIIj1wQIhfj/NE1Cg/DaiRdEuORS0Lk0kYxuUFDmHOrCfgKlCRZWpktnqiQBMXw4EVUMLKCkxWCrGgj997gurvy22b9lvz19c+v/g4u8GTOaB1MaR1MyR3MaB3MyB3MaR3Muw4WiCIv3s0UaApNtZ+S7KdU+xnJfka1n5Ps+9x766b/dFWYxz3Xo2JTFQudNKdSuwc8YOd9nbkGfOw2msAD2BrKbcR8RrZUiDxG3GdkT97YYyR8RsPZ5zGSPqPhKPEYBT6jAEy28hkpW8p5jEKfUWiNuHJxSbpcVtKs4hAAzYuz8JJd7hcIZfPmjLe7d3oA5gO4DxA+QPqAwAcoH+D5j51TUlTJdtutxwzC7P2DhkfOqfsZV9CQFRZZmwDHem26l4tGM7Ne/SA3oPCC3S64QChb4pJoxlOc5hRYUGBJgQMK7LxFnuHh4YvAKoQdymiYdZ9U5omsTKtNc3J5fuS6AfOlj630Olmk+23dF2CuG881vqtJaF1MiV1M6V3MiF3M6F3MiV30xVvok/TFWzdrMUT2z7+ga61z1950qLUtHdO1ax+5AM1OtkLp4cdGVSjXUXGpMLWAY5t4b38aOjmXtv34FyBsrPmv6TGBIQCZzmOEPO+UEcKaUV7bStbdZaIqds/brKx3qmtePYUGbj+ZsKAr6hcIdS7IA8STQZ5DkS/9nqobZ4ZQ9rRkV8/+n3CGubLJcI2AXBnmahMQTyBXjrkOj40x5CowV3v/iSLIVWKuthaPQsg1wFxtlRgpZGGBkzUsrAliyoFfgBpvpzHiKSDP4cU1Qjwl5GmnKQ4RzwDytJMUQ5OkIE97k40DxDOEPO2lNoZ2qQjyjKynQDxjyDMeXtrZJ/rjOff5hLs4Bc19oD1f3tu9tP8w8+HmI8xHmk9gPuo17D7hb2dJ+Nqee+/JJPl9+v1b32Rjk49NMTbl2AzGphqbYd+MXo6ZqvMjUyyIVy//Aw66IKA=###3584:XlxV32DM 3f93 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###5128:XlxV32DM 3fff 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###5416:XlxV32DM 3fff 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###5032:XlxV32DM 3fff 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###4780:XlxV32DM 3fff 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###4840:XlxV32DM 3fff 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###4736:XlxV32DM 3fff 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###4372:XlxV32DM 3fff 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###4884:XlxV32DM 3fff 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###5052:XlxV32DM 3fff 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###4988:XlxV32DM 3fff 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###4912:XlxV32DM 3fff 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###4876:XlxV32DM 3fff 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###6800:XlxV32DM 3fff 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###7156:XlxV32DM 3fff 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###3308:XlxV32DM 3fff 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###1992:XlxV32DM 3fff 7b0eNq9W0uSnDAMvRKyJMCdc+QASdMsZ5fVVO4eMGAM2NiWqFTNrxrrWX/JwvNh4pF7NGyRsGsaRjYIxDzSB7Fp6E0jdWQJp+/P9KmZV7m/T5TBypGZCfsZjaavicYcaMjRsH/O7vnH7Rxf2/rny9orVzOvOH3O3NNw4iz4PELpOHHPECGB0heg9B6FxLzMFujdXyDGAKf53nHCYnlg5mDlJUR5B1bpjp9HtWJna114qUNhRzs/I2f9o0TsUDArETteBofSJlBKtEteu6DwuWblxRy85X2Mjwe022ZR0MkzS+RkK43tpFQJjSw6Y0jqZkeWcwBV9Dxnk0vG2T2B14yDib0okqk6j7tkKl6zGqYy4ARvklltsXBmjxXjLEdNTl+8rTirR2XaM8uHu1uZAhuRYUOw+gr6XcNcv6AdpItQtWs1MbfVJF+tUnrMy+Uy5sWPMOArrnuO2ph2uwUYRX4U2ufv3y/z27av5jV8fyGZl2nGH3+Q4GV+/Jw2eWHbf6NBi79u3QzWLWgtTee16J+7td7tTVwlPrRMQiUpd/zQe3Flp5U4bSNOy+jWDMoCzD65Y6TQlDcU+bYkz4v1RRzFnMSbktpGoPelihSNAPlGAMQFj4KCx4p2gn07YRTthPXtRKto+Y5NiSxysLi1Z49nsiXfZEu+PNbjDUu/0ybo4nvm6bpMMYZ8wcvqdWtKIH4MmkJg4TCxV57DFcFEy1WXzc2QbUnS+b/Gtlaka5chlqLXTUUP16L3toeiZ39/Tyt/JaPNVYDp5/Qs47vgorbEtsvKTS9NtgXarNAEVJDSybo25X+avA1rxnXHwEWz/QteXf/tNAqLRmEczdxHzHLOncRIdqIJ9OJ2nLuElubwG3naZ5KbEz42tzRmwwnpPfaBaqOZ68L0LHg6e9i0nhZfS6Jm6SYr5lbs0oKLJlfpiuTFU9zW0tMpzmrpOfRHEb2N0rNSflbKz0r5WSx/q7R/q7Rf+4j9WqX+WuH+U3509Eaov1r6s//U0p/lr6ePy49K+VHpvyiOv7Zy/6P+OledjDh6jNu9+U/0V+nr6K/RU0tvo/SglB+U8oNSflDKr/Ufo5TfKOU3SvlRKT8q5Uel/KiUv6r6JvrCbNe307nfZl6dOoPLatF2NpVVAj8gLOu7bYS6uIorpIbk8FrOdyl1/JVmL6Te56ESe9VRx0fH0q5tHzxLLEZVnhbXmszT6mgh9YJZ5GlU5SuQmoeLdMaq2OYquc97Lx2atEPqXX7uhX7aV/npOcJspZfHagsoTnYLPatqK4ijFNyEqaK3OFFT1e5X7knJfS29jdBXdBYq6jj3NfQ67s8xu53KjZj/1mkfVVMNUJ4qQaH/Tnku6JTngk55LuiU54JOOVXqlFOlrsp+HN1dHj2dMnqs8lRllacqqzxVWeWpyipnmlY507ZK77VK77XKmbZVzrStcqZtlTNtq4w/+0j8kTB71FGD0vtAGT2XM2nlRBcSE22p9WrpU/zLrFdLnZKelNLLrWeU83zdRM4oJ3JGOZEz7tQB4on0Rl9Xe45vvAOM3IVYf8sIzreJjrIIcYazTlUXl2twbu+lFeMs3rXcktPgLPoZknr2MZfR83ZDrb9oqBZpu411vY9Vj2Q8klEhcXBbLY2Dj2kJH9MSKrQ0nKtmxpf2W4qkwrm/j1eDY/ytSQ0Oryhwg4IPaQcf0g4rM1oNzl1GK8e5z2jlOKmMVm31Iv3QQ/qhh/RDD+kHH9IPPqQffEg/2ooYTDCUub4cKZfrg5mOqo4Fs6XsHXDr74DrcBp/Iz2NYx7ix/w3fhZffCf6jnKc++41mMUqK2EpTi7GSnFyMcaF+sn3LvRQdaaHqnM5zr3FSnHuexe6nMbkUsEDHVkpTsoP3+f3a8J8OJzf8ynl8u8blfFVys99fPm3r+K6MxzfAas6Dv8eWtgnvI/vwoWZeTi+j1dlC7786/BdVP0DpkWjIQ==###2468:XlxV32DM 3fff 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###2832:XlxV32DM 3fff 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###2916:XlxV32DM 3fff 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###2536:XlxV32DM 3fff 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###2648:XlxV32DM 3fff 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###2300:XlxV32DM 3fff 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###2912:XlxV32DM 3fff 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###2880:XlxV32DM 3fff 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###2528:XlxV32DM 3fff 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###2592:XlxV32DM 3fff a08eNqtW8uapSgMfiUhCXhqnmMeoOpclr2bVX397qOICJpAUFdd7YGY/LmQkAj4RKIRX/ShEYgegOCGAWF7Pv31QY+P6dkD39P/LVgYhoHG6W9AKlcnKnQLlaFJhcBMa14HKs9ABQOVsXzOUAGw05r5NwN44MWqcaEoETJUtLiYSMMEnjga0KQBYc0rUJFQcU1UTJQn6Kjgpo/OmKjYC1RsomIKBHIqdJNMGjo2k8oJdLBJx2dUzGluKHjKM8jkBPsdFfaLyX5BoOIveoGWiknRwV7wyJovWaU/PhIfcJoGJj7otHZg5iT8JnOioWJTZDivneVNIepe0M6el/k5ZnY/a28ybbBIwdtg/jfGkP1aCGsnja9rwz5+LWZrTfp7v5ZWLMgza02x1iXc3tM6xOCPcd9+7ebTGyIfIprkDSgsFMLpmO2y2RveARFTUCg1w0qMzyDFwO7zPTxGWjyPs/f7+C5g3/XYdqEliybaDWz7M8R9fBd0cchjv3nJm3wFRZvbI8PjXg8LteJtbckiBdE+prULjzyKtEPfpX2woR9pBPT+/v1jfz6Pr+ELfv8A2i/rP//8B2i+7D//TgJ/fb9+wcG3FBNirvaaUJbjzKIDL9gusy559VDFzqWVi9xU8S2Xfo8+G99gGP+mjK7gUaczuSLqL+h/T+hbu8BvflwB/9M9f+dzDx6TDvZ8YhnfWHsAMS76NYYm3IDBAjLcIFi1vNZkXj4EW+YiAst75KcWx30j5lO2FlbdCXpe/MKWek4RjFtrMh/KI9Ag8pAwS+cOMB5gSruc9OcmK3+zUVRaK9jwwbNW38eDjKaIL5jONWBOHVOcw1j1PVknRx58hjOtPCCxOI8bHrm9RR64tbbkgc0ugdE77mIBsfY0psyecnuKeldhUlkr6bKLPmvbgr2ypytlp1zAfHoKQubgeuQQzjziT9WK37md/zB8Cbv4lTX/chsOHe+SNSlnm8dIKUdgPHIy+2h4HmSZOevQDJdLYnN/ubZ4rtqfW8ambeG8XeqwRu4BPbqonBj7aPCuZP6Ufo8nBqtjPrJz2edD2JdbKVdP+ca+QdAdneKTWP2aZvTdy3fcByr5+EykLZ+WT16+PJOwHfLZMjNXy2eb0YeXz5ZZjFq+ffzQyoeZD/TIl8W8adVbjEWki4EpE9bKm1dlPfKS6nTkZSYhVmrlbvPMyyqff1qpXXcU0p6hvKTtc56X1LOnI3TJ6i9o2F/UsK/kWm0MtHnwXu60T8yZ2/JvNNZooNO3lmdiKvLtna1uEcYbRyxu2/uoLJwvt5/nqSy4vQ43/31UbLoVNgwVUt7n1nEh9a1wDRctlToupO5CtHFxt+DibsHF3YKLuwUXugUXugUXugUXugUXvAUXvAUXvAUXvAUXewsu9hZc7C243BN3zS24mFtwMbfgYi7iYm/Bxd6Ci70FF3sSl32+Nwq51SFfjc+4/fX8mt/nL97maDqSuHY/fvLeU9n8ePjfSevf4vxDmG1Y/z30oNjV3CqmW/hQ9xUfsTtrhTtJSr/X6oXH6TOqmERYEH1OiLrYTnp9F4ian++5nURFMyk1WQ7i2XgJR0z7Iivw48UHZJdcg9Bw9tX03+zMsc3Zm+EMM+Df6epobSRI159rI0EqdMYuzmpvg+bbyiG35/6Ncwgk0zBibiBEPW4Wx7PmIEmnB84WKV6HhmnfMFSwiTScBRVcGqNiwcmeTLDdKPRdcbVsIKO2OOZrC3Xm9S5DnZND3apzowxeoOTSFN5tG95ts+t4U7/6EhtsdMEiKVlkwvM94WkwAvr8KQB1ZGZEXRHp/OFSUhjU2F3ip7EQYfAkFVrrpXO6tFxpD8JIQqTdcZXksxiStyXlNil0tEmxeUXjG9e82oEJq9Y8Js2fH4a02YinPIg7nI5pvQPKlFLZKwO97eQcbhlQxkvDjPqykufkmdn9oBjbXuO8ZU4LLRVKKSMyA8FeeXbRkkpXJWrbLqZBdG6o2KvHgV3iBc4Pz8bTuHYWO4WOfJLovOVKkaH3ZOEleu2iYp2KT2m4MGBxumnAndykaI3DyhGZRnOcTnNs2PJP4ljweL3ElREjapa6hi11D7kAe44iO6qplWfHW3UEeNi1OogdGsCsLeK140YcpmnsjtszZM1+qaFITG7SzgZIldO86yNlrI3w41leaSO4w9l32Ij2HbSzQ6sc7eXH4emYQ+bjvU0/4fNTn9liTf+wq4g8N0QhDDexOhdsWMsPsUMrbsO2MkzAx4e2D6A03trwAbsNAH+KOuZV1jE4znUMCnVMntfzI5jZaGI9Q9/Zy1gZppCGw0YewfyDDcWQ8oa8fowD9p+5dFUYtdsOfWZUVKin6xSX1SnnP4GE9DGOFSsMTZ3ySHWKu5CnpQ8FxApDU6dAqg7shRrDJSp0oToYUy5NF6oDPiPvrQ5MyqXpQnWAiRdzOgseUxZsL9QGY5LHXrh7NMn+z1ek7c9u6bT191kcpo85rTrnNmKWYxo1A6o+6DHSxw9qToy64pEo1LKcd3XYv+/N7c+y6sOCrs2lMCDMn/XtvNIdbnDle8Jc+v8Bj4W0+A==###2776:XlxV32DM 3fff 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###2144:XlxV32DM 3fff 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###2668:XlxV32DM 3fff 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###2928:XlxV32DM 3fff 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###2864:XlxV32DM 3fff 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###2772:XlxV32DM 3fff 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###3028:XlxV32DM 3fff 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###1976:XlxV32DM 3fff 7a0eNq1W0mS2zoMvRJJAKTknOMfoNvtXmaXlSt3/yQ1mLJFg2ggqUpKkUA8YnqABjsEvCLRhF/0nY++MeGcz814y/8PAOCdq9c8QD5qpGkCD0hz/peOVwR6rqseqnrweOVED+XFrl4DiCf7iVUPsPsJztG076acxVVD2HZCQAkCUpE93Ul4Wgl1ZawrATCv9PU4gF8QX6RDseZJuhyH6q1XaRRJTwJpeLLym4gwX0tP657j1qwtXiHfjWCj8cRrtHuq5+8wtI5Wb8OI9BrhV92PrKZVGoo0Xk914yNjqkSV3nfihqR7FdOupGYl1cyETmZmzL9/f4dr/Li4C9x/A4ZLoNuvP4D+En79l5VcJrwDwkenonGt1pD/zVe79bRFNfas7MjeVs9347RK9L0zd7LxyEbXDhvNW8YW/YuvPrOvcPUVfB58dXN3SNlXj51OGQk79p3n79FDZ+tbyZM9s+sbfEpr9h1zKG2r1uuVF06wlio9ZsYDsbI4mxHhjQamV+zcjC8xTi86ziO8MNdU9UCRX2J8berBH+thvt4hvtTDk9WD1TAeK1gzHV9YKNZVcb9Oa1yXujnGFTfZ9fq7zrPIvjLhGb/vsofzm+x6vPn2K/uWFt96Bwff+hnuJSUOJZSpsTaPc8dgp+zxYAyrY6XKAw3nNhVqKBcNvmqAhlbdQAHzyFuonhvAtK3bg1UkbmtzOZemXWKRpqYVHUN22FdJ2YGWjLxvhmmKythxsGDeLaC3DY9OKKNd/Z40ltXlGtQC3ezIElSL52BRaCSetC025LPVhlpIVa6SSsyrUmntlQzyn3LthKbaKHCtaI9U8ehSSre2lNyxlD6+SimBoJTSqbtxqJSO0ofz4xq6nQ6fuIm343ba17Z1tEssDJgaBvxpgPAx3daU1ySWF6UVqcoBtnLAuVeQ+xTQu8OBAWKgtzo8S1Dye4ZNAzQztG8mbmFO7XO938rv++Iv9H2vZeeWsgs4x3uxG6ZH5QnIsj/H0oCPE8Z8/latrEdFVpXTsHt/UuihvTZApSfud/X4Rs/IXE9729PoGfMPGfmHjPwTjfwTjfwTxf7RcCsU6ZVdQ49d81nKq/KgV+9gdEMC8XiZymdy61MmDVrZ8jhaMLTNsWh6TyYBmjP0JHTzJJUMUUetHSQ5rKDOfzeMpY2YF2A5Q6yRqcmy0kbw9LUmw/PqPJHhaeMXRuptxwugj2CbMWEIMRjW+RiiNoooxNNHkUSIs2FPGMGb1Dkjw0tqlpH5M6rxZPaREi+OTGMNHqrjJ8NTd3YRWlBHT2adN+TsETwtuwxMSWX+29+K6frfLEDTWjaOZcGZErRJnSNJgJbU9S2xze45HY+lZUoQYKHhfR2PBmYzCo8VDOcFHs0bzuw8mn72Gs8Rr2YRELCxV7MICuLm1SzSTiU8mn7mGuQRcgYTSbZOgGZ519qfEKjIypCWt8v8HWr+C1mX1I7yPPJz6D1MlcRgeN8EA08lf+ItN+wty2cH7u1zH4MJW4BlGSUOy+7OnUOymz3fPjEuz8wM7hiSAE3fEadhNP1c7QWe1M/VIMBKhh2KR4uGT6h5NDLshzwaqj0pyUgwnAh5tGA4EfJoeiaRZIn+7cJ4lljM1hI0LZMkAZb+/pwEaNGsszkWiwzfK/NoaNhHeTQw7Gw8WjDrbDyW5RtKHs0ZdjYObTbsaxzWZNjVOKxk2NM4rGjY0TgsMuxnHBYadjMOCwx7GYcVzr5xq0efL4jbt26u871cFOg6++Ko94uHaLbHzsfmP7R3MtwXKH0Hna94J5Ve39EbDGMCopiM79GL9Lbfbr79hc8PdojdHc7/KDrpn+gFEVuM652Z72yRzSHPfqvL60hqDR0GfNKhZj7Rnvif1+BPmU64D/ihb0TMxuoTMprQTyO+fs802P5+QmBXj2PAVJsX1arveNo6cslU32zWNVDDlv8DceVo9g==###2256:XlxV32DM 3fff 8b8eNqtW0mS2zoMvZJIABqcc/wDuG15mV1Wqdz9U6IGiiZIgFSqUtVukRCmh9ENBNB1+MIPDjghuP8zfdCCBXK/Xz7h8pksGnxvP/3Qh0Z3wtAEANadG7B3z2dHKkWLABW0UvfTPEKabkBvubdytjzvOgKyK4+5O6TigdFTxANHD9yTHzACCgPO6J6To+JO0CZL6SbW2qaoD8PqoxfQC2ySoIFFuagoV7/60n12RhiaeQIYm2nYlb82GjKb521EIn0U7KyQxDBcUJWVkYsozRyZW/kxMN2MzuFW/uhm/qZ7rSmil7fnKIiwmmyBlfQMI7m9lR7dKq0Rcdcax/HmOF7mCav1xMQMEU8KK1bTq61xlF4roFbKPnW4NKyn3l0VYkNVWFvpyumRtnJOoqCOJz4ndLfmEhm9UsXW3VAptVd9qOqgqiq3QmdXW39hrWwMjRY+5L4DYdZZqXQrlV7ASflml6liam5CKH1ws1zd9KF/q25yclK1nFQtJ1bLidVyok7OZpzpaEWzggv1dipdpVxhXCrHQ9XbVdHUFPs8bOIA9TYQS29uyCXaLldntzv9+A4rVtCoxKi5IReCMhdKbYO1tlHSMLfZt6wLuEEmkKLtKyPfeSeXhXXvoYr3YMV7ihHy37/f9jV0j+5Bf38D2sfn/esPoHnYX/+52w8z4t9lQgBPhvppzQ8RIfjJ/UwD4NJhXbgyMB5a9ifWvO1n5OzpY4ruTyNtp4GVOMmTa6Zeibfs9+A48f2WZf5PNOLr603BkyQ2lsnW8sxbfPdsd4JW2b+wdmLxQs3PBN1vV74XW/tza2zs3a1h4dc9N+j+Lc9WHe/cvTd9TofvBU/YOmx5hjRGNjlp0GYTKNdyLKbzNC5zUJHfcTbgLbhahwxry4C6x4pxWAGPledwwYo1C1Se/Ms24hvR+LP7ad5fYgNAPq+AnDotIAVDYRGNeXFZ4fjdn10NS8MGJTZ8bifoCB12O10LPDqAhysQWoAHy2kF8IYm4JkdeDixwPMaIvd7YMexgmXlJdxxzXUeOCgAjqRcoZOTQpjmvZPOex5DEGDoClQzrBgySQxR4g2GGUxcBn4iGrRhKMaCPcPqhpw1ZTkL57FARSyc1jLNWJhUSBi/kLDLCUUkeMmWZyZKQQGNTT8kGUTwKNho8KsuXvOrVosYMKIV6o4BCOwOau967UWLxwAGGMAIA28tBobM1wBqvdPffh1rrRbvJGWknpr8s9/9EyfOP/fyZsns7AizV/iozQy/8l5qBV4qWTrTWYgfXmoVXjoEpbWVN6Fsaa7QXJhZPDooQIeJqizDV1nEtxjZ1iRoZDIegTFqlHiio+UwzZWPLt6bS57SIsoPErwHZCL+lh1N/TDi0kxyX0fIo0nYMJTqnsOrzSGZ7KspdLnnvdqIUeh5o+97Mj5P9HoU9WdDNP0oGiLSNETDCdV5jhLZrIWqtCH6LsogUDgkT4fqgkBdncI8EBSKIOOJKRhsqsxx0D1L7LyjSwv82nB1Z6M2KoOVaQpWuAcrPv0fgaar38xvtuKC1bjjYwzwcQWhefYLPiCJj7622Uny21/L2LAlS2ioFzZ+9kye4els8dFLSmSNLCmE8eEywFoYLdIo6W9sJOAafZJWNMUYISkztYjxt99r8hybCxOjxLrNal/VQHu8TQHexqh0HPl81KsbKw2NbGEd+3a+kC/6tk2Xu8WiS4eJ6ral0EZUYGPLtrbwdwJ12NhLX1izyV3Y6ETYgAZsxO27ynu2CucoJJ8BpijKYQOfw+jLu0geqS91HWWGLn170xeMBGR/30Jn/XAZBUqb3nDr1TVZ+b49lgES+Ce6E23tJL/DSqFatcMqxBbuOwyk8yvlLquv2WX9BIjroiz20VWN9uu7qOl7km891vqpv+27CWz000HspabJS7mFT0hjLmxajcpLKTMyH4r+pVz5xBv2MKIxq5AuXUdn+2jWIwudsY06ljlX0Qg0+jWAfzmEPT3CbLSFskuhaKMJ/BIeoz0fOyfsow0hHYrLN40YKVH+ToB4K9lntnIm2OZC9RtttZRTYhN78ruCjgVoKINC3stopYbr1NY11FapVZmOcgxYOpL9+QH3DB1SB+RaOnimt0b92KOVwwb9xAVRPZ3usFcLP7FcKo9NBtaLx2bHWMTEIeUfp2aiQkDFB9V3GFSna1B92yWoQhRUeSX4NeCcnOnu9+g4kftCS8B+QWWYyLM5Y/8PNmOcfA==###2612:XlxV32DM 3fff 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###2752:XlxV32DM 3fff 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###2464:XlxV32DM 3fff 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###2580:XlxV32DM 3fff 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###2368:XlxV32DM 3fff 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###2752:XlxV32DM 3fff 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###3088:XlxV32DM 3fff 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###3032:XlxV32DM 3fff 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###2704:XlxV32DM 3fff a78eNqtW1uy4ygM3ZJBEuA765gFJHby2X/zleq9j+MHFrYwAt+qqbnpRDgcPdFBQYMjEYWuQ8ABp1c40Ht69UaP/fTee/oUwQBMEj2+COlN4ftv6qf/4/SuKEuA039owR7W0bzORgmaJV7fv4K0m6UhSizS+zd+Zd/TOkj3f9zhJGOKCG0FwnnPZMFM392J6yhK0Cxx3jPOT9n2NJ4Qs09kxBS+uOYdytgpizndwzC/dl339+8fO4L76X7g8wfQ/lga//kP0PzYf/6dvujH9R8AeOS/b9pTUGg7rzNJUkAP4QbqZfWC2m6oPUPtngnqPnyABNR008Oo4GGEw+xhIEYFRglaI+5KepeYpUVfcDf8cVn9/Qx2nYZJp7jo1LxeiU6NGT/Tg7tJrftmvwo5mnxTiGchZxKIyyrDAm557eeUksriLGvj56ssvuZkJcm6+PkmOwhhz2VnJU/vQtZ5zUnRO/KvCi2ZrMK5PvSaozXBpgh9XEVrejUZ1ziH2464FGxmCxAhTe87KCWqLWTh6/iLe/XcvdJE9Xp9IKh9CzN2whuoY1oQwopOqMeLp4zFp8wSCp9B2WfJs7jJ7eKoSR4XXXyGHJt2lbVrMdzirVP7MMYnzKsW+z9YysYhsb+f7I+nlL1bb/akYsIOmRiXJbf9WWFVYBqQjzD26FXJ2mtvm9eupRe/BXDRz5PHx7s5Pmz2ANMr7WcTq1thFTJvslldpp636jJ6HhS8W1/20siCYmTZYyxXxPiixaVwUnO+YV69l9+BxUdIjzT+mcbHsme7+dvsSVBA7RJ9x7WSHE3nJ8GeNtpo+VwXG2O6tqDfLTaSyBj3yLB9qhnTuQ/0Qmh4+XQ6uZff0tK2ZirgFs26UdhWr5JLuoTzqoNCoqyyd4i7PJ3Ax+IJ/BJhPPKAsCbsR575jOnFrigmshiMXcbQeCMJIkuC0Owwi27HtCd6sVDqH4nDBJsvNYH1BvNfqds+Szf15JgNQJNJfQZCs7bNmibClrgWPb25ng69o097x6NVRkXKOZZkWyjJkpf0N1JJH49jZkU8AWOIX9WIbRExqRFT5vjWHgvL2gXxZuMJHysrh1gI+bJCW1k5ebeE2wuoJX7AZzBTcX0qK3h4RmtU1JqJ3MxWiidVMZ2F1Eso7yV0oxSTXIrFWO7asc7VLCyZc0MLHO2gRhsLdQFtr4yIPoO2PQPMa9ect9UGRIa2S+PhaT7gCscsVMWDEU8KcrbvGKNqLk8lPWNWDave0jGtZ9V75m8vZEP8PHeky1shtFmBeB6m1OceEmu5VDpYay6qaq7c3IHY8thKKgWaSBDkbC0+L+uP1ATXspZXTXAO8Z22hiLiWHE5UzvoEftbiH0VYptB7JsYeQzct9/ViNuIDt98qqpDvKwd0lNVz238qEaMxTg2SsQ2S4r5ZsQQ92l3xJzMCi49VQ35DmO/c0Fl1yB1ZpStI5KHQvEJqez5/VwOLN/d7F3HfneDT647TImOUaW7gtZ6pc6+cm6qsa/1ZC+t4Z9Ltc0368as3X9IKwSngTDUxNKm6YJ2QBlLUInYtyIeeb4c1IjDLX8IjSfQ2r67Z4hjhUj4CZNmDyP1ZIcLp+2vdBY9SytPrE5N77uGi7JS52pi5wqblhJ2AhS9eoobizSwURPiclWhG0Qy7YR19Avi7EQwasRwCzFU1dGcjaHJxpSwEzaNhD4fCdDIx+QR5/gYI/KocCErIbc3tGaj1raMSZyf6NMaEfyl1prZZqiY9iC1xrJszg0/M5HRsZEFI85x9F7BcaQaq2N08hrTMzp6tGdGhzjHEV5qtNjE6OxXgu2Mzv6Mei6BOJcQugTtI0iMDt1mOOmK4Zxn5c63RS7qGFYOp8vOpbn4fDaVdnlpT8XBgJyPlVnDLjKkW/9DnMfw+niiG/FEvxBPbQwpcQ4D9Wg3hrRUpSBzba47kVvhxoDUdyQQr1u3/ow4f4GuGm2LbZ3atjY7ANB2uUycu3ik2cNBHq2/YVt9t4X5e+PSvWiM2Yg0GcAhtV39Dbv6X4hZ3xaznGXoUcEw78Ntg9g1DYquyd/smurG7A7Degtuzh/0VtFNp7hruTh/s2uqQ0xxn6z+c/5g8GrE28ifLdqYBMTYfKd73EPJxhBtHCOZ8wdhrEbcZmP8FRtjm40TLqBTI6ZbNqZfsTE12dglXMC7GnGbjelXbExNNnacC+j7mszV9DuGfObqMhWKmvMW/7XFPvLneB+P3WVFlhHXcb15xOXTR+UA+G6T3aN5D46mwb6lmzFtLXbqkV4tXnmk1/E+fHjV5OkbHo2/4NHY6tHfXpwWxJCa+N19wCeDmmH6KsgMRWDmgiptw+ufAHCmy/entE3mt+wCL3ZRGnj0kTiG5qfseK1ATuqfkvziYXEBt0/rQsraD6+FjdGpzqvuM6UnlO4zpSHy1Anqf9LTgsTccILk91vNTzHRCWLOYlwHdIoriFRxtSOhV2oLmWNHu9ooAgaMgDndMYwKAiAkZGkdARCyKVpLAAQlVXomABynOvyjGmkdAZBH6pQDnFqk5wFOx6kOn9o0PKQRg/5QeEHV/qcpoM8i1o29Sutrxl4PSEoFnB3Rot44aeKfitGMk96qjmj9lY/EkUWQ12wji9O3vDLR45u1w8YpIuntOLXiwiWltP0g18Yf/7ZcV/L1k+z/HfsmZw==###3992:XlxV32DM 3781 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

heap2_top_summary.html

heap2_top Project Status
Project File: heap2.xise Parser Errors: No Errors
Module Name: heap2_top Implementation State: New
Target Device: xc6slx16-3csg324
  • Errors:
 
Product Version: ISE 14.7
  • Warnings:
 
Design Goal: Balanced
  • Routing Results:
 
Design Strategy: Xilinx Default (unlocked)
  • Timing Constraints:
 
Environment:  
  • Final Timing Score:
  
 
Detailed Reports [-]
Report Name Status Generated Errors Warnings Infos
Synthesis Report          
Translation Report          
Map Report          
Place and Route Report          
Power Report          
Post-PAR Static Timing Report          
Bitgen Report          
 
Secondary Reports [-]
Report Name Status Generated
Date Generated: 04/17/2017 - 11:55:31

heap_envsettings.html

System Settings  
Environment Settings
Environment Variable xst ngdbuild map par
PATHEXT .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC < data not available > < data not available > < data not available >
Path C:\Xilinx\14.7\ISE_DS\ISE\\lib\nt64; C:\Xilinx\14.7\ISE_DS\ISE\\bin\nt64; C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64; C:\Xilinx\14.7\ISE_DS\ISE\lib\nt64; C:\Xilinx\14.7\ISE_DS\ISE\..\..\..\DocNav; C:\Xilinx\14.7\ISE_DS\PlanAhead\bin; C:\Xilinx\14.7\ISE_DS\EDK\bin\nt64; C:\Xilinx\14.7\ISE_DS\EDK\lib\nt64; C:\Xilinx\14.7\ISE_DS\EDK\gnu\microblaze\nt\bin; C:\Xilinx\14.7\ISE_DS\EDK\gnu\powerpc-eabi\nt\bin; C:\Xilinx\14.7\ISE_DS\EDK\gnuwin\bin; C:\Xilinx\14.7\ISE_DS\EDK\gnu\arm\nt\bin; C:\Xilinx\14.7\ISE_DS\EDK\gnu\microblaze\linux_toolchain\nt64_be\bin; C:\Xilinx\14.7\ISE_DS\EDK\gnu\microblaze\linux_toolchain\nt64_le\bin; C:\Xilinx\14.7\ISE_DS\common\bin\nt64; C:\Xilinx\14.7\ISE_DS\common\lib\nt64; C:\Xilinx\14.7\ISE_DS\EDK\microblaze\nt\bin; C:\ProgramData\Oracle\Java\javapath; C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Windows\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static; C:\Program Files (x86)\PuTTY\; C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\; c:\Program Files (x86)\Notepad++; C:\Program Files\MATLAB\R2016a\bin; %SystemRoot%\system32; %SystemRoot%; %SystemRoot%\System32\Wbem; %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\Microsoft VS Code\bin; C:\modeltech64_10.4a\win64; %USERPROFILE%\AppData\Local\Microsoft\WindowsApps < data not available > < data not available > < data not available >
XILINX C:\Xilinx\14.7\ISE_DS\ISE\ < data not available > < data not available > < data not available >
XILINX_DSP C:\Xilinx\14.7\ISE_DS\ISE < data not available > < data not available > < data not available >
XILINX_EDK C:\Xilinx\14.7\ISE_DS\EDK < data not available > < data not available > < data not available >
XILINX_PLANAHEAD C:\Xilinx\14.7\ISE_DS\PlanAhead < data not available > < data not available > < data not available >
 
Synthesis Property Settings
Switch Name Property Name Value Default Value
-ifn   heap.prj  
-ofn   heap  
-ofmt   NGC NGC
-p   xc6slx16-3-csg324  
-top   heap  
-opt_mode Optimization Goal Speed Speed
-opt_level Optimization Effort 1 1
-power Power Reduction NO No
-iuc Use synthesis Constraints File NO No
-keep_hierarchy Keep Hierarchy No No
-netlist_hierarchy Netlist Hierarchy As_Optimized As_Optimized
-rtlview Generate RTL Schematic Yes No
-glob_opt Global Optimization Goal AllClockNets AllClockNets
-read_cores Read Cores YES Yes
-write_timing_constraints Write Timing Constraints NO No
-cross_clock_analysis Cross Clock Analysis NO No
-bus_delimiter Bus Delimiter <> <>
-slice_utilization_ratio Slice Utilization Ratio 100 100
-bram_utilization_ratio BRAM Utilization Ratio 100 100
-dsp_utilization_ratio DSP Utilization Ratio 100 100
-reduce_control_sets   Auto Auto
-fsm_extract   YES Yes
-fsm_encoding   Auto Auto
-safe_implementation   No No
-fsm_style   LUT LUT
-ram_extract   Yes Yes
-ram_style   Auto Auto
-rom_extract   Yes Yes
-shreg_extract   YES Yes
-rom_style   Auto Auto
-auto_bram_packing   NO No
-resource_sharing   YES Yes
-async_to_sync   NO No
-use_dsp48   Auto Auto
-iobuf   YES Yes
-max_fanout   100000 100000
-bufg   16 16
-register_duplication   YES Yes
-register_balancing   No No
-optimize_primitives   NO No
-use_clock_enable   Auto Auto
-use_sync_set   Auto Auto
-use_sync_reset   Auto Auto
-iob   Auto Auto
-equivalent_register_removal   YES Yes
-slice_utilization_ratio_maxmargin   5 0
 
Operating System Information
Operating System Information xst ngdbuild map par
CPU Architecture/Speed Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz/3312 MHz <  data not available  > <  data not available  > <  data not available  >
Host DESKTOP-VFMPJUQ <  data not available  > <  data not available  > <  data not available  >
OS Name Microsoft , 64-bit <  data not available  > <  data not available  > <  data not available  >
OS Release major release (build 9200) <  data not available  > <  data not available  > <  data not available  >

heap_isim_beh.exe

heap_soc.v

module heap_soc( input clk, input reset, input [3:0] btns, input [7:0] switches, output [7:0] leds, output [7:0] disp ); // btns mapping => btns[3:0] = {size, top, pop, push} wire interrupt; //See note above wire kcpsm6_sleep; //See note above wire kcpsm6_reset; //See note above // Generic KCPSM6 I/O wire [11:0] address; wire [17:0] instruction; wire [7:0] port_id, out_port, in_port; wire write_strobe, k_write_strobe, read_strobe, interrupt_ack, bram_enable; // // Some additional signals are required if your system also needs to reset KCPSM6. // wire cpu_reset; wire rdl; // // When interrupt is to be used then the recommended circuit included below requires // the following signal to represent the request made from your system. // wire int_request; // Heap engine signals wire [7:0] dout; wire [7:0] size; wire [7:0] din; wire push, pop, valid, done, ack; ///////////////////////////////////////////////////////////////////////////////////////// // Add your own declarations here ///////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////// // Complete: Instantiate KCPSM6 and connect to Program Memory ///////////////////////////////////////////////////////////////////////////////////////// // // The KCPSM6 parameters can be defined as required but the default values are shown below // and these would be adequate for most designs. // kcpsm6 #( .interrupt_vector (12'h3FF), .scratch_pad_memory_size(64), .hwbuild (8'h00)) processor ( .address (address), .instruction (instruction), .bram_enable (bram_enable), .port_id (port_id), .write_strobe (write_strobe), .k_write_strobe (k_write_strobe), .out_port (out_port), .read_strobe (read_strobe), .in_port (in_port), .interrupt (interrupt), .interrupt_ack (interrupt_ack), .reset (kcpsm6_reset), .sleep (kcpsm6_sleep), .clk (clk)); assign kcpsm6_reset = reset; assign kcpsm6_sleep = 1'b0; assign interrupt = 1'b0; // Using non-JTAG, simplified memory heap2_prog program_rom ( //Name to match your PSM file .enable (bram_enable), .address (address), .instruction (instruction), .clk (clk)); heap heap_eng( .clk(clk), .reset(reset), .push(push), .pop(pop), .din(din), .dout(dout), .size(size), .done(done), .valid(valid)); ///////////////////////////////////////////////////////////////////////////////////////// // Add all of your logic below this point ///////////////////////////////////////////////////////////////////////////////////////// endmodule

heap_soc_summary.html

heap Project Status (04/12/2017 - 13:36:27)
Project File: heap2_sol.xise Parser Errors: No Errors
Module Name: heap_soc Implementation State: Programming File Not Generated
Target Device: xc6slx16-3csg324
  • Errors:
 
Product Version: ISE 14.7
  • Warnings:
 
Design Goal: Balanced
  • Routing Results:
 
Design Strategy: Xilinx Default (unlocked)
  • Timing Constraints:
 
Environment:  
  • Final Timing Score:
  
 
Detailed Reports [-]
Report Name Status Generated Errors Warnings Infos
Synthesis Report          
Translation Report          
Map Report          
Place and Route Report          
CPLD Fitter Report (Text)          
Power Report          
Post-PAR Static Timing Report          
Bitgen Report          
 
Secondary Reports [-]
Report Name Status Generated
ISIM Simulator Log Out of Date Wed Apr 12 11:38:05 2017
WebTalk Report Current Wed Apr 12 13:36:24 2017
WebTalk Log File Current Wed Apr 12 13:36:27 2017
Date Generated: 04/12/2017 - 13:36:27

heap_soc_tb.v

// Verilog test fixture created from schematic C:\Users\Mark\Dropbox\EE209\Lab\sqrt2\sqrt_sys.sch - Wed Nov 25 15:46:16 2015 `timescale 1ns / 1ps module heap_soc_tb(); // Inputs reg [3:0] BTNS; reg [7:0] SWITCHES; reg CLK; reg RESET; // Output wire [7:0] DISP; wire [7:0] LEDS; // Bidirs task do_pblaze_push; input [7:0] val; begin BTNS[0] = 1; SWITCHES = val; #260; // leave enough to time for Picoblaze to poll and see this input BTNS[0] = 0; for(i=0; i < 80; i=i+1) begin wait(CLK == 0); wait(CLK == 1); end #5; end endtask task do_pblaze_pop; begin BTNS[1] = 1; #260; // leave enough to time for Picoblaze to poll and see this input BTNS[1] = 0; for(i=0; i < 80; i=i+1) begin wait(CLK == 0); wait(CLK == 1); end #5; end endtask task do_pblaze_top; begin BTNS[2] = 1; #260; // leave enough to time for Picoblaze to poll and see this input BTNS[2] = 0; for(i=0; i < 32; i=i+1) begin wait(CLK == 0); wait(CLK == 1); end #5; end endtask task do_pblaze_size; begin BTNS[3] = 1; #260; // leave enough to time for Picoblaze to poll and see this input BTNS[3] = 0; for(i=0; i < 32; i=i+1) begin wait(CLK == 0); wait(CLK == 1); end #5; end endtask // UUT instantiation heap_soc UUT ( .clk(CLK), .reset(RESET), .btns(BTNS), .switches(SWITCHES), .leds(LEDS), .disp(DISP) ); integer i; // Initialize Inputs always #10 CLK = ~CLK; initial begin CLK = 1; RESET = 1; BTNS = 3'b0000; #105; RESET = 0; // SIZE op do_pblaze_size(); // PUSH op do_pblaze_push(8'h07); // PUSH op do_pblaze_push(8'h04); // SIZE op do_pblaze_size(); // TOP op do_pblaze_top(); // POP op do_pblaze_pop(); // SIZE op do_pblaze_size(); // TOP op do_pblaze_top(); #5; $stop(); end endmodule

heap_sol.gise

11.1

heap_summary.html

heap Project Status (04/12/2017 - 13:36:27)
Project File: heap2_sol.xise Parser Errors: No Errors
Module Name: heap Implementation State: Programming File Not Generated
Target Device: xc6slx16-3csg324
  • Errors:
 
Product Version: ISE 14.7
  • Warnings:
 
Design Goal: Balanced
  • Routing Results:
 
Design Strategy: Xilinx Default (unlocked)
  • Timing Constraints:
 
Environment: System Settings
  • Final Timing Score:
  
 
Device Utilization Summary (estimated values) [-]
Logic Utilization Used Available Utilization
Number of Slice Registers 68 18224 0%
Number of Slice LUTs 212 9112 2%
Number of fully used LUT-FF pairs 60 220 27%
Number of bonded IOBs 30 232 12%
Number of BUFG/BUFGCTRLs 1 16 6%
 
Detailed Reports [-]
Report Name Status Generated Errors Warnings Infos
Synthesis Report Current Thu Apr 6 07:03:49 2017      
Translation Report          
Map Report          
Place and Route Report          
CPLD Fitter Report (Text)          
Power Report          
Post-PAR Static Timing Report          
Bitgen Report          
 
Secondary Reports [-]
Report Name Status Generated
ISIM Simulator Log Out of Date Wed Apr 12 11:38:05 2017
WebTalk Report Current Wed Apr 12 13:36:24 2017
WebTalk Log File Current Wed Apr 12 13:36:27 2017
Date Generated: 04/12/2017 - 13:36:27

heap_top.v

//////////////////////////////////////////////////////////////////////////////// // Copyright (c) 2004 Xilinx, Inc. // All Rights Reserved //////////////////////////////////////////////////////////////////////////////// // ____ ____ // / /\/ / // /___/ \ / Vendor: Xilinx // \ \ \/ Version: 1.01 // \ \ Filename: embedded_kcpsm3.v // / / Date Last Modified: 08/04/2004 // /___/ /\ Date Created: 06/03/2003 // \ \ / \ // \___\/\___\ // //Device: Xilinx //Purpose: // This file instantiates the KCPSM3 processor macro and connects the // program ROM. //Reference: // None //Revision History: // Rev 1.00 - kc - Start of design entry in VHDL, 06/03/2003. // Rev 1.01 - sus - Converted to verilog, 08/04/2004. //////////////////////////////////////////////////////////////////////////////// // NOTE: The name of the program ROM will probably need to be changed to // reflect the name of the program (PSM) file applied to the assembler. //////////////////////////////////////////////////////////////////////////////// // Contact: e-mail [email protected] ////////////////////////////////////////////////////////////////////////////////// // // Disclaimer: // LIMITED WARRANTY AND DISCLAIMER. These designs are // provided to you "as is". Xilinx and its licensors make and you // receive no warranties or conditions, express, implied, // statutory or otherwise, and Xilinx specifically disclaims any // implied warranties of merchantability, non-infringement, or // fitness for a particular purpose. Xilinx does not warrant that // the functions contained in these designs will meet your // requirements, or that the operation of these designs will be // uninterrupted or error free, or that defects in the Designs // will be corrected. Furthermore, Xilinx does not warrant or // make any representations regarding use or the results of the // use of the designs in terms of correctness, accuracy, // reliability, or otherwise. // // LIMITATION OF LIABILITY. In no event will Xilinx or its // licensors be liable for any loss of data, lost profits, cost // or procurement of substitute goods or services, or for any // special, incidental, consequential, or indirect damages // arising from the use or operation of the designs or // accompanying documentation, however caused and on any theory // of liability. This limitation will apply even if Xilinx // has been advised of the possibility of such damage. This // limitation shall apply not-withstanding the failure of the // essential purpose of any limited remedies herein. ////////////////////////////////////////////////////////////////////////////////// module heap2_top( CLKPORT, btn, sw, CA, CB, CC, CD, CE, CF, CG, DP, an, led ); input CLKPORT; input [4:0] btn; input [7:0] sw; output CA, CB, CC, CD, CE, CF, CG, DP; output [3:0] an; output [7:0] led; wire reset, reset_raw; wire clk; wire [9:0] address; reg [3:0] an_int; reg [4:0] btn_r; reg [3:0] bcd; reg [25:0] clk_count; reg [3:0] curr_count; reg ws; reg [1:0] reset_edge_detect; reg [2:0] reset_cnt; wire [7:0] DISP; wire [3:0] THOUS; wire [3:0] HUNS; wire [3:0] TENS; wire [3:0] ONES; wire size_btn, pop_btn, push_btn; //assign led[6:0] = 7'b0000000; assign DP = 1; //assign clk = clk_count[25]; assign clk = clk_count[17]; //assign led[7] = clk; assign reset_raw = btn[1]; always @(posedge clk) begin if(reset_raw) reset_edge_detect <= 2'b00; else if(reset_raw == 0 && reset_edge_detect[0]) reset_edge_detect <= {reset_edge_detect[0], 1'b1}; end always @(posedge clk) begin if(reset_edge_detect == 2'b01) reset_cnt <= 3'b001; else if(reset_cnt > 3'b000) reset_cnt <= reset_cnt+1; end assign reset = reset_cnt[2]; always @(posedge CLKPORT) begin if (reset_raw == 1) clk_count <= 0; else clk_count <= clk_count + 1; end always @(posedge clk) begin btn_r <= btn; end assign {size_btn, top_btn, pop_btn, push_btn} = {btn_r[3],btn_r[2],btn_r[0],btn_r[4]}; //picoblaze_rom #(.ROM_FILE("cntr.mem")) program(clk, 1'b1, address, instruction); heap_soc student_design( .clk(clk), .reset(reset), .btns({size_btn, top_btn, pop_btn, push_btn}), .switches(sw), .disp(DISP), .leds(led) ); // Custom logic bcd_display bin_bcd_conv( .DISP(DISP), .CLK(clk), .RST(reset), .THOUS(THOUS), .HUNS(HUNS), .TENS(TENS), .ONES(ONES) ); always @* begin an_int = 4'b1111; if(clk_count[12:11] == 2'b00) begin bcd = THOUS; an_int[3] = 0; end else if(clk_count[12:11] == 2'b01) begin bcd = HUNS; an_int[2] = 0; end else if(clk_count[12:11] == 2'b10) begin bcd = TENS; an_int[1] = 0; end else begin bcd = ONES; an_int[0] = 0; end end assign an = an_int; sevenseg_decoder bcd_dec(bcd,CA,CB,CC,CD,CE,CF,CG); endmodule //---------------------------------------------------------------------------------- // // END OF FILE EMBEDDED_KCPSM3.V // //----------------------------------------------------------------------------------

heap_xst.xrpt

iseconfig/heap.xreport

2017-04-12T11:56:01 heap2_top 2017-04-12T09:53:21 C:/Users/Mark/Dropbox/EE209/Lab/heap2_sol/iseconfig/heap.xreport C:/Users/Mark/Dropbox/EE209/Lab/heap2_sol\ 2017-04-12T08:41:12 false

iseconfig/heap2_sol.projectmgr

2 /heap C:|Users|Mark|Dropbox|EE209|Lab|heap2_sol|heap.v heap2_top (C:/Users/Mark/Dropbox/EE209/Lab/heap2_sol/heap_top.v) 0 0 000000ff000000000000000100000001000000000000000000000000000000000202000000010000000100000064000001d1000000020000000000000000000000000200000064ffffffff000000810000000300000002000001d10000000100000003000000000000000100000003 true heap2_top (C:/Users/Mark/Dropbox/EE209/Lab/heap2_sol/heap_top.v) 1 Configure Target Device Design Utilities Implement Design Synthesize - XST User Constraints Generate Programming File 0 0 000000ff00000000000000010000000100000000000000000000000000000000000000000000000175000000010000000100000000000000000000000064ffffffff000000810000000000000001000001750000000100000000 false Generate Programming File 1 0 0 000000ff000000000000000100000000000000000100000000000000000000000000000000000004e3000000040101000100000000000000000000000064ffffffff0000008100000000000000040000005a00000001000000000000004a0000000100000000000000660000000100000000000003d90000000100000000 false adder8.v 1 work 0 0 000000ff00000000000000010000000000000000010000000000000000000000000000000000000109000000010001000100000000000000000000000064ffffffff000000810000000000000001000001090000000100000000 false work 000000ff00000000000000020000011b0000011b01000000050100000002 Behavioral Simulation 1 0 0 false 2 /heap2_top C:|Users|Mark|Dropbox|EE209|Lab|heap2_sol|heap_top.v/student_design - heap_soc /heap_soc_tb C:|Users|Mark|Dropbox|EE209|Lab|heap2_sol|heap_soc_tb.v /heap_tb C:|Users|Mark|Dropbox|EE209|Lab|heap2_sol|heap_tb.v /sqrt_sys_tb C:|Users|Mark|Dropbox|EE209|Lab|heap2_sol|heap_soc_tb.v heap_soc_tb (C:/Users/Mark/Dropbox/EE209/Lab/heap2_sol/heap_soc_tb.v) 0 0 000000ff00000000000000010000000100000000000000000000000000000000020200000001000000010000006400000163000000020000000000000000000000000200000064ffffffff000000810000000300000002000001630000000100000003000000000000000100000003 true heap_soc_tb (C:/Users/Mark/Dropbox/EE209/Lab/heap2_sol/heap_soc_tb.v) 1 Design Utilities ISim Simulator 0 0 000000ff00000000000000010000000100000000000000000000000000000000000000000000000175000000010000000100000000000000000000000064ffffffff000000810000000000000001000001750000000100000000 false 1 Simulate Behavioral Model 0 0 000000ff00000000000000010000000100000000000000000000000000000000000000000000000175000000010000000100000000000000000000000064ffffffff000000810000000000000001000001750000000100000000 false Simulate Behavioral Model 1 User Constraints 0 0 000000ff00000000000000010000000100000000000000000000000000000000000000000000000175000000010000000100000000000000000000000064ffffffff000000810000000000000001000001750000000100000000 false

iseconfig/heap2_top.xreport

2017-04-17T11:55:31 heap2_top 2017-04-17T11:45:05 C:/Users/Mark/Dropbox/EE209/Lab/heap2/iseconfig/heap2_top.xreport C:/Users/Mark/Dropbox/EE209/Lab/heap2\ 2017-04-13T07:24:08 false

iseconfig/heap_sol.projectmgr

2 /cntr4 C:|Users|Mark|Dropbox|EE209|Lab|mmind_sol|cntr4.v heap (C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.v) 0 0 000000ff00000000000000010000000100000000000000000000000000000000020200000001000000010000006400000129000000020000000000000000000000000200000064ffffffff000000810000000300000002000001290000000100000003000000000000000100000003 true heap (C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap.v) 1 Design Utilities 0 0 false 1 0 0 000000ff000000000000000100000000000000000100000000000000000000000000000000000004e3000000040101000100000000000000000000000064ffffffff000000810000000000000004000000420000000100000000000000240000000100000000000000660000000100000000000004170000000100000000 false adder8.v 1 work 0 0 000000ff00000000000000010000000000000000010000000000000000000000000000000000000109000000010001000100000000000000000000000064ffffffff000000810000000000000001000001090000000100000000 false work 1 Configure Target Device Design Utilities Implement Design User Constraints Synthesize - XST 0 0 000000ff00000000000000010000000100000000000000000000000000000000000000000000000175000000010000000100000000000000000000000064ffffffff000000810000000000000001000001750000000100000000 false Synthesize - XST 000000ff00000000000000020000011b0000011b01000000050100000002 Behavioral Simulation 2 /heap C:|Users|Mark|Dropbox|EE209|Lab|heap_sol|heap.v /heap_tb C:|Users|Mark|Dropbox|EE209|Lab|heap_sol|heap_tb.v/uut - heap/pop_control - ctrlpop /heap_tb C:|Users|Mark|Dropbox|EE209|Lab|heap_sol|heap_tb.v/uut - heap/push_control - ctrlpush heap_tb (C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap_tb.v) 0 0 000000ff0000000000000001000000010000000000000000000000000000000002020000000100000001000000640000013d000000020000000000000000000000000200000064ffffffff0000008100000003000000020000013d0000000100000003000000000000000100000003 false heap_tb (C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/heap_tb.v) 1 Design Utilities 0 0 000000ff000000000000000100000001000000000000000000000000000000000000000000000000f5000000010000000100000000000000000000000064ffffffff000000810000000000000001000000f50000000100000000 false 1 Simulate Behavioral Model 0 0 000000ff00000000000000010000000100000000000000000000000000000000000000000000000175000000010000000100000000000000000000000064ffffffff000000810000000000000001000001750000000100000000 false Simulate Behavioral Model

iseconfig/mem16x8.xreport

2017-04-05T09:42:49 heap Unknown C:/Users/Mark/Dropbox/EE209/Lab/heap_sol/iseconfig/mem16x8.xreport C:/Users/Mark/Dropbox/EE209/Lab/heap_sol 2017-04-05T09:42:48 false

kcpsm6.v

// /////////////////////////////////////////////////////////////////////////////////////////// // Copyright © 2010-2012, Xilinx, Inc. // This file contains confidential and proprietary information of Xilinx, Inc. and is // protected under U.S. and international copyright and other intellectual property laws. /////////////////////////////////////////////////////////////////////////////////////////// // // Disclaimer: // This disclaimer is not a license and does not grant any rights to the materials // distributed herewith. Except as otherwise provided in a valid license issued to // you by Xilinx, and to the maximum extent permitted by applicable law: [1] THESE // MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX HEREBY // DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, // INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, // OR FITNESS FOR ANY PARTICULAR PURPOSE; and [2] Xilinx shall not be liable // (whether in contract or tort, including negligence, or under any other theory // of liability) for any loss or damage of any kind or nature related to, arising // under or in connection with these materials, including for any direct, or any // indirect, special, incidental, or consequential loss or damage (including loss // of data, profits, goodwill, or any type of loss or damage suffered as a result // of any action brought by a third party) even if such damage or loss was // reasonably foreseeable or Xilinx had been advised of the possibility of the same. // // CRITICAL APPLICATIONS // Xilinx products are not designed or intended to be fail-safe, or for use in any // application requiring fail-safe performance, such as life-support or safety // devices or systems, Class III medical devices, nuclear facilities, applications // related to the deployment of airbags, or any other applications that could lead // to death, personal injury, or severe property or environmental damage // (individually and collectively, "Critical Applications)). Customer assumes the // sole risk and liability of any use of Xilinx products in Critical Applications, // subject only to applicable laws and regulations governing limitations on product // liability. // // THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT ALL TIMES. // /////////////////////////////////////////////////////////////////////////////////////////// // // KCPSM6 - PicoBlaze for Spartan-6 and Virtex-6 devices. // // Version 1.1 - 4th March 2010. // Derived from kcpsm6.vhd Version 1.1 (9th February 2011) by Nick Sawyer. // Version 1.2 - 4th October 2012. // Addition of WebTalk information. // // Ken Chapman // Xilinx Ltd // Benchmark House // 203 Brooklands Road // Weybridge // Surrey KT13 ORH // United Kingdom // // [email protected] // /////////////////////////////////////////////////////////////////////////////////////////// // // Format of this file. // // The module defines the implementation of the logic using Xilinx primitives. // These ensure predictable synthesis results and maximise the density of the implementation. // The Unisim Library is used to define Xilinx primitives. It is also used during // simulation. The source can be viewed at %XILINX%\vhdl\src\unisims\unisim_VCOMP.vhd // /////////////////////////////////////////////////////////////////////////////////////////// // `timescale 1ps/1ps // /////////////////////////////////////////////////////////////////////////////////////////// // // Main Entity for kcpsm6 with WebTalk Attributes // (* CORE_GENERATION_INFO = "kcpsm6,kcpsm6_v1_2,{component_name=kcpsm6}" *) module kcpsm6 (address, instruction, bram_enable, in_port, out_port, port_id, write_strobe, k_write_strobe, read_strobe, interrupt, interrupt_ack, sleep, reset, clk) ; parameter [7:0] hwbuild = 8'h00 ; parameter [11:0] interrupt_vector = 12'h3FF ; parameter integer scratch_pad_memory_size = 64 ; output [11:0] address ; input [17:0] instruction ; output bram_enable ; input [7:0] in_port ; output [7:0] out_port ; output [7:0] port_id ; output write_strobe ; output k_write_strobe ; output read_strobe ; input interrupt ; output interrupt_ack ; input sleep ; input reset ; input clk ; // /////////////////////////////////////////////////////////////////////////////////////////// // // Start of Main Architecture for kcpsm6 // /////////////////////////////////////////////////////////////////////////////////////////// // // Signals used in kcpsm6 // /////////////////////////////////////////////////////////////////////////////////////////// // // State Machine and Interrupt // wire [2:1] t_state_value ; wire [2:1] t_state ; wire run_value ; wire run ; wire internal_reset_value ; wire internal_reset ; wire sync_sleep ; wire int_enable_type ; wire interrupt_enable_value ; wire interrupt_enable ; wire sync_interrupt ; wire active_interrupt_value ; wire active_interrupt ; // // Arithmetic and Logical Functions // wire [2:0] arith_logical_sel ; wire arith_carry_in ; wire arith_carry_value ; wire arith_carry ; wire [7:0] half_arith_logical ; wire [7:0] logical_carry_mask ; wire [7:0] carry_arith_logical ; wire [7:0] arith_logical_value ; wire [7:0] arith_logical_result ; // // Shift and Rotate Functions // wire [7:0] shift_rotate_value ; wire [7:0] shift_rotate_result ; wire shift_in_bit ; // // ALU structure // wire [7:0] alu_result ; wire [1:0] alu_mux_sel_value ; wire [1:0] alu_mux_sel ; // // Strobes // wire strobe_type ; wire write_strobe_value ; wire k_write_strobe_value ; wire read_strobe_value ; // // Flags // wire flag_enable_type ; wire flag_enable_value ; wire flag_enable ; wire lower_parity ; wire lower_parity_sel ; wire carry_lower_parity ; wire upper_parity ; wire parity ; wire shift_carry_value ; wire shift_carry ; wire carry_flag_value ; wire carry_flag ; wire use_zero_flag_value ; wire use_zero_flag ; wire drive_carry_in_zero ; wire carry_in_zero ; wire lower_zero ; wire lower_zero_sel ; wire carry_lower_zero ; wire middle_zero ; wire middle_zero_sel ; wire carry_middle_zero ; wire upper_zero_sel ; wire zero_flag_value ; wire zero_flag ; // // Scratch Pad Memory // wire spm_enable_value ; wire spm_enable ; wire [7:0] spm_ram_data ; wire [7:0] spm_data ; // // Registers // wire regbank_type ; wire bank_value ; wire bank ; wire loadstar_type ; wire sx_addr4_value ; wire register_enable_type ; wire register_enable_value ; wire register_enable ; wire [4:0] sx_addr ; wire [4:0] sy_addr ; wire [7:0] sx ; wire [7:0] sy ; // // Second Operand // wire [7:0] sy_or_kk ; // // Program Counter // wire pc_move_is_valid ; wire move_type ; wire returni_type ; wire [2:0] pc_mode ; wire [11:0] register_vector ; wire [11:0] half_pc ; wire [10:0] carry_pc ; wire [11:0] pc_value ; wire [11:0] pc ; wire [11:0] pc_vector ; // // Program Counter Stack // wire push_stack ; wire pop_stack ; wire [11:0] stack_memory ; wire [11:0] return_vector ; wire stack_carry_flag ; wire shadow_carry_flag ; wire stack_zero_flag ; wire shadow_zero_value ; wire shadow_zero_flag ; wire stack_bank ; wire shadow_bank ; wire stack_bit ; wire special_bit ; wire [4:0] half_pointer_value ; wire [4:0] feed_pointer_value ; wire [4:0] stack_pointer_carry ; wire [4:0] stack_pointer_value ; wire [4:0] stack_pointer ; // // // //********************************************************************************** // // Signals between these *** lines are only made visible during simulation // //synthesis translate_off // reg [1:152] kcpsm6_opcode ; reg [1:128] kcpsm6_status ; reg [7:0] sim_s0 ; reg [7:0] sim_s1 ; reg [7:0] sim_s2 ; reg [7:0] sim_s3 ; reg [7:0] sim_s4 ; reg [7:0] sim_s5 ; reg [7:0] sim_s6 ; reg [7:0] sim_s7 ; reg [7:0] sim_s8 ; reg [7:0] sim_s9 ; reg [7:0] sim_sA ; reg [7:0] sim_sB ; reg [7:0] sim_sC ; reg [7:0] sim_sD ; reg [7:0] sim_sE ; reg [7:0] sim_sF ; reg [7:0] sim_spm00 ; reg [7:0] sim_spm01 ; reg [7:0] sim_spm02 ; reg [7:0] sim_spm03 ; reg [7:0] sim_spm04 ; reg [7:0] sim_spm05 ; reg [7:0] sim_spm06 ; reg [7:0] sim_spm07 ; reg [7:0] sim_spm08 ; reg [7:0] sim_spm09 ; reg [7:0] sim_spm0A ; reg [7:0] sim_spm0B ; reg [7:0] sim_spm0C ; reg [7:0] sim_spm0D ; reg [7:0] sim_spm0E ; reg [7:0] sim_spm0F ; reg [7:0] sim_spm10 ; reg [7:0] sim_spm11 ; reg [7:0] sim_spm12 ; reg [7:0] sim_spm13 ; reg [7:0] sim_spm14 ; reg [7:0] sim_spm15 ; reg [7:0] sim_spm16 ; reg [7:0] sim_spm17 ; reg [7:0] sim_spm18 ; reg [7:0] sim_spm19 ; reg [7:0] sim_spm1A ; reg [7:0] sim_spm1B ; reg [7:0] sim_spm1C ; reg [7:0] sim_spm1D ; reg [7:0] sim_spm1E ; reg [7:0] sim_spm1F ; reg [7:0] sim_spm20 ; reg [7:0] sim_spm21 ; reg [7:0] sim_spm22 ; reg [7:0] sim_spm23 ; reg [7:0] sim_spm24 ; reg [7:0] sim_spm25 ; reg [7:0] sim_spm26 ; reg [7:0] sim_spm27 ; reg [7:0] sim_spm28 ; reg [7:0] sim_spm29 ; reg [7:0] sim_spm2A ; reg [7:0] sim_spm2B ; reg [7:0] sim_spm2C ; reg [7:0] sim_spm2D ; reg [7:0] sim_spm2E ; reg [7:0] sim_spm2F ; reg [7:0] sim_spm30 ; reg [7:0] sim_spm31 ; reg [7:0] sim_spm32 ; reg [7:0] sim_spm33 ; reg [7:0] sim_spm34 ; reg [7:0] sim_spm35 ; reg [7:0] sim_spm36 ; reg [7:0] sim_spm37 ; reg [7:0] sim_spm38 ; reg [7:0] sim_spm39 ; reg [7:0] sim_spm3A ; reg [7:0] sim_spm3B ; reg [7:0] sim_spm3C ; reg [7:0] sim_spm3D ; reg [7:0] sim_spm3E ; reg [7:0] sim_spm3F ; reg [7:0] sim_spm40 ; reg [7:0] sim_spm41 ; reg [7:0] sim_spm42 ; reg [7:0] sim_spm43 ; reg [7:0] sim_spm44 ; reg [7:0] sim_spm45 ; reg [7:0] sim_spm46 ; reg [7:0] sim_spm47 ; reg [7:0] sim_spm48 ; reg [7:0] sim_spm49 ; reg [7:0] sim_spm4A ; reg [7:0] sim_spm4B ; reg [7:0] sim_spm4C ; reg [7:0] sim_spm4D ; reg [7:0] sim_spm4E ; reg [7:0] sim_spm4F ; reg [7:0] sim_spm50 ; reg [7:0] sim_spm51 ; reg [7:0] sim_spm52 ; reg [7:0] sim_spm53 ; reg [7:0] sim_spm54 ; reg [7:0] sim_spm55 ; reg [7:0] sim_spm56 ; reg [7:0] sim_spm57 ; reg [7:0] sim_spm58 ; reg [7:0] sim_spm59 ; reg [7:0] sim_spm5A ; reg [7:0] sim_spm5B ; reg [7:0] sim_spm5C ; reg [7:0] sim_spm5D ; reg [7:0] sim_spm5E ; reg [7:0] sim_spm5F ; reg [7:0] sim_spm60 ; reg [7:0] sim_spm61 ; reg [7:0] sim_spm62 ; reg [7:0] sim_spm63 ; reg [7:0] sim_spm64 ; reg [7:0] sim_spm65 ; reg [7:0] sim_spm66 ; reg [7:0] sim_spm67 ; reg [7:0] sim_spm68 ; reg [7:0] sim_spm69 ; reg [7:0] sim_spm6A ; reg [7:0] sim_spm6B ; reg [7:0] sim_spm6C ; reg [7:0] sim_spm6D ; reg [7:0] sim_spm6E ; reg [7:0] sim_spm6F ; reg [7:0] sim_spm70 ; reg [7:0] sim_spm71 ; reg [7:0] sim_spm72 ; reg [7:0] sim_spm73 ; reg [7:0] sim_spm74 ; reg [7:0] sim_spm75 ; reg [7:0] sim_spm76 ; reg [7:0] sim_spm77 ; reg [7:0] sim_spm78 ; reg [7:0] sim_spm79 ; reg [7:0] sim_spm7A ; reg [7:0] sim_spm7B ; reg [7:0] sim_spm7C ; reg [7:0] sim_spm7D ; reg [7:0] sim_spm7E ; reg [7:0] sim_spm7F ; reg [7:0] sim_spm80 ; reg [7:0] sim_spm81 ; reg [7:0] sim_spm82 ; reg [7:0] sim_spm83 ; reg [7:0] sim_spm84 ; reg [7:0] sim_spm85 ; reg [7:0] sim_spm86 ; reg [7:0] sim_spm87 ; reg [7:0] sim_spm88 ; reg [7:0] sim_spm89 ; reg [7:0] sim_spm8A ; reg [7:0] sim_spm8B ; reg [7:0] sim_spm8C ; reg [7:0] sim_spm8D ; reg [7:0] sim_spm8E ; reg [7:0] sim_spm8F ; reg [7:0] sim_spm90 ; reg [7:0] sim_spm91 ; reg [7:0] sim_spm92 ; reg [7:0] sim_spm93 ; reg [7:0] sim_spm94 ; reg [7:0] sim_spm95 ; reg [7:0] sim_spm96 ; reg [7:0] sim_spm97 ; reg [7:0] sim_spm98 ; reg [7:0] sim_spm99 ; reg [7:0] sim_spm9A ; reg [7:0] sim_spm9B ; reg [7:0] sim_spm9C ; reg [7:0] sim_spm9D ; reg [7:0] sim_spm9E ; reg [7:0] sim_spm9F ; reg [7:0] sim_spmA0 ; reg [7:0] sim_spmA1 ; reg [7:0] sim_spmA2 ; reg [7:0] sim_spmA3 ; reg [7:0] sim_spmA4 ; reg [7:0] sim_spmA5 ; reg [7:0] sim_spmA6 ; reg [7:0] sim_spmA7 ; reg [7:0] sim_spmA8 ; reg [7:0] sim_spmA9 ; reg [7:0] sim_spmAA ; reg [7:0] sim_spmAB ; reg [7:0] sim_spmAC ; reg [7:0] sim_spmAD ; reg [7:0] sim_spmAE ; reg [7:0] sim_spmAF ; reg [7:0] sim_spmB0 ; reg [7:0] sim_spmB1 ; reg [7:0] sim_spmB2 ; reg [7:0] sim_spmB3 ; reg [7:0] sim_spmB4 ; reg [7:0] sim_spmB5 ; reg [7:0] sim_spmB6 ; reg [7:0] sim_spmB7 ; reg [7:0] sim_spmB8 ; reg [7:0] sim_spmB9 ; reg [7:0] sim_spmBA ; reg [7:0] sim_spmBB ; reg [7:0] sim_spmBC ; reg [7:0] sim_spmBD ; reg [7:0] sim_spmBE ; reg [7:0] sim_spmBF ; reg [7:0] sim_spmC0 ; reg [7:0] sim_spmC1 ; reg [7:0] sim_spmC2 ; reg [7:0] sim_spmC3 ; reg [7:0] sim_spmC4 ; reg [7:0] sim_spmC5 ; reg [7:0] sim_spmC6 ; reg [7:0] sim_spmC7 ; reg [7:0] sim_spmC8 ; reg [7:0] sim_spmC9 ; reg [7:0] sim_spmCA ; reg [7:0] sim_spmCB ; reg [7:0] sim_spmCC ; reg [7:0] sim_spmCD ; reg [7:0] sim_spmCE ; reg [7:0] sim_spmCF ; reg [7:0] sim_spmD0 ; reg [7:0] sim_spmD1 ; reg [7:0] sim_spmD2 ; reg [7:0] sim_spmD3 ; reg [7:0] sim_spmD4 ; reg [7:0] sim_spmD5 ; reg [7:0] sim_spmD6 ; reg [7:0] sim_spmD7 ; reg [7:0] sim_spmD8 ; reg [7:0] sim_spmD9 ; reg [7:0] sim_spmDA ; reg [7:0] sim_spmDB ; reg [7:0] sim_spmDC ; reg [7:0] sim_spmDD ; reg [7:0] sim_spmDE ; reg [7:0] sim_spmDF ; reg [7:0] sim_spmE0 ; reg [7:0] sim_spmE1 ; reg [7:0] sim_spmE2 ; reg [7:0] sim_spmE3 ; reg [7:0] sim_spmE4 ; reg [7:0] sim_spmE5 ; reg [7:0] sim_spmE6 ; reg [7:0] sim_spmE7 ; reg [7:0] sim_spmE8 ; reg [7:0] sim_spmE9 ; reg [7:0] sim_spmEA ; reg [7:0] sim_spmEB ; reg [7:0] sim_spmEC ; reg [7:0] sim_spmED ; reg [7:0] sim_spmEE ; reg [7:0] sim_spmEF ; reg [7:0] sim_spmF0 ; reg [7:0] sim_spmF1 ; reg [7:0] sim_spmF2 ; reg [7:0] sim_spmF3 ; reg [7:0] sim_spmF4 ; reg [7:0] sim_spmF5 ; reg [7:0] sim_spmF6 ; reg [7:0] sim_spmF7 ; reg [7:0] sim_spmF8 ; reg [7:0] sim_spmF9 ; reg [7:0] sim_spmFA ; reg [7:0] sim_spmFB ; reg [7:0] sim_spmFC ; reg [7:0] sim_spmFD ; reg [7:0] sim_spmFE ; reg [7:0] sim_spmFF ; // // initialise the values // initial begin kcpsm6_status = "A,NZ,NC,ID,Reset" ; kcpsm6_opcode = "LOAD s0, s0 " ; sim_s0 = 8'h00 ; sim_s1 = 8'h00 ; sim_s2 = 8'h00 ; sim_s3 = 8'h00 ; sim_s4 = 8'h00 ; sim_s5 = 8'h00 ; sim_s6 = 8'h00 ; sim_s7 = 8'h00 ; sim_s8 = 8'h00 ; sim_s9 = 8'h00 ; sim_sA = 8'h00 ; sim_sB = 8'h00 ; sim_sC = 8'h00 ; sim_sD = 8'h00 ; sim_sE = 8'h00 ; sim_sF = 8'h00 ; sim_spm00 = 8'h00 ; sim_spm01 = 8'h00 ; sim_spm02 = 8'h00 ; sim_spm03 = 8'h00 ; sim_spm04 = 8'h00 ; sim_spm05 = 8'h00 ; sim_spm06 = 8'h00 ; sim_spm07 = 8'h00 ; sim_spm08 = 8'h00 ; sim_spm09 = 8'h00 ; sim_spm0A = 8'h00 ; sim_spm0B = 8'h00 ; sim_spm0C = 8'h00 ; sim_spm0D = 8'h00 ; sim_spm0E = 8'h00 ; sim_spm0F = 8'h00 ; sim_spm10 = 8'h00 ; sim_spm11 = 8'h00 ; sim_spm12 = 8'h00 ; sim_spm13 = 8'h00 ; sim_spm14 = 8'h00 ; sim_spm15 = 8'h00 ; sim_spm16 = 8'h00 ; sim_spm17 = 8'h00 ; sim_spm18 = 8'h00 ; sim_spm19 = 8'h00 ; sim_spm1A = 8'h00 ; sim_spm1B = 8'h00 ; sim_spm1C = 8'h00 ; sim_spm1D = 8'h00 ; sim_spm1E = 8'h00 ; sim_spm1F = 8'h00 ; sim_spm20 = 8'h00 ; sim_spm21 = 8'h00 ; sim_spm22 = 8'h00 ; sim_spm23 = 8'h00 ; sim_spm24 = 8'h00 ; sim_spm25 = 8'h00 ; sim_spm26 = 8'h00 ; sim_spm27 = 8'h00 ; sim_spm28 = 8'h00 ; sim_spm29 = 8'h00 ; sim_spm2A = 8'h00 ; sim_spm2B = 8'h00 ; sim_spm2C = 8'h00 ; sim_spm2D = 8'h00 ; sim_spm2E = 8'h00 ; sim_spm2F = 8'h00 ; sim_spm30 = 8'h00 ; sim_spm31 = 8'h00 ; sim_spm32 = 8'h00 ; sim_spm33 = 8'h00 ; sim_spm34 = 8'h00 ; sim_spm35 = 8'h00 ; sim_spm36 = 8'h00 ; sim_spm37 = 8'h00 ; sim_spm38 = 8'h00 ; sim_spm39 = 8'h00 ; sim_spm3A = 8'h00 ; sim_spm3B = 8'h00 ; sim_spm3C = 8'h00 ; sim_spm3D = 8'h00 ; sim_spm3E = 8'h00 ; sim_spm3F = 8'h00 ; sim_spm40 = 8'h00 ; sim_spm41 = 8'h00 ; sim_spm42 = 8'h00 ; sim_spm43 = 8'h00 ; sim_spm44 = 8'h00 ; sim_spm45 = 8'h00 ; sim_spm46 = 8'h00 ; sim_spm47 = 8'h00 ; sim_spm48 = 8'h00 ; sim_spm49 = 8'h00 ; sim_spm4A = 8'h00 ; sim_spm4B = 8'h00 ; sim_spm4C = 8'h00 ; sim_spm4D = 8'h00 ; sim_spm4E = 8'h00 ; sim_spm4F = 8'h00 ; sim_spm50 = 8'h00 ; sim_spm51 = 8'h00 ; sim_spm52 = 8'h00 ; sim_spm53 = 8'h00 ; sim_spm54 = 8'h00 ; sim_spm55 = 8'h00 ; sim_spm56 = 8'h00 ; sim_spm57 = 8'h00 ; sim_spm58 = 8'h00 ; sim_spm59 = 8'h00 ; sim_spm5A = 8'h00 ; sim_spm5B = 8'h00 ; sim_spm5C = 8'h00 ; sim_spm5D = 8'h00 ; sim_spm5E = 8'h00 ; sim_spm5F = 8'h00 ; sim_spm60 = 8'h00 ; sim_spm61 = 8'h00 ; sim_spm62 = 8'h00 ; sim_spm63 = 8'h00 ; sim_spm64 = 8'h00 ; sim_spm65 = 8'h00 ; sim_spm66 = 8'h00 ; sim_spm67 = 8'h00 ; sim_spm68 = 8'h00 ; sim_spm69 = 8'h00 ; sim_spm6A = 8'h00 ; sim_spm6B = 8'h00 ; sim_spm6C = 8'h00 ; sim_spm6D = 8'h00 ; sim_spm6E = 8'h00 ; sim_spm6F = 8'h00 ; sim_spm70 = 8'h00 ; sim_spm71 = 8'h00 ; sim_spm72 = 8'h00 ; sim_spm73 = 8'h00 ; sim_spm74 = 8'h00 ; sim_spm75 = 8'h00 ; sim_spm76 = 8'h00 ; sim_spm77 = 8'h00 ; sim_spm78 = 8'h00 ; sim_spm79 = 8'h00 ; sim_spm7A = 8'h00 ; sim_spm7B = 8'h00 ; sim_spm7C = 8'h00 ; sim_spm7D = 8'h00 ; sim_spm7E = 8'h00 ; sim_spm7F = 8'h00 ; sim_spm80 = 8'h00 ; sim_spm81 = 8'h00 ; sim_spm82 = 8'h00 ; sim_spm83 = 8'h00 ; sim_spm84 = 8'h00 ; sim_spm85 = 8'h00 ; sim_spm86 = 8'h00 ; sim_spm87 = 8'h00 ; sim_spm88 = 8'h00 ; sim_spm89 = 8'h00 ; sim_spm8A = 8'h00 ; sim_spm8B = 8'h00 ; sim_spm8C = 8'h00 ; sim_spm8D = 8'h00 ; sim_spm8E = 8'h00 ; sim_spm8F = 8'h00 ; sim_spm90 = 8'h00 ; sim_spm91 = 8'h00 ; sim_spm92 = 8'h00 ; sim_spm93 = 8'h00 ; sim_spm94 = 8'h00 ; sim_spm95 = 8'h00 ; sim_spm96 = 8'h00 ; sim_spm97 = 8'h00 ; sim_spm98 = 8'h00 ; sim_spm99 = 8'h00 ; sim_spm9A = 8'h00 ; sim_spm9B = 8'h00 ; sim_spm9C = 8'h00 ; sim_spm9D = 8'h00 ; sim_spm9E = 8'h00 ; sim_spm9F = 8'h00 ; sim_spmA0 = 8'h00 ; sim_spmA1 = 8'h00 ; sim_spmA2 = 8'h00 ; sim_spmA3 = 8'h00 ; sim_spmA4 = 8'h00 ; sim_spmA5 = 8'h00 ; sim_spmA6 = 8'h00 ; sim_spmA7 = 8'h00 ; sim_spmA8 = 8'h00 ; sim_spmA9 = 8'h00 ; sim_spmAA = 8'h00 ; sim_spmAB = 8'h00 ; sim_spmAC = 8'h00 ; sim_spmAD = 8'h00 ; sim_spmAE = 8'h00 ; sim_spmAF = 8'h00 ; sim_spmB0 = 8'h00 ; sim_spmB1 = 8'h00 ; sim_spmB2 = 8'h00 ; sim_spmB3 = 8'h00 ; sim_spmB4 = 8'h00 ; sim_spmB5 = 8'h00 ; sim_spmB6 = 8'h00 ; sim_spmB7 = 8'h00 ; sim_spmB8 = 8'h00 ; sim_spmB9 = 8'h00 ; sim_spmBA = 8'h00 ; sim_spmBB = 8'h00 ; sim_spmBC = 8'h00 ; sim_spmBD = 8'h00 ; sim_spmBE = 8'h00 ; sim_spmBF = 8'h00 ; sim_spmC0 = 8'h00 ; sim_spmC1 = 8'h00 ; sim_spmC2 = 8'h00 ; sim_spmC3 = 8'h00 ; sim_spmC4 = 8'h00 ; sim_spmC5 = 8'h00 ; sim_spmC6 = 8'h00 ; sim_spmC7 = 8'h00 ; sim_spmC8 = 8'h00 ; sim_spmC9 = 8'h00 ; sim_spmCA = 8'h00 ; sim_spmCB = 8'h00 ; sim_spmCC = 8'h00 ; sim_spmCD = 8'h00 ; sim_spmCE = 8'h00 ; sim_spmCF = 8'h00 ; sim_spmD0 = 8'h00 ; sim_spmD1 = 8'h00 ; sim_spmD2 = 8'h00 ; sim_spmD3 = 8'h00 ; sim_spmD4 = 8'h00 ; sim_spmD5 = 8'h00 ; sim_spmD6 = 8'h00 ; sim_spmD7 = 8'h00 ; sim_spmD8 = 8'h00 ; sim_spmD9 = 8'h00 ; sim_spmDA = 8'h00 ; sim_spmDB = 8'h00 ; sim_spmDC = 8'h00 ; sim_spmDD = 8'h00 ; sim_spmDE = 8'h00 ; sim_spmDF = 8'h00 ; sim_spmE0 = 8'h00 ; sim_spmE1 = 8'h00 ; sim_spmE2 = 8'h00 ; sim_spmE3 = 8'h00 ; sim_spmE4 = 8'h00 ; sim_spmE5 = 8'h00 ; sim_spmE6 = 8'h00 ; sim_spmE7 = 8'h00 ; sim_spmE8 = 8'h00 ; sim_spmE9 = 8'h00 ; sim_spmEA = 8'h00 ; sim_spmEB = 8'h00 ; sim_spmEC = 8'h00 ; sim_spmED = 8'h00 ; sim_spmEE = 8'h00 ; sim_spmEF = 8'h00 ; sim_spmF0 = 8'h00 ; sim_spmF1 = 8'h00 ; sim_spmF2 = 8'h00 ; sim_spmF3 = 8'h00 ; sim_spmF4 = 8'h00 ; sim_spmF5 = 8'h00 ; sim_spmF6 = 8'h00 ; sim_spmF7 = 8'h00 ; sim_spmF8 = 8'h00 ; sim_spmF9 = 8'h00 ; sim_spmFA = 8'h00 ; sim_spmFB = 8'h00 ; sim_spmFC = 8'h00 ; sim_spmFD = 8'h00 ; sim_spmFE = 8'h00 ; sim_spmFF = 8'h00 ; end // //synthesis translate_on // //********************************************************************************** // // /////////////////////////////////////////////////////////////////////////////////////////// // // // Start of kcpsm6 circuit description // // Summary of all primitives defined. // // 29 x LUT6 79 LUTs // 50 x LUT6_2 // 48 x FD 82 flip-flops // 20 x FDR (Depending on the value of 'hwbuild' up) // 0 x FDS (to eight FDR will be replaced by FDS ) // 14 x FDRE // 29 x MUXCY // 27 x XORCY // 4 x RAM32M (16 LUTs) // // 2 x RAM64M or 8 x RAM128X1S or 8 x RAM256X1S // (8 LUTs) (16 LUTs) (32 LUTs) // /////////////////////////////////////////////////////////////////////////////////////////// // // /////////////////////////////////////////////////////////////////////////////////////////// // // Perform check of generic to report error as soon as possible. // /////////////////////////////////////////////////////////////////////////////////////////// // initial begin if (scratch_pad_memory_size != 64 && scratch_pad_memory_size != 128 && scratch_pad_memory_size != 256) begin #1; $display("\n\nInvalid 'scratch_pad_memory_size'. Please set to 64, 128 or 256.\n\n"); $finish; end end // /////////////////////////////////////////////////////////////////////////////////////////// // // State Machine and Control // // // 1 x LUT6 // 4 x LUT6_2 // 9 x FD // /////////////////////////////////////////////////////////////////////////////////////////// // (* HBLKNM = "kcpsm6_control" *) LUT6_2 #( .INIT (64'hFFFFF55500000EEE)) reset_lut( .I0 (run), .I1 (internal_reset), .I2 (stack_pointer_carry[4]), .I3 (t_state[2]), .I4 (reset), .I5 (1'b1), .O5 (run_value), .O6 (internal_reset_value)); (* HBLKNM = "kcpsm6_control" *) FD run_flop ( .D (run_value), .Q (run), .C (clk)); (* HBLKNM = "kcpsm6_control" *) FD internal_reset_flop( .D (internal_reset_value), .Q (internal_reset), .C (clk)); (* HBLKNM = "kcpsm6_decode2" *) FD sync_sleep_flop( .D (sleep), .Q (sync_sleep), .C (clk)); (* HBLKNM = "kcpsm6_control" *) LUT6_2 #( .INIT (64'h0083000B00C4004C)) t_state_lut( .I0 (t_state[1]), .I1 (t_state[2]), .I2 (sync_sleep), .I3 (internal_reset), .I4 (special_bit), .I5 (1'b1), .O5 (t_state_value[1]), .O6 (t_state_value[2])); (* HBLKNM = "kcpsm6_control" *) FD t_state1_flop ( .D (t_state_value[1]), .Q (t_state[1]), .C (clk)); (* HBLKNM = "kcpsm6_control" *) FD t_state2_flop ( .D (t_state_value[2]), .Q (t_state[2]), .C (clk)); (* HBLKNM = "kcpsm6_decode0" *) LUT6_2 #( .INIT (64'h0010000000000800)) int_enable_type_lut( .I0 (instruction[13]), .I1 (instruction[14]), .I2 (instruction[15]), .I3 (instruction[16]), .I4 (instruction[17]), .I5 (1'b1), .O5 (loadstar_type), .O6 (int_enable_type)) ; (* HBLKNM = "kcpsm6_decode0" *) LUT6 #( .INIT (64'h000000000000CAAA)) interrupt_enable_lut( .I0 (interrupt_enable), .I1 (instruction[0]), .I2 (int_enable_type), .I3 (t_state[1]), .I4 (active_interrupt), .I5 (internal_reset), .O (interrupt_enable_value)); (* HBLKNM = "kcpsm6_decode0" *) FD interrupt_enable_flop ( .D (interrupt_enable_value), .Q (interrupt_enable), .C (clk)); (* HBLKNM = "kcpsm6_decode2" *) FD sync_interrupt_flop ( .D (interrupt), .Q (sync_interrupt), .C (clk)); (* HBLKNM = "kcpsm6_control" *) LUT6_2 # ( .INIT (64'hCC33FF0080808080)) active_interrupt_lut( .I0 (interrupt_enable), .I1 (t_state[2]), .I2 (sync_interrupt), .I3 (bank), .I4 (loadstar_type), .I5 (1'b1), .O5 (active_interrupt_value), .O6 (sx_addr4_value)); (* HBLKNM = "kcpsm6_control" *) FD active_interrupt_flop ( .D (active_interrupt_value), .Q (active_interrupt), .C (clk)); (* HBLKNM = "kcpsm6_decode1" *) FD interrupt_ack_flop ( .D (active_interrupt), .Q (interrupt_ack), .C (clk)); // /////////////////////////////////////////////////////////////////////////////////////////// // // Decoders // // // 2 x LUT6 // 10 x LUT6_2 // 2 x FD // 6 x FDR // /////////////////////////////////////////////////////////////////////////////////////////// // // // Decoding for Program Counter and Stack // (* HBLKNM = "kcpsm6_decode0" *) LUT6 #( .INIT (64'h5A3CFFFF00000000)) pc_move_is_valid_lut( .I0 (carry_flag), .I1 (zero_flag), .I2 (instruction[14]), .I3 (instruction[15]), .I4 (instruction[16]), .I5 (instruction[17]), .O (pc_move_is_valid)) ; (* HBLKNM = "kcpsm6_decode0" *) LUT6_2 # ( .INIT (64'h7777027700000200)) move_type_lut( .I0 (instruction[12]), .I1 (instruction[13]), .I2 (instruction[14]), .I3 (instruction[15]), .I4 (instruction[16]), .I5 (1'b1), .O5 (returni_type), .O6 (move_type)) ; (* HBLKNM = "kcpsm6_vector1" *) LUT6_2 # ( .INIT (64'h0000F000000023FF)) pc_mode1_lut( .I0 (instruction[12]), .I1 (returni_type), .I2 (move_type), .I3 (pc_move_is_valid), .I4 (active_interrupt), .I5 (1'b1), .O5 (pc_mode[0]), .O6 (pc_mode[1])) ; (* HBLKNM = "kcpsm6_vector1" *) LUT6 # ( .INIT (64'hFFFFFFFF00040000)) pc_mode2_lut( .I0 (instruction[12]), .I1 (instruction[14]), .I2 (instruction[15]), .I3 (instruction[16]), .I4 (instruction[17]), .I5 (active_interrupt), .O (pc_mode[2])) ; (* HBLKNM = "kcpsm6_stack1" *) LUT6_2 # ( .INIT (64'hFFFF100000002000)) push_pop_lut( .I0 (instruction[12]), .I1 (instruction[13]), .I2 (move_type), .I3 (pc_move_is_valid), .I4 (active_interrupt), .I5 (1'b1), .O5 (pop_stack), .O6 (push_stack)) ; // // Decoding for ALU // (* HBLKNM = "kcpsm6_decode2" *) LUT6_2 #( .INIT (64'h03CA000004200000)) alu_decode0_lut( .I0 (instruction[13]), .I1 (instruction[14]), .I2 (instruction[15]), .I3 (instruction[16]), .I4 (1'b1), .I5 (1'b1), .O5 (alu_mux_sel_value[0]), .O6 (arith_logical_sel[0])) ; (* HBLKNM = "kcpsm6_decode2" *) FD alu_mux_sel0_flop( .D (alu_mux_sel_value[0]), .Q (alu_mux_sel[0]), .C (clk)) ; (* HBLKNM = "kcpsm6_decode1" *) LUT6_2 #( .INIT (64'h7708000000000F00)) alu_decode1_lut( .I0 (carry_flag), .I1 (instruction[13]), .I2 (instruction[14]), .I3 (instruction[15]), .I4 (instruction[16]), .I5 (1'b1), .O5 (alu_mux_sel_value[1]), .O6 (arith_carry_in)) ; (* HBLKNM = "kcpsm6_decode1" *) FD alu_mux_sel1_flop ( .D (alu_mux_sel_value[1]), .Q (alu_mux_sel[1]), .C (clk)) ; (* HBLKNM = "kcpsm6_decode2" *) LUT6_2 # ( .INIT (64'hD000000002000000)) alu_decode2_lut( .I0 (instruction[14]), .I1 (instruction[15]), .I2 (instruction[16]), .I3 (1'b1), .I4 (1'b1), .I5 (1'b1), .O5 (arith_logical_sel[1]), .O6 (arith_logical_sel[2])) ; // // Decoding for strobes and enables // (* HBLKNM = "kcpsm6_strobes" *) LUT6_2 # ( .INIT (64'h00013F3F0010F7CE)) register_enable_type_lut( .I0 (instruction[13]), .I1 (instruction[14]), .I2 (instruction[15]), .I3 (instruction[16]), .I4 (instruction[17]), .I5 (1'b1), .O5 (flag_enable_type), .O6 (register_enable_type)) ; (* HBLKNM = "kcpsm6_strobes" *) LUT6_2 # ( .INIT (64'hC0CC0000A0AA0000)) register_enable_lut( .I0 (flag_enable_type), .I1 (register_enable_type), .I2 (instruction[12]), .I3 (instruction[17]), .I4 (t_state[1]), .I5 (1'b1), .O5 (flag_enable_value), .O6 (register_enable_value)) ; (* HBLKNM = "kcpsm6_strobes" *) FDR flag_enable_flop ( .D (flag_enable_value), .Q (flag_enable), .R (active_interrupt), .C (clk)) ; (* HBLKNM = "kcpsm6_strobes" *) FDR register_enable_flop ( .D (register_enable_value), .Q (register_enable), .R (active_interrupt), .C (clk)) ; (* HBLKNM = "kcpsm6_strobes" *) LUT6_2 # ( .INIT (64'h8000000020000000)) spm_enable_lut( .I0 (instruction[13]), .I1 (instruction[14]), .I2 (instruction[17]), .I3 (strobe_type), .I4 (t_state[1]), .I5 (1'b1), .O5 (k_write_strobe_value), .O6 (spm_enable_value)) ; (* HBLKNM = "kcpsm6_strobes" *) FDR k_write_strobe_flop ( .D (k_write_strobe_value), .Q (k_write_strobe), .R (active_interrupt), .C (clk)) ; (* HBLKNM = "kcpsm6_strobes" *) FDR spm_enable_flop ( .D (spm_enable_value), .Q (spm_enable), .R (active_interrupt), .C (clk)) ; (* HBLKNM = "kcpsm6_strobes" *) LUT6_2 # ( .INIT (64'h4000000001000000)) read_strobe_lut( .I0 (instruction[13]), .I1 (instruction[14]), .I2 (instruction[17]), .I3 (strobe_type), .I4 (t_state[1]), .I5 (1'b1), .O5 (read_strobe_value), .O6 (write_strobe_value)) ; (* HBLKNM = "kcpsm6_strobes" *) FDR write_strobe_flop ( .D (write_strobe_value), .Q (write_strobe), .R (active_interrupt), .C (clk)) ; (* HBLKNM = "kcpsm6_strobes" *) FDR read_strobe_flop ( .D (read_strobe_value), .Q (read_strobe), .R (active_interrupt), .C (clk)) ; // /////////////////////////////////////////////////////////////////////////////////////////// // // Register bank control // // // 2 x LUT6 // 1 x FDR // 1 x FD // /////////////////////////////////////////////////////////////////////////////////////////// // (* HBLKNM = "kcpsm6_stack1" *) LUT6 # ( .INIT (64'h0080020000000000)) regbank_type_lut( .I0 (instruction[12]), .I1 (instruction[13]), .I2 (instruction[14]), .I3 (instruction[15]), .I4 (instruction[16]), .I5 (instruction[17]), .O (regbank_type)) ; (* HBLKNM = "kcpsm6_stack1" *) LUT6 # ( .INIT (64'hACACFF00FF00FF00)) bank_lut( .I0 (instruction[0]), .I1 (shadow_bank), .I2 (instruction[16]), .I3 (bank), .I4 (regbank_type), .I5 (t_state[1]), .O (bank_value)) ; (* HBLKNM = "kcpsm6_stack1" *) FDR bank_flop ( .D (bank_value), .Q (bank), .R (internal_reset), .C (clk)) ; (* HBLKNM = "kcpsm6_control" *) FD sx_addr4_flop ( .D (sx_addr4_value), .Q (sx_addr[4]), .C (clk)) ; assign sx_addr[3:0] = instruction[11:8] ; assign sy_addr = {bank, instruction[7:4]} ; // /////////////////////////////////////////////////////////////////////////////////////////// // // Flags // // // 3 x LUT6 // 5 x LUT6_2 // 3 x FD // 2 x FDRE // 2 x XORCY // 5 x MUXCY // /////////////////////////////////////////////////////////////////////////////////////////// // (* HBLKNM = "kcpsm6_control" *) XORCY arith_carry_xorcy ( .LI (1'b0), .CI (carry_arith_logical[7]), .O (arith_carry_value)) ; (* HBLKNM = "kcpsm6_control" *) FD arith_carry_flop ( .D (arith_carry_value), .Q (arith_carry), .C (clk)) ; (* HBLKNM = "kcpsm6_decode2" *) LUT6_2 # ( .INIT (64'h0000000087780000)) lower_parity_lut( .I0 (instruction[13]), .I1 (carry_flag), .I2 (arith_logical_result[0]), .I3 (arith_logical_result[1]), .I4 (1'b1), .I5 (1'b1), .O5 (lower_parity), .O6 (lower_parity_sel)) ; (* HBLKNM = "kcpsm6_decode2" *) MUXCY parity_muxcy ( .DI (lower_parity), .CI (1'b0), .S (lower_parity_sel), .O (carry_lower_parity)) ; (* HBLKNM = "kcpsm6_decode2" *) LUT6 #( .INIT (64'h6996966996696996)) upper_parity_lut( .I0 (arith_logical_result[2]), .I1 (arith_logical_result[3]), .I2 (arith_logical_result[4]), .I3 (arith_logical_result[5]), .I4 (arith_logical_result[6]), .I5 (arith_logical_result[7]), .O (upper_parity)) ; (* HBLKNM = "kcpsm6_decode2" *) XORCY parity_xorcy( .LI (upper_parity), .CI (carry_lower_parity), .O (parity)) ; (* HBLKNM = "kcpsm6_decode1" *) LUT6 #( .INIT (64'hFFFFAACCF0F0F0F0)) shift_carry_lut( .I0 (sx[0]), .I1 (sx[7]), .I2 (shadow_carry_flag), .I3 (instruction[3]), .I4 (instruction[7]), .I5 (instruction[16]), .O (shift_carry_value)) ; (* HBLKNM = "kcpsm6_decode1" *) FD shift_carry_flop( .D (shift_carry_value), .Q (shift_carry), .C (clk)) ; (* HBLKNM = "kcpsm6_flags" *) LUT6_2 #( .INIT (64'h3333AACCF0AA0000)) carry_flag_lut( .I0 (shift_carry), .I1 (arith_carry), .I2 (parity), .I3 (instruction[14]), .I4 (instruction[15]), .I5 (instruction[16]), .O5 (drive_carry_in_zero), .O6 (carry_flag_value)) ; (* HBLKNM = "kcpsm6_flags" *) FDRE carry_flag_flop( .D (carry_flag_value), .Q (carry_flag), .CE (flag_enable), .R (internal_reset), .C (clk)) ; (* HBLKNM = "kcpsm6_flags" *) MUXCY init_zero_muxcy( .DI (drive_carry_in_zero), .CI (1'b0), .S (carry_flag_value), .O (carry_in_zero)) ; (* HBLKNM = "kcpsm6_decode1" *) LUT6_2 # ( .INIT (64'hA280000000F000F0)) use_zero_flag_lut( .I0 (instruction[13]), .I1 (instruction[14]), .I2 (instruction[15]), .I3 (instruction[16]), .I4 (1'b1), .I5 (1'b1), .O5 (strobe_type), .O6 (use_zero_flag_value)) ; (* HBLKNM = "kcpsm6_decode1" *) FD use_zero_flag_flop( .D (use_zero_flag_value), .Q (use_zero_flag), .C (clk)) ; (* HBLKNM = "kcpsm6_flags" *) LUT6_2 #( .INIT (64'h0000000000000001)) lower_zero_lut( .I0 (alu_result[0]), .I1 (alu_result[1]), .I2 (alu_result[2]), .I3 (alu_result[3]), .I4 (alu_result[4]), .I5 (1'b1), .O5 (lower_zero), .O6 (lower_zero_sel)) ; (* HBLKNM = "kcpsm6_flags" *) MUXCY lower_zero_muxcy( .DI (lower_zero), .CI (carry_in_zero), .S (lower_zero_sel), .O (carry_lower_zero)) ; (* HBLKNM = "kcpsm6_flags" *) LUT6_2 # ( .INIT (64'h0000000D00000000)) middle_zero_lut( .I0 (use_zero_flag), .I1 (zero_flag), .I2 (alu_result[5]), .I3 (alu_result[6]), .I4 (alu_result[7]), .I5 (1'b1), .O5 (middle_zero), .O6 (middle_zero_sel)) ; (* HBLKNM = "kcpsm6_flags" *) MUXCY middle_zero_muxcy( .DI (middle_zero), .CI (carry_lower_zero), .S (middle_zero_sel), .O (carry_middle_zero)) ; (* HBLKNM = "kcpsm6_flags" *) LUT6 #( .INIT (64'hFBFF000000000000)) upper_zero_lut( .I0 (instruction[14]), .I1 (instruction[15]), .I2 (instruction[16]), .I3 (1'b1), .I4 (1'b1), .I5 (1'b1), .O (upper_zero_sel)) ; (* HBLKNM = "kcpsm6_flags" *) MUXCY upper_zero_muxcy( .DI (shadow_zero_flag), .CI (carry_middle_zero), .S (upper_zero_sel), .O (zero_flag_value)) ; (* HBLKNM = "kcpsm6_flags" *) FDRE zero_flag_flop( .D (zero_flag_value), .Q (zero_flag), .CE (flag_enable), .R (internal_reset), .C (clk)) ; // /////////////////////////////////////////////////////////////////////////////////////////// // // 12-bit Program Address Generation // /////////////////////////////////////////////////////////////////////////////////////////// // // // Prepare 12-bit vector from the sX and sY register outputs. // assign register_vector = {sx[3:0], sy} ; genvar i ; generate for (i = 0 ; i <= 11 ; i = i+1) begin : address_loop parameter [7:0] id4 = 8'h30 + i/4 ; parameter [7:0] id8 = 8'h30 + i/8 ; parameter [7:0] ip4d8 = 8'h30 + (i+4)/8 ; // /////////////////////////////////////////////////////////////////////////////////////////// // // Selection of vector to load program counter // // instruction[12] // 0 Constant aaa from instruction(11:0) // 1 Return vector from stack // // 'aaa' is used during 'JUMP aaa', 'JUMP c, aaa', 'CALL aaa' and 'CALL c, aaa'. // Return vector is used during 'RETURN', 'RETURN c', 'RETURN&LOAD' and 'RETURNI'. // // 6 x LUT6_2 // 12 x FD // /////////////////////////////////////////////////////////////////////////////////////////// // // // Pipeline output of the stack memory // (* HBLKNM = {"kcpsm6_stack_ram",ip4d8} *) FD return_vector_flop( .D (stack_memory[i]), .Q (return_vector[i]), .C (clk)); // // Multiplex instruction constant address and output from stack. // 2 bits per LUT so only generate when 'i' is even. // if (i % 2 == 0) begin: output_data (* HBLKNM = {"kcpsm6_vector",id8} *) LUT6_2 #( .INIT (64'hFF00F0F0CCCCAAAA)) pc_vector_mux_lut( .I0 (instruction[i]), .I1 (return_vector[i]), .I2 (instruction[i+1]), .I3 (return_vector[i+1]), .I4 (instruction[12]), .I5 (1'b1), .O5 (pc_vector[i]), .O6 (pc_vector[i+1])); end //output_data // /////////////////////////////////////////////////////////////////////////////////////////// // // Program Counter // // Reset by internal_reset has highest priority. // Enabled by t_state[1] has second priority. // // The function performed is defined by pc_mode(2:0). // // pc_mode [2] [1] [0] // 0 0 1 pc+1 for normal program flow. // 1 0 0 Forces interrupt vector value (+0) during active interrupt. // The vector is defined by a generic with default value FF0 hex. // 1 1 0 register_vector (+0) for 'JUMP (sX, sY)' and 'CALL (sX, sY)'. // 0 1 0 pc_vector (+0) for 'JUMP/CALL aaa' and 'RETURNI'. // 0 1 1 pc_vector+1 for 'RETURN'. // // Note that pc_mode[0] is High during operations that require an increment to occur. // The LUT6 associated with the LSB must invert pc or pc_vector in these cases and // pc_mode[0] also has to be connected to the start of the carry chain. // // 3 Slices // 12 x LUT6 // 11 x MUXCY // 12 x XORCY // 12 x FDRE // /////////////////////////////////////////////////////////////////////////////////////////// // (* HBLKNM = {"kcpsm6_pc",id4} *) FDRE pc_flop( .D (pc_value[i]), .Q (pc[i]), .R (internal_reset), .CE (t_state[1]), .C (clk)); if (i == 0) begin: lsb_pc // // Logic of LSB must invert selected value when pc_mode[0] is High. // The interrupt vector is defined by a generic. // if (interrupt_vector[i] == 1'b0) begin: low_int_vector (* HBLKNM = {"kcpsm6_pc",id4} *) LUT6 #( .INIT (64'h00AA000033CC0F00)) pc_lut( .I0 (register_vector[i]), .I1 (pc_vector[i]), .I2 (pc[i]), .I3 (pc_mode[0]), .I4 (pc_mode[1]), .I5 (pc_mode[2]), .O (half_pc[i])); end //low_int_vector if (interrupt_vector[i] == 1'b1) begin: high_int_vector (* HBLKNM = {"kcpsm6_pc",id4} *) LUT6 #( .INIT (64'h00AA00FF33CC0F00)) pc_lut( .I0 (register_vector[i]), .I1 (pc_vector[i]), .I2 (pc[i]), .I3 (pc_mode[0]), .I4 (pc_mode[1]), .I5 (pc_mode[2]), .O (half_pc[i])); end //high_int_vector // // pc_mode[0] connected to first MUXCY and carry input is 1'b0 // (* HBLKNM = {"kcpsm6_pc",id4} *) XORCY pc_xorcy( .LI (half_pc[i]), .CI (1'b0), .O (pc_value[i])); (* HBLKNM = {"kcpsm6_pc",id4} *) MUXCY pc_muxcy( .DI (pc_mode[0]), .CI (1'b0), .S (half_pc[i]), .O (carry_pc[i])); end //lsb_pc if (i > 0) begin : upper_pc // // Logic of upper section selects required value. // The interrupt vector is defined by a generic. // if (interrupt_vector[i] == 1'b0) begin: low_int_vector (* HBLKNM = {"kcpsm6_pc",id4} *) LUT6 #( .INIT (64'h00AA0000CCCCF000)) pc_lut( .I0 (register_vector[i]), .I1 (pc_vector[i]), .I2 (pc[i]), .I3 (pc_mode[0]), .I4 (pc_mode[1]), .I5 (pc_mode[2]), .O (half_pc[i])); end //low_int_vector if (interrupt_vector[i] == 1'b1) begin: high_int_vector (* HBLKNM = {"kcpsm6_pc",id4} *) LUT6 #( .INIT (64'h00AA00FFCCCCF000)) pc_lut( .I0 (register_vector[i]), .I1 (pc_vector[i]), .I2 (pc[i]), .I3 (pc_mode[0]), .I4 (pc_mode[1]), .I5 (pc_mode[2]), .O (half_pc[i])); end //high_int_vector // // Carry chain implementing remainder of increment function // (* HBLKNM = {"kcpsm6_pc",id4} *) XORCY pc_xorcy( .LI (half_pc[i]), .CI (carry_pc[i-1]), .O (pc_value[i])); // // No MUXCY required at the top of the chain // if (i < 11) begin: mid_pc (* HBLKNM = {"kcpsm6_pc",id4} *) MUXCY pc_muxcy( .DI (1'b0), .CI (carry_pc[i-1]), .S (half_pc[i]), .O (carry_pc[i])); end //mid_pc end //upper_pc // /////////////////////////////////////////////////////////////////////////////////////////// // end //address_loop endgenerate // /////////////////////////////////////////////////////////////////////////////////////////// // // Stack // Preserves upto 31 nested values of the Program Counter during CALL and RETURN. // Also preserves flags and bank selection during interrupt. // // 2 x RAM32M // 4 x FD // 5 x FDR // 1 x LUT6 // 4 x LUT6_2 // 5 x XORCY // 5 x MUXCY // /////////////////////////////////////////////////////////////////////////////////////////// // (* HBLKNM = "kcpsm6_stack_ram0" *) FD shadow_carry_flag_flop( .D (stack_carry_flag), .Q (shadow_carry_flag), .C (clk)) ; (* HBLKNM = "kcpsm6_stack_ram0" *) FD stack_zero_flop( .D (stack_zero_flag), .Q (shadow_zero_value), .C (clk)) ; (* HBLKNM = "kcpsm6_decode1" *) FD shadow_zero_flag_flop( .D (shadow_zero_value), .Q (shadow_zero_flag), .C (clk)) ; (* HBLKNM = "kcpsm6_stack_ram0" *) FD shadow_bank_flop( .D (stack_bank), .Q (shadow_bank), .C (clk)) ; (* HBLKNM = "kcpsm6_stack_ram0" *) FD stack_bit_flop( .D (stack_bit), .Q (special_bit), .C (clk)) ; (* HBLKNM = "kcpsm6_stack_ram0" *) RAM32M #( .INIT_A (64'h0000000000000000), .INIT_B (64'h0000000000000000), .INIT_C (64'h0000000000000000), .INIT_D (64'h0000000000000000)) stack_ram_low ( .DOA ({stack_zero_flag, stack_carry_flag}), .DOB ({stack_bit, stack_bank}), .DOC (stack_memory[1:0]), .DOD (stack_memory[3:2]), .ADDRA (stack_pointer[4:0]), .ADDRB (stack_pointer[4:0]), .ADDRC (stack_pointer[4:0]), .ADDRD (stack_pointer[4:0]), .DIA ({zero_flag, carry_flag}), .DIB ({run, bank}), .DIC (pc[1:0]), .DID (pc[3:2]), .WE (t_state[1]), .WCLK (clk)); (* HBLKNM = "kcpsm6_stack_ram1" *) RAM32M #( .INIT_A (64'h0000000000000000), .INIT_B (64'h0000000000000000), .INIT_C (64'h0000000000000000), .INIT_D (64'h0000000000000000)) stack_ram_high( .DOA (stack_memory[5:4]), .DOB (stack_memory[7:6]), .DOC (stack_memory[9:8]), .DOD (stack_memory[11:10]), .ADDRA (stack_pointer[4:0]), .ADDRB (stack_pointer[4:0]), .ADDRC (stack_pointer[4:0]), .ADDRD (stack_pointer[4:0]), .DIA (pc[5:4]), .DIB (pc[7:6]), .DIC (pc[9:8]), .DID (pc[11:10]), .WE (t_state[1]), .WCLK (clk)); generate for (i = 0 ; i <= 4 ; i = i+1) begin : stack_loop parameter [7:0] id4 = 8'h30 + i/4 ; if (i == 0) begin: lsb_stack (* HBLKNM = {"kcpsm6_stack",id4} *) FDR pointer_flop( .D (stack_pointer_value[i]), .Q (stack_pointer[i]), .R (internal_reset), .C (clk)) ; (* HBLKNM = {"kcpsm6_stack",id4} *) LUT6_2 #( .INIT (64'h001529AAAAAAAAAA)) stack_pointer_lut( .I0 (stack_pointer[i]), .I1 (pop_stack), .I2 (push_stack), .I3 (t_state[1]), .I4 (t_state[2]), .I5 (1'b1), .O5 (feed_pointer_value[i]), .O6 (half_pointer_value[i])); (* HBLKNM = {"kcpsm6_stack",id4} *) XORCY stack_xorcy( .LI (half_pointer_value[i]), .CI (1'b0), .O (stack_pointer_value[i])); (* HBLKNM = {"kcpsm6_stack",id4} *) MUXCY stack_muxcy( .DI (feed_pointer_value[i]), .CI (1'b0), .S (half_pointer_value[i]), .O (stack_pointer_carry[i])); end //lsb_stack if (i > 0) begin: upper_stack (* HBLKNM = {"kcpsm6_stack",id4} *) FDR pointer_flop( .D (stack_pointer_value[i]), .Q (stack_pointer[i]), .R (internal_reset), .C (clk)) ; (* HBLKNM = {"kcpsm6_stack",id4} *) LUT6_2 #( .INIT (64'h002A252AAAAAAAAA)) stack_pointer_lut( .I0 (stack_pointer[i]), .I1 (pop_stack), .I2 (push_stack), .I3 (t_state[1]), .I4 (t_state[2]), .I5 (1'b1), .O5 (feed_pointer_value[i]), .O6 (half_pointer_value[i])); (* HBLKNM = {"kcpsm6_stack",id4} *) XORCY stack_xorcy( .LI (half_pointer_value[i]), .CI (stack_pointer_carry[i-1]), .O (stack_pointer_value[i])); (* HBLKNM = {"kcpsm6_stack",id4} *) MUXCY stack_muxcy( .DI (feed_pointer_value[i]), .CI (stack_pointer_carry[i-1]), .S (half_pointer_value[i]), .O (stack_pointer_carry[i])); end //upper_stack end //stack_loop endgenerate // /////////////////////////////////////////////////////////////////////////////////////////// // // 8-bit Data Path // /////////////////////////////////////////////////////////////////////////////////////////// // generate for (i = 0 ; i <= 7 ; i = i+1) begin : data_path_loop parameter [7:0] id1 = 8'h30 + i ; parameter [7:0] id2 = 8'h30 + i/2 ; parameter [7:0] id4 = 8'h30 + i/4 ; // /////////////////////////////////////////////////////////////////////////////////////////// // // Selection of second operand to ALU and port_id // // instruction[12] // 0 Register sY // 1 Constant kk // // 4 x LUT6_2 // /////////////////////////////////////////////////////////////////////////////////////////// // // // 2 bits per LUT so only generate when 'i' is even // if (i % 2 == 0) begin: output_data (* HBLKNM = "kcpsm6_port_id" *) LUT6_2 #( .INIT (64'hFF00F0F0CCCCAAAA)) sy_kk_mux_lut( .I0 (sy[i]), .I1 (instruction[i]), .I2 (sy[i+1]), .I3 (instruction[i+1]), .I4 (instruction[12]), .I5 (1'b1), .O5 (sy_or_kk[i]), .O6 (sy_or_kk[i+1])); end //output_data // /////////////////////////////////////////////////////////////////////////////////////////// // // Selection of out_port value // // instruction[13] // 0 Register sX // 1 Constant kk from instruction(11:4) // // 4 x LUT6_2 // /////////////////////////////////////////////////////////////////////////////////////////// // // // 2 bits per LUT so only generate when 'i' is even // if (i % 2 == 0) begin: second_operand (* HBLKNM = "kcpsm6_out_port" *) LUT6_2 #( .INIT (64'hFF00F0F0CCCCAAAA)) out_port_lut( .I0 (sx[i]), .I1 (instruction[i+4]), .I2 (sx[i+1]), .I3 (instruction[i+5]), .I4 (instruction[13]), .I5 (1'b1), .O5 (out_port[i]), .O6 (out_port[i+1])); end //second_operand; // /////////////////////////////////////////////////////////////////////////////////////////// // // Arithmetic and Logical operations // // Definition of.... // ADD and SUB also used for ADDCY, SUBCY, COMPARE and COMPARECY. // LOAD, AND, OR and XOR also used for LOAD*, RETURN&LOAD, TEST and TESTCY. // // arith_logical_sel [2] [1] [0] // 0 0 0 - LOAD // 0 0 1 - AND // 0 1 0 - OR // 0 1 1 - XOR // 1 X 0 - SUB // 1 X 1 - ADD // // Includes pipeline stage. // // 2 Slices // 8 x LUT6_2 // 8 x MUXCY // 8 x XORCY // 8 x FD // /////////////////////////////////////////////////////////////////////////////////////////// // (* HBLKNM = {"kcpsm6_add",id4} *) LUT6_2 #( .INIT (64'h69696E8ACCCC0000)) arith_logical_lut( .I0 (sy_or_kk[i]), .I1 (sx[i]), .I2 (arith_logical_sel[0]), .I3 (arith_logical_sel[1]), .I4 (arith_logical_sel[2]), .I5 (1'b1), .O5 (logical_carry_mask[i]), .O6 (half_arith_logical[i])); (* HBLKNM = {"kcpsm6_add",id4} *) FD arith_logical_flop( .D (arith_logical_value[i]), .Q (arith_logical_result[i]), .C (clk)) ; if (i == 0) begin: lsb_arith_logical // // Carry input to first MUXCY and XORCY // (* HBLKNM = {"kcpsm6_add",id4} *) MUXCY arith_logical_muxcy( .DI (logical_carry_mask[i]), .CI (arith_carry_in), .S (half_arith_logical[i]), .O (carry_arith_logical[i])); (* HBLKNM = {"kcpsm6_add",id4} *) XORCY arith_logical_xorcy( .LI (half_arith_logical[i]), .CI (arith_carry_in), .O (arith_logical_value[i])); end //lsb_arith_logical if (i > 0) begin: upper_arith_logical // // Main carry chain // (* HBLKNM = {"kcpsm6_add",id4} *) MUXCY arith_logical_muxcy( .DI (logical_carry_mask[i]), .CI (carry_arith_logical[i-1]), .S (half_arith_logical[i]), .O (carry_arith_logical[i])); (* HBLKNM = {"kcpsm6_add",id4} *) XORCY arith_logical_xorcy( .LI (half_arith_logical[i]), .CI (carry_arith_logical[i-1]), .O (arith_logical_value[i])); end //upper_arith_logical; // /////////////////////////////////////////////////////////////////////////////////////////// // // Shift and Rotate operations // // Definition of SL0, SL1, SLX, SLA, RL, SR0, SR1, SRX, SRA, and RR // // instruction [3] [2] [1] [0] // 0 1 1 0 - SL0 // 0 1 1 1 - SL1 // 0 1 0 0 - SLX // 0 0 0 0 - SLA // 0 0 1 0 - RL // 1 1 1 0 - SR0 // 1 1 1 1 - SR1 // 1 0 1 0 - SRX // 1 0 0 0 - SRA // 1 1 0 0 - RR // // instruction[3] // 0 - Left // 1 - Right // // instruction [2] [1] Bit shifted in // 0 0 Carry_flag // 0 1 sX[7] // 1 0 sX[0] // 1 1 instruction[0] // // Includes pipeline stage. // // 4 x LUT6_2 // 1 x LUT6 // 8 x FD // /////////////////////////////////////////////////////////////////////////////////////////// // if (hwbuild[i] == 1'b0) begin: low_hwbuild // // Reset Flip-flop to form 1'b0 for this bit of HWBUILD // (* HBLKNM = "kcpsm6_sandr" *) FDR shift_rotate_flop( .D (shift_rotate_value[i]), .Q (shift_rotate_result[i]), .R (instruction[7]), .C (clk)) ; end // low_hwbuild; if (hwbuild[i] == 1'b1) begin: high_hwbuild // // Set Flip-flop to form 1'b1 for this bit of HWBUILD // (* HBLKNM = "kcpsm6_sandr" *) FDS shift_rotate_flop( .D (shift_rotate_value[i]), .Q (shift_rotate_result[i]), .S (instruction[7]), .C (clk)) ; end // high_hwbuild; if (i == 0) begin: lsb_shift_rotate // // Select bit to be shifted or rotated into result // (* HBLKNM = "kcpsm6_decode1" *) LUT6 #( .INIT (64'hBFBC8F8CB3B08380)) shift_bit_lut( .I0 (instruction[0]), .I1 (instruction[1]), .I2 (instruction[2]), .I3 (carry_flag), .I4 (sx[0]), .I5 (sx[7]), .O (shift_in_bit)); // // Define lower bits of result // (* HBLKNM = "kcpsm6_sandr" *) LUT6_2 #( .INIT (64'hFF00F0F0CCCCAAAA)) shift_rotate_lut( .I0 (shift_in_bit), .I1 (sx[i+1]), .I2 (sx[i]), .I3 (sx[i+2]), .I4 (instruction[3]), .I5 (1'b1), .O5 (shift_rotate_value[i]), .O6 (shift_rotate_value[i+1])); end // lsb_shift_rotate; if (i == 2 || i == 4) begin: mid_shift_rotate // // Define middle bits of result // (* HBLKNM = "kcpsm6_sandr" *) LUT6_2 #( .INIT (64'hFF00F0F0CCCCAAAA)) shift_rotate_lut( .I0 (sx[i-1]), .I1 (sx[i+1]), .I2 (sx[i]), .I3 (sx[i+2]), .I4 (instruction[3]), .I5 (1'b1), .O5 (shift_rotate_value[i]), .O6 (shift_rotate_value[i+1])); end // mid_shift_rotate; if (i == 6) begin: msb_shift_rotate // // Define upper bits of result // (* HBLKNM = "kcpsm6_sandr" *) LUT6_2 #( .INIT (64'hFF00F0F0CCCCAAAA)) shift_rotate_lut( .I0 (sx[i-1]), .I1 (sx[i+1]), .I2 (sx[i]), .I3 (shift_in_bit), .I4 (instruction[3]), .I5 (1'b1), .O5 (shift_rotate_value[i]), .O6 (shift_rotate_value[i+1])); end // msb_shift_rotate; // /////////////////////////////////////////////////////////////////////////////////////////// // // Multiplex outputs from ALU functions, scratch pad memory and input port. // // alu_mux_sel [1] [0] // 0 0 Arithmetic and Logical Instructions // 0 1 Shift and Rotate Instructions // 1 0 Input Port // 1 1 Scratch Pad Memory // // 8 x LUT6 // /////////////////////////////////////////////////////////////////////////////////////////// // (* HBLKNM = {"kcpsm6_alu",id4} *) LUT6 #( .INIT (64'hFF00F0F0CCCCAAAA)) alu_mux_lut( .I0 (arith_logical_result[i]), .I1 (shift_rotate_result[i]), .I2 (in_port[i]), .I3 (spm_data[i]), .I4 (alu_mux_sel[0]), .I5 (alu_mux_sel[1]), .O (alu_result[i])); // /////////////////////////////////////////////////////////////////////////////////////////// // // Scratchpad Memory with output register. // // The size of the scratch pad memory is defined by the 'scratch_pad_memory_size' generic. // The default size is 64 bytes the same as KCPSM3 but this can be increased to 128 or 256 // bytes at an additional cost of 2 and 6 Slices. // // // 8 x RAM256X1S (256 bytes). // 8 x RAM128X1S (128 bytes). // 2 x RAM64M (64 bytes). // // 8 x FD. // /////////////////////////////////////////////////////////////////////////////////////////// // if (scratch_pad_memory_size == 64) begin : small_spm (* HBLKNM = {"kcpsm6_spm",id4} *) FD spm_flop( .D (spm_ram_data[i]), .Q (spm_data[i]), .C (clk)) ; if (i == 0 || i == 4) begin: small_spm_ram RAM64M #( .INIT_A (64'h0000000000000000), .INIT_B (64'h0000000000000000), .INIT_C (64'h0000000000000000), .INIT_D (64'h0000000000000000)) spm_ram( .DOA (spm_ram_data[i]), .DOB (spm_ram_data[i+1]), .DOC (spm_ram_data[i+2]), .DOD (spm_ram_data[i+3]), .ADDRA (sy_or_kk[5:0]), .ADDRB (sy_or_kk[5:0]), .ADDRC (sy_or_kk[5:0]), .ADDRD (sy_or_kk[5:0]), .DIA (sx[i]), .DIB (sx[i+1]), .DIC (sx[i+2]), .DID (sx[i+3]), .WE (spm_enable), .WCLK (clk)); end // small_spm_ram; end // small_spm; if (scratch_pad_memory_size == 128) begin : medium_spm (* HBLKNM = {"kcpsm6_spm",id2} *) RAM128X1S #( .INIT (128'h00000000000000000000000000000000)) spm_ram( .D (sx[i]), .WE (spm_enable), .WCLK (clk), .A0 (sy_or_kk[0]), .A1 (sy_or_kk[1]), .A2 (sy_or_kk[2]), .A3 (sy_or_kk[3]), .A4 (sy_or_kk[4]), .A5 (sy_or_kk[5]), .A6 (sy_or_kk[6]), .O (spm_ram_data[i])); (* HBLKNM = {"kcpsm6_spm",id2} *) FD spm_flop( .D (spm_ram_data[i]), .Q (spm_data[i]), .C (clk)) ; end // medium_spm; if (scratch_pad_memory_size == 256) begin : large_spm (* HBLKNM = {"kcpsm6_spm",id1} *) RAM256X1S #( .INIT (256'h0000000000000000000000000000000000000000000000000000000000000000)) spm_ram ( .D (sx[i]), .WE (spm_enable), .WCLK (clk), .A (sy_or_kk), .O (spm_ram_data[i])); (* HBLKNM = {"kcpsm6_spm",id1} *) FD spm_flop( .D (spm_ram_data[i]), .Q (spm_data[i]), .C (clk)) ; end // large_spm; // /////////////////////////////////////////////////////////////////////////////////////////// // end // data_path_loop; endgenerate // /////////////////////////////////////////////////////////////////////////////////////////// // // Two Banks of 16 General Purpose Registers. // // sx_addr - Address for sX is formed by bank select and instruction[11:8] // sy_addr - Address for sY is formed by bank select and instruction[7:4] // // 2 Slices // 2 x RAM32M // /////////////////////////////////////////////////////////////////////////////////////////// // (* HBLKNM = "kcpsm6_reg0" *) RAM32M #( .INIT_A (64'h0000000000000000), .INIT_B (64'h0000000000000000), .INIT_C (64'h0000000000000000), .INIT_D (64'h0000000000000000)) lower_reg_banks( .DOA (sy[1:0]), .DOB (sx[1:0]), .DOC (sy[3:2]), .DOD (sx[3:2]), .ADDRA (sy_addr), .ADDRB (sx_addr), .ADDRC (sy_addr), .ADDRD (sx_addr), .DIA (alu_result[1:0]), .DIB (alu_result[1:0]), .DIC (alu_result[3:2]), .DID (alu_result[3:2]), .WE (register_enable), .WCLK (clk)); (* HBLKNM = "kcpsm6_reg1" *) RAM32M #( .INIT_A (64'h0000000000000000), .INIT_B (64'h0000000000000000), .INIT_C (64'h0000000000000000), .INIT_D (64'h0000000000000000)) upper_reg_banks( .DOA (sy[5:4]), .DOB (sx[5:4]), .DOC (sy[7:6]), .DOD (sx[7:6]), .ADDRA (sy_addr), .ADDRB (sx_addr), .ADDRC (sy_addr), .ADDRD (sx_addr), .DIA (alu_result[5:4]), .DIB (alu_result[5:4]), .DIC (alu_result[7:6]), .DID (alu_result[7:6]), .WE (register_enable), .WCLK (clk)); // /////////////////////////////////////////////////////////////////////////////////////////// // // Connections to KCPSM6 outputs. // /////////////////////////////////////////////////////////////////////////////////////////// // assign address = pc; assign bram_enable = t_state[2]; // /////////////////////////////////////////////////////////////////////////////////////////// // // Connections KCPSM6 Outputs. // /////////////////////////////////////////////////////////////////////////////////////////// // assign port_id = sy_or_kk; // /////////////////////////////////////////////////////////////////////////////////////////// // // End of description for kcpsm6 macro. // /////////////////////////////////////////////////////////////////////////////////////////// // // ***************************************************** // * Code for simulation purposes only after this line * // ***************************************************** // // // Disassemble the instruction codes to form a text string for display. // Determine status of reset and flags and present in the form of a text string. // Provide signals to simulate the contents of each register and scratch pad memory // location. // /////////////////////////////////////////////////////////////////////////////////////////// // //All of this section is ignored during synthesis. //synthesis translate_off // // // Variables for contents of each register in each bank // reg [7:0] bank_a_s0 ; reg [7:0] bank_a_s1 ; reg [7:0] bank_a_s2 ; reg [7:0] bank_a_s3 ; reg [7:0] bank_a_s4 ; reg [7:0] bank_a_s5 ; reg [7:0] bank_a_s6 ; reg [7:0] bank_a_s7 ; reg [7:0] bank_a_s8 ; reg [7:0] bank_a_s9 ; reg [7:0] bank_a_sa ; reg [7:0] bank_a_sb ; reg [7:0] bank_a_sc ; reg [7:0] bank_a_sd ; reg [7:0] bank_a_se ; reg [7:0] bank_a_sf ; reg [7:0] bank_b_s0 ; reg [7:0] bank_b_s1 ; reg [7:0] bank_b_s2 ; reg [7:0] bank_b_s3 ; reg [7:0] bank_b_s4 ; reg [7:0] bank_b_s5 ; reg [7:0] bank_b_s6 ; reg [7:0] bank_b_s7 ; reg [7:0] bank_b_s8 ; reg [7:0] bank_b_s9 ; reg [7:0] bank_b_sa ; reg [7:0] bank_b_sb ; reg [7:0] bank_b_sc ; reg [7:0] bank_b_sd ; reg [7:0] bank_b_se ; reg [7:0] bank_b_sf ; // initial begin bank_a_s0 = 8'h00 ; bank_a_s1 = 8'h00 ; bank_a_s2 = 8'h00 ; bank_a_s3 = 8'h00 ; bank_a_s4 = 8'h00 ; bank_a_s5 = 8'h00 ; bank_a_s6 = 8'h00 ; bank_a_s7 = 8'h00 ; bank_a_s8 = 8'h00 ; bank_a_s9 = 8'h00 ; bank_a_sa = 8'h00 ; bank_a_sb = 8'h00 ; bank_a_sc = 8'h00 ; bank_a_sd = 8'h00 ; bank_a_se = 8'h00 ; bank_a_sf = 8'h00 ; bank_b_s0 = 8'h00 ; bank_b_s1 = 8'h00 ; bank_b_s2 = 8'h00 ; bank_b_s3 = 8'h00 ; bank_b_s4 = 8'h00 ; bank_b_s5 = 8'h00 ; bank_b_s6 = 8'h00 ; bank_b_s7 = 8'h00 ; bank_b_s8 = 8'h00 ; bank_b_s9 = 8'h00 ; bank_b_sa = 8'h00 ; bank_b_sb = 8'h00 ; bank_b_sc = 8'h00 ; bank_b_sd = 8'h00 ; bank_b_se = 8'h00 ; bank_b_sf = 8'h00 ; end // // Temporary variables for instruction decoding // wire [1:16] sx_decode ; //sX register specification wire [1:16] sy_decode ; //sY register specification wire [1:16] kk_decode ; //constant value specification wire [1:24] aaa_decode ; //address specification wire clk_del ; // Delayed clock for simulation // ///////////////////////////////////////////////////////////////////////////////////////// // // Function to convert 4-bit binary nibble to hexadecimal character // ///////////////////////////////////////////////////////////////////////////////////////// // function [1:8] hexcharacter ; input [3:0] nibble ; begin case (nibble) 4'b0000 : hexcharacter = "0" ; 4'b0001 : hexcharacter = "1" ; 4'b0010 : hexcharacter = "2" ; 4'b0011 : hexcharacter = "3" ; 4'b0100 : hexcharacter = "4" ; 4'b0101 : hexcharacter = "5" ; 4'b0110 : hexcharacter = "6" ; 4'b0111 : hexcharacter = "7" ; 4'b1000 : hexcharacter = "8" ; 4'b1001 : hexcharacter = "9" ; 4'b1010 : hexcharacter = "A" ; 4'b1011 : hexcharacter = "B" ; 4'b1100 : hexcharacter = "C" ; 4'b1101 : hexcharacter = "D" ; 4'b1110 : hexcharacter = "E" ; 4'b1111 : hexcharacter = "F" ; endcase end endfunction // ///////////////////////////////////////////////////////////////////////////////////////// // // decode first register sX assign sx_decode[1:8] = "s"; assign sx_decode[9:16] = hexcharacter(instruction[11:8]); // decode second register sY assign sy_decode[1:8] = "s"; assign sy_decode[9:16] = hexcharacter(instruction[7:4]); // decode constant value assign kk_decode[1:8] = hexcharacter(instruction[7:4]); assign kk_decode[9:16] = hexcharacter(instruction[3:0]); // address value assign aaa_decode[1:8] = hexcharacter(instruction[11:8]); assign aaa_decode[9:16] = hexcharacter(instruction[7:4]); assign aaa_decode[17:24] = hexcharacter(instruction[3:0]); assign #200 clk_del = clk ; // decode instruction //always @ (clk or instruction or carry_flag or zero_flag or bank or interrupt_enable) always @ (posedge clk_del) begin : simulation case (instruction[17:12]) 6'b000000 : kcpsm6_opcode <= {"LOAD ", sx_decode, ", ", sy_decode, " "} ; 6'b000001 : kcpsm6_opcode <= {"LOAD ", sx_decode, ", ", kk_decode, " "} ; 6'b010110 : kcpsm6_opcode <= {"STAR ", sx_decode, ", ", sy_decode, " "} ; 6'b000010 : kcpsm6_opcode <= {"AND ", sx_decode, ", ", sy_decode, " "} ; 6'b000011 : kcpsm6_opcode <= {"AND ", sx_decode, ", ", kk_decode, " "} ; 6'b000100 : kcpsm6_opcode <= {"OR ", sx_decode, ", ", sy_decode, " "} ; 6'b000101 : kcpsm6_opcode <= {"OR ", sx_decode, ", ", kk_decode, " "} ; 6'b000110 : kcpsm6_opcode <= {"XOR ", sx_decode, ", ", sy_decode, " "} ; 6'b000111 : kcpsm6_opcode <= {"XOR ", sx_decode, ", ", kk_decode, " "} ; 6'b001100 : kcpsm6_opcode <= {"TEST ", sx_decode, ", ", sy_decode, " "} ; 6'b001101 : kcpsm6_opcode <= {"TEST ", sx_decode, ", ", kk_decode, " "} ; 6'b001110 : kcpsm6_opcode <= {"TESTCY ", sx_decode, ", ", sy_decode, " "} ; 6'b001111 : kcpsm6_opcode <= {"TESTCY ", sx_decode, ", ", kk_decode, " "} ; 6'b010000 : kcpsm6_opcode <= {"ADD ", sx_decode, ", ", sy_decode, " "} ; 6'b010001 : kcpsm6_opcode <= {"ADD ", sx_decode, ", ", kk_decode, " "} ; 6'b010010 : kcpsm6_opcode <= {"ADDCY ", sx_decode, ", ", sy_decode, " "} ; 6'b010011 : kcpsm6_opcode <= {"ADDCY ", sx_decode, ", ", kk_decode, " "} ; 6'b011000 : kcpsm6_opcode <= {"SUB ", sx_decode, ", ", sy_decode, " "} ; 6'b011001 : kcpsm6_opcode <= {"SUB ", sx_decode, ", ", kk_decode, " "} ; 6'b011010 : kcpsm6_opcode <= {"SUBCY ", sx_decode, ", ", sy_decode, " "} ; 6'b011011 : kcpsm6_opcode <= {"SUBCY ", sx_decode, ", ", kk_decode, " "} ; 6'b011100 : kcpsm6_opcode <= {"COMPARE ", sx_decode, ", ", sy_decode, " "} ; 6'b011101 : kcpsm6_opcode <= {"COMPARE ", sx_decode, ", ", kk_decode, " "} ; 6'b011110 : kcpsm6_opcode <= {"COMPARECY ", sx_decode, ", ", sy_decode, " "} ; 6'b011111 : kcpsm6_opcode <= {"COMPARECY ", sx_decode, ", ", kk_decode, " "} ; 6'b010100 : begin if (instruction[7] == 1'b1) kcpsm6_opcode <= {"HWBUILD ", sx_decode, " "} ; else case (instruction[3:0]) 4'b0110 : kcpsm6_opcode <= {"SL0 ", sx_decode, " "} ; 4'b0111 : kcpsm6_opcode <= {"SL1 ", sx_decode, " "} ; 4'b0100 : kcpsm6_opcode <= {"SLX ", sx_decode, " "} ; 4'b0000 : kcpsm6_opcode <= {"SLA ", sx_decode, " "} ; 4'b0010 : kcpsm6_opcode <= {"RL ", sx_decode, " "} ; 4'b1110 : kcpsm6_opcode <= {"SR0 ", sx_decode, " "} ; 4'b1111 : kcpsm6_opcode <= {"SR1 ", sx_decode, " "} ; 4'b1010 : kcpsm6_opcode <= {"SRX ", sx_decode, " "} ; 4'b1000 : kcpsm6_opcode <= {"SRA ", sx_decode, " "} ; 4'b1100 : kcpsm6_opcode <= {"RR ", sx_decode, " "} ; default : kcpsm6_opcode <= "Invalid Instruction"; endcase end 6'b101100 : kcpsm6_opcode <= {"OUTPUT ", sx_decode, ", (", sy_decode, ") "} ; 6'b101101 : kcpsm6_opcode <= {"OUTPUT ", sx_decode, ", ", kk_decode, " "} ; 6'b101011 : kcpsm6_opcode <= {"OUTPUTK ", aaa_decode[1:16], ", ", aaa_decode[17:24], " " }; 6'b001000 : kcpsm6_opcode <= {"INPUT ", sx_decode, ", (", sy_decode, ") "} ; 6'b001001 : kcpsm6_opcode <= {"INPUT ", sx_decode, ", ", kk_decode, " "} ; 6'b101110 : kcpsm6_opcode <= {"STORE ", sx_decode, ", (", sy_decode, ") "} ; 6'b101111 : kcpsm6_opcode <= {"STORE ", sx_decode, ", ", kk_decode, " "} ; 6'b001010 : kcpsm6_opcode <= {"FETCH ", sx_decode, ", (", sy_decode, ") "} ; 6'b001011 : kcpsm6_opcode <= {"FETCH ", sx_decode, ", ", kk_decode, " "} ; 6'b100010 : kcpsm6_opcode <= {"JUMP ", aaa_decode, " "} ; 6'b110010 : kcpsm6_opcode <= {"JUMP Z, ", aaa_decode, " "} ; 6'b110110 : kcpsm6_opcode <= {"JUMP NZ, ", aaa_decode, " "} ; 6'b111010 : kcpsm6_opcode <= {"JUMP C, ", aaa_decode, " "} ; 6'b111110 : kcpsm6_opcode <= {"JUMP NC, ", aaa_decode, " "} ; 6'b100110 : kcpsm6_opcode <= {"JUMP@ (", sx_decode, ", ", sy_decode, ") "} ; 6'b100000 : kcpsm6_opcode <= {"CALL ", aaa_decode, " "} ; 6'b110000 : kcpsm6_opcode <= {"CALL Z, ", aaa_decode, " "} ; 6'b110100 : kcpsm6_opcode <= {"CALL NZ, ", aaa_decode, " "} ; 6'b111000 : kcpsm6_opcode <= {"CALL C, ", aaa_decode, " "} ; 6'b111100 : kcpsm6_opcode <= {"CALL NC, ", aaa_decode, " "} ; 6'b100100 : kcpsm6_opcode <= {"CALL@ (", sx_decode, ", ", sy_decode, ") "} ; 6'b100101 : kcpsm6_opcode <= {"RETURN "} ; 6'b110001 : kcpsm6_opcode <= {"RETURN Z "} ; 6'b110101 : kcpsm6_opcode <= {"RETURN NZ "} ; 6'b111001 : kcpsm6_opcode <= {"RETURN C "} ; 6'b111101 : kcpsm6_opcode <= {"RETURN NC "} ; 6'b100001 : kcpsm6_opcode <= {"LOAD&RETURN ", sx_decode, ", ", kk_decode, " "} ; 6'b101001 : begin case (instruction[0]) 1'b0 : kcpsm6_opcode <= "RETURNI DISABLE "; 1'b1 : kcpsm6_opcode <= "RETURNI ENABLE "; default : kcpsm6_opcode <= "Invalid Instruction"; endcase end 6'b101000 : begin case (instruction[0]) 1'b0 : kcpsm6_opcode <= "DISABLE INTERRUPT "; 1'b1 : kcpsm6_opcode <= "ENABLE INTERRUPT "; default : kcpsm6_opcode <= "Invalid Instruction"; endcase end 6'b110111 : begin case (instruction[0]) 1'b0 : kcpsm6_opcode <= "REGBANK A "; 1'b1 : kcpsm6_opcode <= "REGBANK B "; default : kcpsm6_opcode <= "Invalid Instruction"; endcase end default : kcpsm6_opcode <= "Invalid Instruction"; endcase // Flag status information if (zero_flag == 1'b0) kcpsm6_status[17:40] <= "NZ,"; else kcpsm6_status[17:40] <= " Z,"; if (carry_flag == 1'b0) kcpsm6_status[41:64] <= "NC,"; else kcpsm6_status[41:64] <= " C,"; if (interrupt_enable == 1'b0) kcpsm6_status[65:80] <= "ID"; else kcpsm6_status[65:80] <= "IE"; // Operational status if (clk) begin if (internal_reset == 1'b1) kcpsm6_status[81 : 128] <= ",Reset"; else if (sync_sleep == 1'b1 && t_state == 2'b00) kcpsm6_status[81 : 128] <= ",Sleep"; else kcpsm6_status[81 : 128] <= " "; end // Simulation of register contents if (clk) begin if (register_enable == 1'b1) begin case (sx_addr) 5'b00000 : bank_a_s0 <= alu_result ; 5'b00001 : bank_a_s1 <= alu_result ; 5'b00010 : bank_a_s2 <= alu_result ; 5'b00011 : bank_a_s3 <= alu_result ; 5'b00100 : bank_a_s4 <= alu_result ; 5'b00101 : bank_a_s5 <= alu_result ; 5'b00110 : bank_a_s6 <= alu_result ; 5'b00111 : bank_a_s7 <= alu_result ; 5'b01000 : bank_a_s8 <= alu_result ; 5'b01001 : bank_a_s9 <= alu_result ; 5'b01010 : bank_a_sa <= alu_result ; 5'b01011 : bank_a_sb <= alu_result ; 5'b01100 : bank_a_sc <= alu_result ; 5'b01101 : bank_a_sd <= alu_result ; 5'b01110 : bank_a_se <= alu_result ; 5'b01111 : bank_a_sf <= alu_result ; 5'b10000 : bank_b_s0 <= alu_result ; 5'b10001 : bank_b_s1 <= alu_result ; 5'b10010 : bank_b_s2 <= alu_result ; 5'b10011 : bank_b_s3 <= alu_result ; 5'b10100 : bank_b_s4 <= alu_result ; 5'b10101 : bank_b_s5 <= alu_result ; 5'b10110 : bank_b_s6 <= alu_result ; 5'b10111 : bank_b_s7 <= alu_result ; 5'b11000 : bank_b_s8 <= alu_result ; 5'b11001 : bank_b_s9 <= alu_result ; 5'b11010 : bank_b_sa <= alu_result ; 5'b11011 : bank_b_sb <= alu_result ; 5'b11100 : bank_b_sc <= alu_result ; 5'b11101 : bank_b_sd <= alu_result ; 5'b11110 : bank_b_se <= alu_result ; 5'b11111 : bank_b_sf <= alu_result ; endcase end //simulation of scratch pad memory contents if (spm_enable == 1'b1) begin case (sy_or_kk) 8'b00000000 : sim_spm00 <= sx; 8'b00000001 : sim_spm01 <= sx; 8'b00000010 : sim_spm02 <= sx; 8'b00000011 : sim_spm03 <= sx; 8'b00000100 : sim_spm04 <= sx; 8'b00000101 : sim_spm05 <= sx; 8'b00000110 : sim_spm06 <= sx; 8'b00000111 : sim_spm07 <= sx; 8'b00001000 : sim_spm08 <= sx; 8'b00001001 : sim_spm09 <= sx; 8'b00001010 : sim_spm0A <= sx; 8'b00001011 : sim_spm0B <= sx; 8'b00001100 : sim_spm0C <= sx; 8'b00001101 : sim_spm0D <= sx; 8'b00001110 : sim_spm0E <= sx; 8'b00001111 : sim_spm0F <= sx; 8'b00010000 : sim_spm10 <= sx; 8'b00010001 : sim_spm11 <= sx; 8'b00010010 : sim_spm12 <= sx; 8'b00010011 : sim_spm13 <= sx; 8'b00010100 : sim_spm14 <= sx; 8'b00010101 : sim_spm15 <= sx; 8'b00010110 : sim_spm16 <= sx; 8'b00010111 : sim_spm17 <= sx; 8'b00011000 : sim_spm18 <= sx; 8'b00011001 : sim_spm19 <= sx; 8'b00011010 : sim_spm1A <= sx; 8'b00011011 : sim_spm1B <= sx; 8'b00011100 : sim_spm1C <= sx; 8'b00011101 : sim_spm1D <= sx; 8'b00011110 : sim_spm1E <= sx; 8'b00011111 : sim_spm1F <= sx; 8'b00100000 : sim_spm20 <= sx; 8'b00100001 : sim_spm21 <= sx; 8'b00100010 : sim_spm22 <= sx; 8'b00100011 : sim_spm23 <= sx; 8'b00100100 : sim_spm24 <= sx; 8'b00100101 : sim_spm25 <= sx; 8'b00100110 : sim_spm26 <= sx; 8'b00100111 : sim_spm27 <= sx; 8'b00101000 : sim_spm28 <= sx; 8'b00101001 : sim_spm29 <= sx; 8'b00101010 : sim_spm2A <= sx; 8'b00101011 : sim_spm2B <= sx; 8'b00101100 : sim_spm2C <= sx; 8'b00101101 : sim_spm2D <= sx; 8'b00101110 : sim_spm2E <= sx; 8'b00101111 : sim_spm2F <= sx; 8'b00110000 : sim_spm30 <= sx; 8'b00110001 : sim_spm31 <= sx; 8'b00110010 : sim_spm32 <= sx; 8'b00110011 : sim_spm33 <= sx; 8'b00110100 : sim_spm34 <= sx; 8'b00110101 : sim_spm35 <= sx; 8'b00110110 : sim_spm36 <= sx; 8'b00110111 : sim_spm37 <= sx; 8'b00111000 : sim_spm38 <= sx; 8'b00111001 : sim_spm39 <= sx; 8'b00111010 : sim_spm3A <= sx; 8'b00111011 : sim_spm3B <= sx; 8'b00111100 : sim_spm3C <= sx; 8'b00111101 : sim_spm3D <= sx; 8'b00111110 : sim_spm3E <= sx; 8'b00111111 : sim_spm3F <= sx; 8'b01000000 : sim_spm40 <= sx; 8'b01000001 : sim_spm41 <= sx; 8'b01000010 : sim_spm42 <= sx; 8'b01000011 : sim_spm43 <= sx; 8'b01000100 : sim_spm44 <= sx; 8'b01000101 : sim_spm45 <= sx; 8'b01000110 : sim_spm46 <= sx; 8'b01000111 : sim_spm47 <= sx; 8'b01001000 : sim_spm48 <= sx; 8'b01001001 : sim_spm49 <= sx; 8'b01001010 : sim_spm4A <= sx; 8'b01001011 : sim_spm4B <= sx; 8'b01001100 : sim_spm4C <= sx; 8'b01001101 : sim_spm4D <= sx; 8'b01001110 : sim_spm4E <= sx; 8'b01001111 : sim_spm4F <= sx; 8'b01010000 : sim_spm50 <= sx; 8'b01010001 : sim_spm51 <= sx; 8'b01010010 : sim_spm52 <= sx; 8'b01010011 : sim_spm53 <= sx; 8'b01010100 : sim_spm54 <= sx; 8'b01010101 : sim_spm55 <= sx; 8'b01010110 : sim_spm56 <= sx; 8'b01010111 : sim_spm57 <= sx; 8'b01011000 : sim_spm58 <= sx; 8'b01011001 : sim_spm59 <= sx; 8'b01011010 : sim_spm5A <= sx; 8'b01011011 : sim_spm5B <= sx; 8'b01011100 : sim_spm5C <= sx; 8'b01011101 : sim_spm5D <= sx; 8'b01011110 : sim_spm5E <= sx; 8'b01011111 : sim_spm5F <= sx; 8'b01100000 : sim_spm60 <= sx; 8'b01100001 : sim_spm61 <= sx; 8'b01100010 : sim_spm62 <= sx; 8'b01100011 : sim_spm63 <= sx; 8'b01100100 : sim_spm64 <= sx; 8'b01100101 : sim_spm65 <= sx; 8'b01100110 : sim_spm66 <= sx; 8'b01100111 : sim_spm67 <= sx; 8'b01101000 : sim_spm68 <= sx; 8'b01101001 : sim_spm69 <= sx; 8'b01101010 : sim_spm6A <= sx; 8'b01101011 : sim_spm6B <= sx; 8'b01101100 : sim_spm6C <= sx; 8'b01101101 : sim_spm6D <= sx; 8'b01101110 : sim_spm6E <= sx; 8'b01101111 : sim_spm6F <= sx; 8'b01110000 : sim_spm70 <= sx; 8'b01110001 : sim_spm71 <= sx; 8'b01110010 : sim_spm72 <= sx; 8'b01110011 : sim_spm73 <= sx; 8'b01110100 : sim_spm74 <= sx; 8'b01110101 : sim_spm75 <= sx; 8'b01110110 : sim_spm76 <= sx; 8'b01110111 : sim_spm77 <= sx; 8'b01111000 : sim_spm78 <= sx; 8'b01111001 : sim_spm79 <= sx; 8'b01111010 : sim_spm7A <= sx; 8'b01111011 : sim_spm7B <= sx; 8'b01111100 : sim_spm7C <= sx; 8'b01111101 : sim_spm7D <= sx; 8'b01111110 : sim_spm7E <= sx; 8'b01111111 : sim_spm7F <= sx; 8'b10000000 : sim_spm80 <= sx; 8'b10000001 : sim_spm81 <= sx; 8'b10000010 : sim_spm82 <= sx; 8'b10000011 : sim_spm83 <= sx; 8'b10000100 : sim_spm84 <= sx; 8'b10000101 : sim_spm85 <= sx; 8'b10000110 : sim_spm86 <= sx; 8'b10000111 : sim_spm87 <= sx; 8'b10001000 : sim_spm88 <= sx; 8'b10001001 : sim_spm89 <= sx; 8'b10001010 : sim_spm8A <= sx; 8'b10001011 : sim_spm8B <= sx; 8'b10001100 : sim_spm8C <= sx; 8'b10001101 : sim_spm8D <= sx; 8'b10001110 : sim_spm8E <= sx; 8'b10001111 : sim_spm8F <= sx; 8'b10010000 : sim_spm90 <= sx; 8'b10010001 : sim_spm91 <= sx; 8'b10010010 : sim_spm92 <= sx; 8'b10010011 : sim_spm93 <= sx; 8'b10010100 : sim_spm94 <= sx; 8'b10010101 : sim_spm95 <= sx; 8'b10010110 : sim_spm96 <= sx; 8'b10010111 : sim_spm97 <= sx; 8'b10011000 : sim_spm98 <= sx; 8'b10011001 : sim_spm99 <= sx; 8'b10011010 : sim_spm9A <= sx; 8'b10011011 : sim_spm9B <= sx; 8'b10011100 : sim_spm9C <= sx; 8'b10011101 : sim_spm9D <= sx; 8'b10011110 : sim_spm9E <= sx; 8'b10011111 : sim_spm9F <= sx; 8'b10100000 : sim_spmA0 <= sx; 8'b10100001 : sim_spmA1 <= sx; 8'b10100010 : sim_spmA2 <= sx; 8'b10100011 : sim_spmA3 <= sx; 8'b10100100 : sim_spmA4 <= sx; 8'b10100101 : sim_spmA5 <= sx; 8'b10100110 : sim_spmA6 <= sx; 8'b10100111 : sim_spmA7 <= sx; 8'b10101000 : sim_spmA8 <= sx; 8'b10101001 : sim_spmA9 <= sx; 8'b10101010 : sim_spmAA <= sx; 8'b10101011 : sim_spmAB <= sx; 8'b10101100 : sim_spmAC <= sx; 8'b10101101 : sim_spmAD <= sx; 8'b10101110 : sim_spmAE <= sx; 8'b10101111 : sim_spmAF <= sx; 8'b10110000 : sim_spmB0 <= sx; 8'b10110001 : sim_spmB1 <= sx; 8'b10110010 : sim_spmB2 <= sx; 8'b10110011 : sim_spmB3 <= sx; 8'b10110100 : sim_spmB4 <= sx; 8'b10110101 : sim_spmB5 <= sx; 8'b10110110 : sim_spmB6 <= sx; 8'b10110111 : sim_spmB7 <= sx; 8'b10111000 : sim_spmB8 <= sx; 8'b10111001 : sim_spmB9 <= sx; 8'b10111010 : sim_spmBA <= sx; 8'b10111011 : sim_spmBB <= sx; 8'b10111100 : sim_spmBC <= sx; 8'b10111101 : sim_spmBD <= sx; 8'b10111110 : sim_spmBE <= sx; 8'b10111111 : sim_spmBF <= sx; 8'b11000000 : sim_spmC0 <= sx; 8'b11000001 : sim_spmC1 <= sx; 8'b11000010 : sim_spmC2 <= sx; 8'b11000011 : sim_spmC3 <= sx; 8'b11000100 : sim_spmC4 <= sx; 8'b11000101 : sim_spmC5 <= sx; 8'b11000110 : sim_spmC6 <= sx; 8'b11000111 : sim_spmC7 <= sx; 8'b11001000 : sim_spmC8 <= sx; 8'b11001001 : sim_spmC9 <= sx; 8'b11001010 : sim_spmCA <= sx; 8'b11001011 : sim_spmCB <= sx; 8'b11001100 : sim_spmCC <= sx; 8'b11001101 : sim_spmCD <= sx; 8'b11001110 : sim_spmCE <= sx; 8'b11001111 : sim_spmCF <= sx; 8'b11010000 : sim_spmD0 <= sx; 8'b11010001 : sim_spmD1 <= sx; 8'b11010010 : sim_spmD2 <= sx; 8'b11010011 : sim_spmD3 <= sx; 8'b11010100 : sim_spmD4 <= sx; 8'b11010101 : sim_spmD5 <= sx; 8'b11010110 : sim_spmD6 <= sx; 8'b11010111 : sim_spmD7 <= sx; 8'b11011000 : sim_spmD8 <= sx; 8'b11011001 : sim_spmD9 <= sx; 8'b11011010 : sim_spmDA <= sx; 8'b11011011 : sim_spmDB <= sx; 8'b11011100 : sim_spmDC <= sx; 8'b11011101 : sim_spmDD <= sx; 8'b11011110 : sim_spmDE <= sx; 8'b11011111 : sim_spmDF <= sx; 8'b11100000 : sim_spmE0 <= sx; 8'b11100001 : sim_spmE1 <= sx; 8'b11100010 : sim_spmE2 <= sx; 8'b11100011 : sim_spmE3 <= sx; 8'b11100100 : sim_spmE4 <= sx; 8'b11100101 : sim_spmE5 <= sx; 8'b11100110 : sim_spmE6 <= sx; 8'b11100111 : sim_spmE7 <= sx; 8'b11101000 : sim_spmE8 <= sx; 8'b11101001 : sim_spmE9 <= sx; 8'b11101010 : sim_spmEA <= sx; 8'b11101011 : sim_spmEB <= sx; 8'b11101100 : sim_spmEC <= sx; 8'b11101101 : sim_spmED <= sx; 8'b11101110 : sim_spmEE <= sx; 8'b11101111 : sim_spmEF <= sx; 8'b11110000 : sim_spmF0 <= sx; 8'b11110001 : sim_spmF1 <= sx; 8'b11110010 : sim_spmF2 <= sx; 8'b11110011 : sim_spmF3 <= sx; 8'b11110100 : sim_spmF4 <= sx; 8'b11110101 : sim_spmF5 <= sx; 8'b11110110 : sim_spmF6 <= sx; 8'b11110111 : sim_spmF7 <= sx; 8'b11111000 : sim_spmF8 <= sx; 8'b11111001 : sim_spmF9 <= sx; 8'b11111010 : sim_spmFA <= sx; 8'b11111011 : sim_spmFB <= sx; 8'b11111100 : sim_spmFC <= sx; 8'b11111101 : sim_spmFD <= sx; 8'b11111110 : sim_spmFE <= sx; 8'b11111111 : sim_spmFF <= sx; endcase end end // // Assignment of internal register variables to active registers // if (bank == 1'b0) begin kcpsm6_status[1:16] <= "A,"; sim_s0 <= bank_a_s0 ; sim_s1 <= bank_a_s1 ; sim_s2 <= bank_a_s2 ; sim_s3 <= bank_a_s3 ; sim_s4 <= bank_a_s4 ; sim_s5 <= bank_a_s5 ; sim_s6 <= bank_a_s6 ; sim_s7 <= bank_a_s7 ; sim_s8 <= bank_a_s8 ; sim_s9 <= bank_a_s9 ; sim_sA <= bank_a_sa ; sim_sB <= bank_a_sb ; sim_sC <= bank_a_sc ; sim_sD <= bank_a_sd ; sim_sE <= bank_a_se ; sim_sF <= bank_a_sf ; end else begin kcpsm6_status[1:16] <= "B,"; sim_s0 <= bank_b_s0 ; sim_s1 <= bank_b_s1 ; sim_s2 <= bank_b_s2 ; sim_s3 <= bank_b_s3 ; sim_s4 <= bank_b_s4 ; sim_s5 <= bank_b_s5 ; sim_s6 <= bank_b_s6 ; sim_s7 <= bank_b_s7 ; sim_s8 <= bank_b_s8 ; sim_s9 <= bank_b_s9 ; sim_sA <= bank_b_sa ; sim_sB <= bank_b_sb ; sim_sC <= bank_b_sc ; sim_sD <= bank_b_sd ; sim_sE <= bank_b_se ; sim_sF <= bank_b_sf ; end // // end //process simulation; //synthesis translate_on // // ************************** // * End of simulation code * // ************************** // // /////////////////////////////////////////////////////////////////////////////////////////// // endmodule // /////////////////////////////////////////////////////////////////////////////////////////// // // END OF FILE kcpsm6.v // ///////////////////////////////////////////////////////////////////////////////////////////

mem256x8.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 11:53:17 04/03/2017 // Design Name: // Module Name: mem16x8 // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module mem256x8( input [7:0] addr, input clk, input wen, input [7:0] din, output [7:0] dout ); localparam WIDTH = 8; localparam DEPTH = 256; localparam ADDR_SIZE = 8; // input clk; // input [WIDTH-1:0] din; // input wen; // output [WIDTH-1:0] dout; reg [WIDTH-1:0] mem_array[0:DEPTH-1]; always @(posedge clk) begin if ( wen == 1 ) // normal write begin mem_array[addr] <= din; end end assign dout = mem_array[addr] ; endmodule

mux21_8bit.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 07:27:29 08/31/2016 // Design Name: // Module Name: reg8e // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module mux21_8bit( input [7:0] i0, input [7:0] i1, input s, output [7:0] y ); assign y = s ? i1 : i0; endmodule

mux3_8bit.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 09:14:03 04/05/2017 // Design Name: // Module Name: mux3_8bit // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module mux3_8bit( input [7:0] I0, input [7:0] I1, input [7:0] I2, input [1:0] S, output [7:0] Y ); assign Y = (S[1] == 1'b1) ? I2 : (S[0] == 1'b1) ? I1 : I0; endmodule

mux3_8bit_stx_beh.prj

verilog isim_temp "mux3_8bit.v" verilog isim_temp "C:/Xilinx/14.7/ISE_DS/ISE//verilog/src/glbl.v"

Nexys3_master.ucf

## This file is a general .ucf for Nexys3 rev B board ## To use it in a project: ## - remove or comment the lines corresponding to unused pins ## - rename the used signals according to the project ## Clock signal NET "CLKPORT" LOC = "V10" | IOSTANDARD = "LVCMOS33"; #Bank = 2, pin name = IO_L30N_GCLK0_USERCCLK, Sch name = GCLK #Net "clk" TNM_NET = sys_clk_pin; #TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 100000 kHz; ## onBoard USB controller ## NOTE: DEPP and DSTM net names use some of the same pins, if trying to use both DEPP and DSTM use a signle net name for each shared pin. ## Data bus for both the DEPP and DSTM interfaces uncomment lines 15-22 if using either one #NET "DB<0>" LOC = "E1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L50N_M3BA2, Sch name = U-FD0 #NET "DB<1>" LOC = "F4" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L51P_M3A10, Sch name = U-FD1 #NET "DB<2>" LOC = "F3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L51N_M3A4, Sch name = U-FD2 #NET "DB<3>" LOC = "D2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L52P_M3A8, Sch name = U-FD3 #NET "DB<4>" LOC = "D1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L52N_M3A9, Sch name = U-FD4 #NET "DB<5>" LOC = "H7" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L53P_M3CKE, Sch name = U-FD5 #NET "DB<6>" LOC = "G6" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L53N_M3A12, Sch name = U-FD6 #NET "DB<7>" LOC = "E4" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L54P_M3RESET, Sch name = U-FD7 ## If using the DEPP interface uncomment lines 25-28 #NET "EppWRITE" LOC = "F5" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L55N_M3A14, Sch name = U-FLAGC #NET "EppASTB" LOC = "H1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L41N_GCLK26_M3DQ5, Sch name = U-FLAGA #NET "EppDSTB" LOC = "K4" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L42P_GCLK25_TRDY2_M3UDM, Sch name = U-FLAGB #NET "EppWAIT" LOC = "C2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L83P, Sch name = U-SLRD ## If using the DSTM interface uncomment lines 31-40 #NET "DstmIFCLK" LOC = "H2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L41P_GCLK27_M3DQ4, Sch name = U-IFCLK #NET "DstmSLCS" LOC = "F6" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L55P_M3A13, Sch name = U-SLCS #NET "DstmFLAGA" LOC = "H1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L41N_GCLK26_M3DQ5, Sch name = U-FLAGA #NET "DstmFLAGB" LOC = "K4" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L42P_GCLK25_TRDY2_M3UDM, Sch name = U-FLAGB #NET "DstmADR<0>" LOC = "H5" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L49N_M3A2, Sch name = U-FIFOAD0 #NET "DstmADR<1>" LOC = "E3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L50P_M3WE, Sch name = U-FIFOAD1 #Net "DstmSLRD" LOC = "C2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L83P, Sch name = U-SLRD #NET "DstmSLWR" LOC = "C1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L83N_VREF, Sch name = U-SLWR #NET "DstmSLOE" LOC = "H6" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L49P_M3A7, Sch name = U-SLOE #NET "DstmPKTEND" LOC = "D3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L54N_M3A11, Sch name = U-PKTEND #NET "UsbMode" LOC = "F1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L48N_M3BA1, Sch name = U-INT0# ## onBoard Cellular RAM, Numonyx StrataFlash and Numonyx Quad Flash #NET "MemOE" LOC = "L18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L46N_FOE_B_M1DQ3, Sch name = P30-OE #NET "MemWR" LOC = "M16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L47P_FWE_B_M1DQ0, Sch name = P30-WE #NET "RamAdv" LOC = "H18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L43N_GCLK4_M1DQ5, Sch name = P30-ADV #NET "RamCS" LOC = "L15" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L42P_GCLK7_M1UDM, Sch name = MT-CE #NET "RamClk" LOC = "R10" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L29P_GCLK3, Sch name = P30-CLK #NET "RamCRE" LOC = "M18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L47N_LDC_M1DQ1, Sch name = MT-CRE #NET "RamLB" LOC = "K16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L41N_GCLK8_M1CASN, Sch name = MT-LB #NET "RamUB" LOC = "K15" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L41P_GCLK9_IRDY1_M1RASN, Sch name = MT-UB #NET "RamWait" LOC = "V4" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L63N, Sch name = P30-WAIT #NET "FlashRp" LOC = "T4" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L63P, Sch name = P30-RST #NET "FlashCS" LOC = "L17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L46P_FCS_B_M1DQ2, Sch name = P30-CE #NET "QuadSpiFlashCS" LOC="V3" | IOSTANDARD = "LVCMOS33"; #Bank = MISC, Pin name = IO_L65N_CSO_B_2, Sch name = CS #NET "QuadSpiFlashSck" LOC="R15" | IOSTANDARD = "LVCMOS33"; #Bank = MISC, Pin name = IO_L1P_CCLK_2, Sch name = SCK #NET "QuadSpiFlashDB<0>" LOC="T13" | IOSTANDARD = "LVCMOS33"; #Dual/Quad SPI Flash DB<0>, Bank = MISC, Pin name = IO_L3N_MOSI_CSI_B_MISO0_2, Sch name = SDI #NET "MemAdr<1>" LOC = "K18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L45N_A0_M1LDQSN, Sch name = P30-A0 #NET "MemAdr<2>" LOC = "K17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L45P_A1_M1LDQS, Sch name = P30-A1 #NET "MemAdr<3>" LOC = "J18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L44N_A2_M1DQ7, Sch name = P30-A2 #NET "MemAdr<4>" LOC = "J16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L44P_A3_M1DQ6, Sch name = P30-A3 #NET "MemAdr<5>" LOC = "G18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L38N_A4_M1CLKN, Sch name = P30-A4 #NET "MemAdr<6>" LOC = "G16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L38P_A5_M1CLK, Sch name = P30-A5 #NET "MemAdr<7>" LOC = "H16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L37N_A6_M1A1, Sch name = P30-A6 #NET "MemAdr<8>" LOC = "H15" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L37P_A7_M1A0, Sch name = P30-A7 #NET "MemAdr<9>" LOC = "H14" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L36N_A8_M1BA1, Sch name = P30-A8 #NET "MemAdr<10>" LOC = "H13" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L36P_A9_M1BA0, Sch name = P30-A9 #NET "MemAdr<11>" LOC = "F18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L35N_A10_M1A2, Sch name = P30-A10 #NET "MemAdr<12>" LOC = "F17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L35P_A11_M1A7, Sch name = P30-A11 #NET "MemAdr<13>" LOC = "K13" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L34N_A12_M1BA2, Sch name = P30-A12 #NET "MemAdr<14>" LOC = "K12" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L34P_A13_M1WE, Sch name = P30-A13 #NET "MemAdr<15>" LOC = "E18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L33N_A14_M1A4, Sch name = P30-A14 #NET "MemAdr<16>" LOC = "E16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L33P_A15_M1A10, Sch name = P30-A15 #NET "MemAdr<17>" LOC = "G13" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L32N_A16_M1A9, Sch name = P30-A16 #NET "MemAdr<18>" LOC = "H12" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L32P_A17_M1A8, Sch name = P30-A17 #NET "MemAdr<19>" LOC = "D18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L31N_A18_M1A12, Sch name = P30-A18 #NET "MemAdr<20>" LOC = "D17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L31P_A19_M1CKE, Sch name = P30-A19 #NET "MemAdr<21>" LOC = "G14" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L30N_A20_M1A11, Sch name = P30-A20 #NET "MemAdr<22>" LOC = "F14" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L30P_A21_M1RESET Sch name = P30-A21 #NET "MemAdr<23>" LOC = "C18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L29N_A22_M1A14, Sch name = P30-A22 #NET "MemAdr<24>" LOC = "C17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L29P_A23_M1A13, Sch name = P30-A23 #NET "MemAdr<25>" LOC = "F16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L1N_A24_VREF, Sch name = P30-A24 #NET "MemAdr<26>" LOC = "F15" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L1P_A25, Sch name = P30-A25 #NET "MemDB<0>" LOC = "R13" | IOSTANDARD = "LVCMOS33"; #Ram or Numonyx Paralell Flash DB<0>, or Dual/Quad SPI Flash DB<1>, Bank = MISC, Pin name = IO_L3P_D0_DIN_MISO_MISO1_2, Sch name = P30-DQ0 #NET "MemDB<1>" LOC = "T14" | IOSTANDARD = "LVCMOS33"; #Ram or Numonyx Paralell Flash DB<1>, or Quad SPI Flash DB<2>, Bank = MISC, Pin name = IO_L12P_D1_MISO2_2, Sch name = P30-DQ1 #NET "MemDB<2>" LOC = "V14" | IOSTANDARD = "LVCMOS33"; #Ram or Numonyx Paralell Flash DB<2>, or Quad SPI Flash DB<3>, Bank = MISC, Pin name = IO_L12N_D2_MISO3_2, Sch name = P30-DQ2 #NET "MemDB<3>" LOC = "U5" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_49P_D3, Sch name = P30-DQ3 #NET "MemDB<4>" LOC = "V5" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_49N_D4, Sch name = P30-DQ4 #NET "MemDB<5>" LOC = "R3" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L62P_D5, Sch name = P30-DQ5 #NET "MemDB<6>" LOC = "T3" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L62N_D6, Sch name = P30-DQ6 #NET "MemDB<7>" LOC = "R5" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L48P_D7, Sch name = P30-DQ7 #NET "MemDB<8>" LOC = "N5" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L64P_D8, Sch name = P30-DQ8 #NET "MemDB<9>" LOC = "P6" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L64N_D9, Sch name = P30-DQ9 #NET "MemDB<10>" LOC = "P12" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L13N_D10, Sch name = P30-DQ10 #NET "MemDB<11>" LOC = "U13" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L14P_D11, Sch name = P30-DQ11 #NET "MemDB<12>" LOC = "V13" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L14N_D12, Sch name = P30-DQ12 #NET "MemDB<13>" LOC = "U10" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L30P_GCLK1_D13, Sch name = P30-DQ13 #NET "MemDB<14>" LOC = "R8" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L31P_GCLK31_D14, Sch name = P30-DQ14 #NET "MemDB<15>" LOC = "T8" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L31N_GCLK30_D15, Sch name = P30-DQ15 ## 7 segment display NET "CA" LOC = "T17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L51P_M1DQ12, Sch name = CA NET "CB" LOC = "T18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L51N_M1DQ13, Sch name = CB NET "CC" LOC = "U17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L52P_M1DQ14, Sch name = CC NET "CD" LOC = "U18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L52N_M1DQ15, Sch name = CD NET "CE" LOC = "M14" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L53P, Sch name = CE NET "CF" LOC = "N14" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L53N_VREF, Sch name = CF NET "CG" LOC = "L14" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L61P, Sch name = CG NET "DP" LOC = "M13" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L61N, Sch name = DP NET "an<0>" LOC = "N16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L50N_M1UDQSN, Sch name = AN0 NET "an<1>" LOC = "N15" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L50P_M1UDQS, Sch name = AN1 NET "an<2>" LOC = "P18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L49N_M1DQ11, Sch name = AN2 NET "an<3>" LOC = "P17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L49P_M1DQ10, Sch name = AN3 ## Leds NET "led<0>" LOC = "U16" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L2P_CMPCLK, Sch name = LD0 NET "led<1>" LOC = "V16" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L2N_CMPMOSI, Sch name = LD1 NET "led<2>" LOC = "U15" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L5P, Sch name = LD2 NET "led<3>" LOC = "V15" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L5N, Sch name = LD3 NET "led<4>" LOC = "M11" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L15P, Sch name = LD4 NET "led<5>" LOC = "N11" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L15N, Sch name = LD5 NET "led<6>" LOC = "R11" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L16P, Sch name = LD6 NET "led<7>" LOC = "T11" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L16N_VREF, Sch name = LD7 ## Switches NET "sw<0>" LOC = "T10" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L29N_GCLK2, Sch name = SW0 NET "sw<1>" LOC = "T9" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L32P_GCLK29, Sch name = SW1 NET "sw<2>" LOC = "V9" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L32N_GCLK28, Sch name = SW2 NET "sw<3>" LOC = "M8" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L40P, Sch name = SW3 NET "sw<4>" LOC = "N8" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L40N, Sch name = SW4 NET "sw<5>" LOC = "U8" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L41P, Sch name = SW5 NET "sw<6>" LOC = "V8" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L41N_VREF, Sch name = SW6 NET "sw<7>" LOC = "T5" | IOSTANDARD = "LVCMOS33"; #Bank = MISC, Pin name = IO_L48N_RDWR_B_VREF_2, Sch name = SW7 ## Buttons NET "btn<0>" LOC = "B8" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L33P, Sch name = BTNS NET "btn<1>" LOC = "A8" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L33N, Sch name = BTNU NET "btn<2>" LOC = "C4" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L1N_VREF, Sch name = BTNL NET "btn<3>" LOC = "C9" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L34N_GCLK18, Sch name = BTND NET "btn<4>" LOC = "D9" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L34P_GCLK19, Sch name = BTNR ## VGA Connector #NET "vgaRed<0>" LOC = "U7" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L43P, Sch name = RED0 #NET "vgaRed<1>" LOC = "V7" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L43N, Sch name = RED1 #NET "vgaRed<2>" LOC = "N7" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L44P, Sch name = RED2 #NET "vgaGreen<0>" LOC = "P8" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L44N, Sch name = GRN0 #NET "vgaGreen<1>" LOC = "T6" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L45P, Sch name = GRN1 #NET "vgaGreen<2>" LOC = "V6" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L45N, Sch name = GRN2 #NET "vgaBlue<1>" LOC = "R7" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L46P, Sch name = BLU1 #NET "vgaBlue<2>" LOC = "T7" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L46N, Sch name = BLU2 #NET "Hsync" LOC = "N6" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L47P, Sch name = HSYNC #NET "Vsync" LOC = "P7" | IOSTANDARD = "LVCMOS33"; # Bank = 2, Pin name = IO_L47N, Sch name = VSYNC ## 12 pin connectors ##JA #NET "JA<0>" LOC = "T12" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L19P, Sch name = JA1 #NET "JA<1>" LOC = "V12" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L19N, Sch name = JA2 #NET "JA<2>" LOC = "N10" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L20P, Sch name = JA3 #NET "JA<3>" LOC = "P11" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L20N, Sch name = JA4 #NET "JA<4>" LOC = "M10" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L22P, Sch name = JA7 #NET "JA<5>" LOC = "N9" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L22N, Sch name = JA8 #NET "JA<6>" LOC = "U11" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L23P, Sch name = JA9 #NET "JA<7>" LOC = "V11" | IOSTANDARD = "LVCMOS33"; #Bank = 2, Pin name = IO_L23N, Sch name = JA10 ##JB #NET "JB<0>" LOC = "K2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L38P_M3DQ2, Sch name = JB1 #NET "JB<1>" LOC = "K1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L38N_M3DQ3, Sch name = JB2 #NET "JB<2>" LOC = "L4" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L39P_M3LDQS, Sch name = JB3 #NET "JB<3>" LOC = "L3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L39N_M3LDQSN, Sch name = JB4 #NET "JB<4>" LOC = "J3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L40P_M3DQ6, Sch name = JB7 #NET "JB<5>" LOC = "J1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L40N_M3DQ7, Sch name = JB8 #NET "JB<6>" LOC = "K3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L42N_GCLK24_M3LDM, Sch name = JB9 #NET "JB<7>" LOC = "K5" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L43N_GCLK22_IRDY2_M3CASN, Sch name = JB10 ##JC #NET "JC<0>" LOC = "H3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L44N_GCLK20_M3A6, Sch name = JC1 #NET "JC<1>" LOC = "L7" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L45P_M3A3, Sch name = JC2 #NET "JC<2>" LOC = "K6" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L45N_M3ODT, Sch name = JC3 #NET "JC<3>" LOC = "G3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L46P_M3CLK, Sch name = JC4 #NET "JC<4>" LOC = "G1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L46N_M3CLKN, Sch name = JC7 #NET "JC<5>" LOC = "J7" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L47P_M3A0, Sch name = JC8 #NET "JC<6>" LOC = "J6" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L47N_M3A1, Sch name = JC9 #NET "JC<7>" LOC = "F2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L48P_M3BA0, Sch name = JC10 ##JD, LX16 Die only #NET "JD<0>" LOC = "G11" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L40P, Sch name = JD1 #NET "JD<1>" LOC = "F10" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L40N, Sch name = JD2 #NET "JD<2>" LOC = "F11" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L42P, Sch name = JD3 #NET "JD<3>" LOC = "E11" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L42N, Sch name = JD4 #NET "JD<4>" LOC = "D12" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L47P, Sch name = JD7 #NET "JD<5>" LOC = "C12" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L47N, Sch name = JD8 #NET "JD<6>" LOC = "F12" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L51P, Sch name = JD9 #NET "JD<7>" LOC = "E12" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L51N, Sch name = JD10 ## SMSC ethernet PHY #NET "PhyRstn" LOC = "P3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L2N, Sch name = ETH-RST #NET "PhyCrs" LOC = "N3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L1N_VREF, Sch name = ETH-CRS #NET "PhyCol" LOC = "P4" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L2P, Sch name = ETH-COL #NET "PhyClk25Mhz" LOC = "N4" | IOSTANDARD = "LVCMOS33"; #Unconnected if R172 is not loaded, Bank = 3, Pin name = IO_L1P, Sch name = ETH-CLK25MHZ #NET "PhyTxd<3>" LOC = "T1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L33N_M3DQ13, Sch name = ETH-TXD3 #NET "PhyTxd<2>" LOC = "T2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L33P_M3DQ12, Sch name = ETH-TXD2 #NET "PhyTxd<1>" LOC = "U1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L32N_M3DQ15, Sch name = ETH-TXD1 #NET "PhyTxd<0>" LOC = "U2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L32P_M3DQ14, Sch name = ETH-TXD0 #NET "PhyTxEn" LOC = "L2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L37P_M3DQ0, Sch name = ETH-TX_EN #NET "PhyTxClk" LOC = "L5" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L43P_GCLK23_M3RASN, Sch name = ETH-TX_CLK #NET "PhyTxEr" LOC = "P2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L34P_M3UDQS, Sch name = ETH-TXD4 #NET "PhyRxd<3>" LOC = "M3" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L36P_M3DQ8, Sch name = ETH-RXD3 #NET "PhyRxd<2>" LOC = "N1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L35N_M3DQ11, Sch name = ETH-RXD2 #NET "PhyRxd<1>" LOC = "N2" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L35P_M3DQ10, Sch name = ETH-RXD1 #NET "PhyRxd<0>" LOC = "P1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L34N_M3UDQSN, Sch name = ETH-RXD0 #NET "PhyRxDv" LOC = "L1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L37N_M3DQ1, Sch name = ETH-RX_DV #NET "PhyRxEr" LOC = "M1" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L36N_M3DQ9, Sch name = ETH-RXD4 #NET "PhyRxClk" LOC = "H4" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L44P_GCLK21_M3A5, Sch name = ETH-RX_CLK #NET "PhyMdc" LOC = "M5" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L31N_VREF, Sch name = ETH-MDC #NET "PhyMdio" LOC = "L6" | IOSTANDARD = "LVCMOS33"; #Bank = 3, Pin name = IO_L31P, Sch name = ETH-MDIO ## Pic USB-HID interface #NET "PS2KeyboardData" LOC = "J13" | IOSTANDARD = "LVCMOS33" | PULLUP; #Bank = 1, Pin name = IO_L39P_M1A3, Sch name = PIC-SDI1 #NET "PS2KeyboardClk" LOC = "L12" | IOSTANDARD = "LVCMOS33" | PULLUP; #Bank = 1, Pin name = IO_L40P_GCLK11_M1A5, Sch name = PIC-SCK1 #NET "PS2MouseData" LOC = "K14" | IOSTANDARD = "LVCMOS33" | PULLUP; #Bank = 1, Pin name = IO_L39N_M1ODT, Sch name = PIC-SDO1 #NET "PS2MouseClk" LOC = "L13" | IOSTANDARD = "LVCMOS33" | PULLUP; #Bank = 1, Pin name = IO_L40N_GCLK10_M1A6, Sch name = PIC-SS1 #NET "PicGpio<0>" LOC = "L16" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L42N_GCLK6_TRDY1_M1LDM, Sch name = PIC-GPIO0 #NET "PicGpio<1>" LOC = "H17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L43P_GCLK5_M1DQ4, Sch name = PIC-GPIO1 ## Usb-RS232 interface #NET "RsRx" LOC = "N17" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L48P_HDC_M1DQ8, Sch name = MCU-RX #NET "RsTx" LOC = "N18" | IOSTANDARD = "LVCMOS33"; #Bank = 1, Pin name = IO_L48N_M1DQ9, Sch name = MCU-TX ## VHDCI Connector #NET "EXP-IO_P<0>" LOC = "B2" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L2P, Sch name = EXP_IO1_P #NET "EXP-IO_N<0>" LOC = "A2" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L2N, Sch name = EXP_IO1_N #NET "EXP-IO_P<1>" LOC = "D6" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L3P, Sch name = EXP_IO2_P #NET "EXP-IO_N<1>" LOC = "C6" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L3N, Sch name = EXP_IO2_N #NET "EXP-IO_P<2>" LOC = "B3" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L4P, Sch name = EXP_IO3_P #NET "EXP-IO_N<2>" LOC = "A3" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L4N, Sch name = EXP_IO3_N #NET "EXP-IO_P<3>" LOC = "B4" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L5P, Sch name = EXP_IO4_P #NET "EXP-IO_N<3>" LOC = "A4" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L5N, Sch name = EXP_IO4_N #NET "EXP-IO_P<4>" LOC = "C5" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L6P, Sch name = EXP_IO5_P #NET "EXP-IO_N<4>" LOC = "A5" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L6N, Sch name = EXP_IO5_N #NET "EXP-IO_P<5>" LOC = "B6" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L8P, Sch name = EXP_IO6_P #NET "EXP-IO_N<5>" LOC = "A6" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L8N_VREF, Sch name = EXP_IO6_N #NET "EXP-IO_P<6>" LOC = "C7" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L10P, Sch name = EXP_IO7_P #NET "EXP-IO_N<6>" LOC = "A7" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L10N, Sch name = EXP_IO7_N #NET "EXP-IO_P<7>" LOC = "D8" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L11P, Sch name = EXP_IO8_P #NET "EXP-IO_N<7>" LOC = "C8" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L11N, Sch name = EXP_IO8_N #NET "EXP-IO_P<8>" LOC = "B9" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L35P_GCLK17, Sch name = EXP_IO9_P #NET "EXP-IO_N<8>" LOC = "A9" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L35N_GCLK16, Sch name = EXP_IO9_N #NET "EXP-IO_P<9>" LOC = "D11" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L36P_GCLK15, Sch name = EXP_IO10_P #NET "EXP-IO_N<9>" LOC = "C11" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L36N_GCLK14, Sch name = EXP_IO10_N #NET "EXP-IO_P<10>" LOC = "C10" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L37P_GCLK13, Sch name = EXP_IO11_P #NET "EXP-IO_N<10>" LOC = "A10" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L37N_GCLK12, Sch name = EXP_IO11_N #NET "EXP-IO_P<11>" LOC = "G9" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L38P, Sch name = EXP_IO12_P #NET "EXP-IO_N<11>" LOC = "F9" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L38N_VREF, Sch name = EXP_IO12_N #NET "EXP-IO_P<12>" LOC = "B11" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L39P, Sch name = EXP_IO13_P #NET "EXP-IO_N<12>" LOC = "A11" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L39N, Sch name = EXP_IO13_N #NET "EXP-IO_P<13>" LOC = "B12" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L41P, Sch name = EXP_IO14_P #NET "EXP-IO_N<13>" LOC = "A12" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L41N, Sch name = EXP_IO14_N #NET "EXP-IO_P<14>" LOC = "C13" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L50P, Sch name = EXP_IO15_P #NET "EXP-IO_N<14>" LOC = "A13" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L50N, Sch name = EXP_IO15_N #NET "EXP-IO_P<15>" LOC = "B14" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L62P, Sch name = EXP_IO16_P #NET "EXP-IO_N<15>" LOC = "A14" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L62N_VREF, Sch name = EXP_IO16_N #NET "EXP-IO_P<16>" LOC = "F13" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L63P_SCP7, Sch name = EXP_IO17_P #NET "EXP-IO_N<16>" LOC = "E13" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L63N_SCP6, Sch name = EXP_IO17_N #NET "EXP-IO_P<17>" LOC = "C15" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L64P_SCP5, Sch name = EXP_IO18_P #NET "EXP-IO_N<17>" LOC = "A15" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L64N_SCP4, Sch name = EXP_IO18_N #NET "EXP-IO_P<18>" LOC = "D14" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L65P_SCP3, Sch name = EXP_IO19_P #NET "EXP-IO_N<18>" LOC = "C14" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L65N_SCP2, Sch name = EXP_IO19_N #NET "EXP-IO_P<19>" LOC = "B16" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L66P_SCP1, Sch name = EXP_IO20_P #NET "EXP-IO_N<19>" LOC = "A16" | IOSTANDARD = "LVCMOS33"; #Bank = 0, Pin name = IO_L66N_SCP0, Sch name = EXP_IO20_N

par_usage_statistics.html

Par Statistics
Total Non-vccgnd Signals=493
Total Non-vccgnd Design Pins=1932
Total Non-vccgnd Conns=1932
Total Non-vccgnd Timing Constrained Conns=1696
Phase 1 CPU=2.7 sec
Phase 2 CPU=3.0 sec
Phase 3 CPU=3.7 sec
Phase 4 CPU=4.2 sec
Phase 5 CPU=5.3 sec
Phase 6 CPU=5.3 sec
Phase 7 CPU=5.3 sec
Phase 8 CPU=5.3 sec
Phase 9 CPU=5.3 sec
Phase 10 CPU=5.4 sec
AvgWirelenPerPin Fanout 1=4.0
AvgWirelenPerPin Fanout 2=2.5
AvgWirelenPerPin Fanout 3=2.7
AvgWirelenPerPin Fanout 4=2.0
AvgWirelenPerPin Fanout 10=4.1
AvgWirelenPerPin Fanout 50=2.3
AvgWirelenPerPin Fanout 100=9.9
AvgWirelenPerPin Fanout 500=0.0
AvgWirelenPerPin Fanout 5000=0.0
AvgWirelenPerPin Fanout 20000=0.0
AvgWirelenPerPin Fanout 50000=0.0
AvgWirelenPerPin Fanout 100000=0.0
IRR Gamma=1.4510

pe4_2.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 12:43:26 10/12/2016 // Design Name: // Module Name: pe4_2 // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module pe4_2( input I0, input I1, input I2, input I3, output [1:0] Y, output V ); reg [1:0] yint; always @* begin if(I3==1) yint = 2'b11; else if(I2==1) yint = 2'b10; else if(I1==1) yint = 2'b01; else yint = 2'b00; end assign V = I3 | I2 | I1 | I0; assign Y = yint; endmodule

reg8e.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 07:27:29 08/31/2016 // Design Name: // Module Name: reg8e // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module reg8e( input clk, input reset, input en, input [7:0] d, output reg [7:0] q ); always @(posedge clk) begin if(reset) q <= 8'b00000000; else if(en) q <= d; end endmodule

sevenseg_decoder.v

`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 10:06:30 10/24/2008 // Design Name: // Module Name: sevenseg_decoder // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module sevenseg_decoder( input [3:0] digit, output reg A, output reg B, output reg C, output reg D, output reg E, output reg F, output reg G ); always @(digit) begin A <= 1; B <= 1; C <= 1; D <= 1; E <= 1; F <= 1; G <= 1; case(digit) 4'd0: begin A <= 0; B <= 0; C <= 0; D <= 0; E <= 0; F <= 0; end 4'd1: begin B <= 0; C <= 0; end 4'd2: begin A <= 0; B <= 0; D <= 0; E <= 0; G <= 0; end 4'd3: begin A <= 0; B <= 0; C <= 0; D <= 0; G <= 0; end 4'd4: begin B <= 0; C <= 0; F <= 0; G <= 0; end 4'd5: begin A <= 0; C <= 0; D <= 0; F <= 0; G <= 0; end 4'd6: begin C <= 0; D <= 0; E <= 0; F <= 0; G <= 0; end 4'd7: begin A <= 0; B <= 0; C <= 0; end 4'd8: begin A <= 0; B <= 0; C <= 0; D <= 0; E <= 0; F <= 0; G <= 0; end 4'd9: begin A <= 0; B <= 0; C <= 0; F <= 0; G <= 0; end endcase end endmodule

sqrt_sys_tb.v

// Verilog test fixture created from schematic C:\Users\Mark\Dropbox\EE209\Lab\sqrt2\sqrt_sys.sch - Wed Nov 25 15:46:16 2015 `timescale 1ns / 1ps module heap_soc_tb(); // Inputs reg [3:0] BTNS; reg [7:0] SWITCHES; reg CLK; reg RESET; // Output wire [7:0] DISP; wire [7:0] LEDS; // Bidirs task do_pblaze_push; input [7:0] val; begin BTNS[0] = 1; SWITCHES = val; #200; // leave enough to time for Picoblaze to poll and see this input BTNS[0] = 0; for(i=0; i < 60; i=i+1) begin wait(CLK == 0); wait(CLK == 1); end #5; end endtask task do_pblaze_pop; begin BTNS[1] = 1; #200; // leave enough to time for Picoblaze to poll and see this input BTNS[1] = 0; for(i=0; i < 60; i=i+1) begin wait(CLK == 0); wait(CLK == 1); end #5; end endtask task do_pblaze_top; begin BTNS[2] = 1; #200; // leave enough to time for Picoblaze to poll and see this input BTNS[2] = 0; for(i=0; i < 25; i=i+1) begin wait(CLK == 0); wait(CLK == 1); end #5; end endtask task do_pblaze_size; begin BTNS[3] = 1; #200; // leave enough to time for Picoblaze to poll and see this input BTNS[3] = 0; for(i=0; i < 25; i=i+1) begin wait(CLK == 0); wait(CLK == 1); end #5; end endtask // UUT instantiation heap_soc UUT ( .clk(CLK), .reset(RESET), .btns(BTNS), .switches(SWITCHES), .leds(LEDS), .disp(DISP) ); integer i; // Initialize Inputs always #10 CLK = ~CLK; initial begin CLK = 1; RESET = 1; BTNS = 3'b0000; #105; RESET = 0; // SIZE op do_pblaze_size(); // PUSH op do_pblaze_push(8'h07); // PUSH op do_pblaze_push(8'h04); // SIZE op do_pblaze_size(); // TOP op do_pblaze_top(); // POP op do_pblaze_pop(); // SIZE op do_pblaze_size(); // TOP op do_pblaze_top(); #5; $stop(); end endmodule

_xmsgs/pn_parser.xmsgs