cordic算法原理及verilog实现

来源:互联网 发布:c语言文件fclose 编辑:程序博客网 时间:2024/05/17 04:49

cordic算法原理及verilog实现

  1. 算法原理 
    这里写图片描述
    这里写图片描述
    这里写图片描述
    由此我们可以推出,当(x0,y0)与(x1,y1)的夹角为Θ时,满足如下关系: 
    这里写图片描述 
    由此可得,当(x1,y1)长度为1时,这里写图片描述,当根据坐标旋转法旋转Θ角度后,坐标点变为(1,0)。因此,根据cordic算法求这里写图片描述就是将初始线段旋转至(1,0)后,所得的(x,y)的值。 
    下面,我们将这些旋转步骤细化,看看每一步是如何工作的。 
    假设第n次旋转为顺时针旋转时,会得到如下结果: 
    这里写图片描述 
    此时提取这里写图片描述会得到如下公式: 
    这里写图片描述 
    令每次旋转的角度Θ满足这里写图片描述,则每次旋转最终的角度Θ满足:这里写图片描述,且这里写图片描述当顺时针旋转时S_n=1,逆时针旋转时S_n=-1。结合以上公式我们可以得到:这里写图片描述 因此每次迭代这里写图片描述都能提出来,最后他们的乘积是个常数K:这里写图片描述 
    因此我们的计算过程是从点(1,0)开始,每次旋转这里写图片描述角度,Xn与Yn每次只需做移位运算即可。最终当这里写图片描述等于Θ时,所得到的这里写图片描述即为这里写图片描述

  2. 基于FPGA的算法设计 
    采用十六位补码的形式来表示输入角度和输出结果。输入角度采用角度制。十六位补码形式为:第一位表示符号位,第二位到第九位共八位表示整数位,第十位到第十六位共七位表示小数位。 
    采用十六级流水线的形式实现算法。每级流水线实现一次迭代。迭代开始之前需要先计算满足tan⁡θ=2^(-n)的Θ的值,并将他们转换成角度的表示形式存储起来作为中间变量。 
    在开始迭代之前,还要先将输入的角度转换为第一象限0-90度之间的角度进行迭代计算,并用一个flag位标识角度的正负。若为输入角度为负,则flag值为1,若角度为正,则flag值为0。此外还有九组临时变量x、y、z分别用来存储对应的横坐标、纵坐标以及剩余角度。 
    开始迭代之后,每次迭代都要根据cordic算法推出的公式计算x、y、z的值并将它们存储在中间变量中。 
    迭代完成之后,根据flag以及x8、y8的值计算最终的结果。如果flag值为1说明输入角度为负数,则将sinΘ等于(~y8+1),否则sinΘ等于y8。无论flag值为多少,cosΘ均等与x8。

  3. verilog代码实现

<code class="hljs fsharp has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">module</span> cordic_2(rst,clk,datain,sin,cos);input rst,clk;input[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] datain;output[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>]sin,cos;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>]sin,cos;parameter[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] rot1 = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'b0000110101001000,rot2 = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'b0000011100101110,rot3 = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'b0000001110010000,rot4 = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'b0000000111001010,rot5 = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'b0000000011100101,rot6 = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'b0000000001110011,rot7 = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'b0000000000111001,rot0 = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'b0001011010000000;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//parameter[15:0] k = 16'b0000000001001110;</span>parameter[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] k = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>'h004d;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x0,y0,z0;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x1,y1,z1;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x2,y2,z2;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x3,y3,z3;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x4,y4,z4;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x5,y5,z5;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x6,y6,z6;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x7,y7,z7;reg[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>] x8,y8,z8;reg flag0,flag1,flag2,flag3,flag4,flag5,flag6,flag7,flag8;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//initial</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        x0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(datain == <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        x0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        x0 <= k;        y0 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(datain[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>])            z0 <= ~(datain-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>            z0 <= datain;        flag0 <= datain[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>];    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//1</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>           x1 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y1 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z1 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag1 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//      if(z0[15])</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//      begin</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//          x1 <= x0 + y0;</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//          y1 <= x0 - y0;</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//          z1 <= z0 + rot0;</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//          flag1 <= flag0;</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//      end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//      else</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//      begin</span>            x1 <= x0 - y0;            y1 <= x0 + y0;            z1 <= z0 - rot0;            flag1 <= flag0;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//      end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//2</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>           x2 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y2 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z2 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag2 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(z1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>])        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x2 <= x1 + {y1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>],y1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>]};            y2 <= y1 - {x1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>],x1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>]};            z2 <= z1 + rot1;            flag2 <= flag1;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x2 <= x1 - {y1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>],y1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>]};            y2 <= y1 + {x1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>],x1[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>]};            z2 <= z1 - rot1;            flag2 <= flag1;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//3</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>           x3 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y3 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z3 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag3 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(z2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>])        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x3 <= x2 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>{y2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>]};            y3 <= y2 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>{x2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>]};            z3 <= z2 + rot2;            flag3 <= flag2;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x3 <= x2 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>{y2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>]};            y3 <= y2 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>{x2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x2[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>]};            z3 <= z2 - rot2;            flag3 <= flag2;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//4</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>           x4 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y4 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z4 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag4 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(z3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>])        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x4 <= x3 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>{y3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>]};            y4 <= y3 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>{x3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>]};            z4 <= z3 + rot3;            flag4 <= flag3;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x4 <= x3 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>{y3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>]};            y4 <= y3 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>{x3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x3[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>]};            z4 <= z3 - rot3;            flag4 <= flag3;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//5</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>           x5 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y5 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z5 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag5 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(z4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>])        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x5 <= x4 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>{y4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>]};            y5 <= y4 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>{x4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>]};            z5 <= z4 + rot4;            flag5 <= flag4;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x5 <= x4 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>{y4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>]};            y5 <= y4 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>{x4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x4[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>]};            z5 <= z4 - rot4;            flag5 <= flag4;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//6</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>           x6 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y6 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z6 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag6 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(z5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>])        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x6 <= x5 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>{y5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>]};            y6 <= y5 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>{x5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>]};            z6 <= z5 + rot5;            flag6 <= flag5;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x6 <= x5 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>{y5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>]};            y6 <= y5 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>{x5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x5[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>]};            z6 <= z5 - rot5;            flag6 <= flag5;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//7</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>           x7 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y7 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z7 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag7 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(z6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>])        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x7 <= x6 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>{y6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>]};            y7 <= y6 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>{x6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>]};            z7 <= z6 + rot6;            flag7 <= flag6;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x7 <= x6 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>{y6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>]};            y7 <= y6 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>{x6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x6[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>]};            z7 <= z6 - rot6;            flag7 <= flag6;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//8</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>           x8 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        y8 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        z8 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        flag8 <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(z7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>])        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x8 <= x7 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>{y7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>]};            y8 <= y7 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>{x7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>]};            z8 <= z7 + rot7;            flag8 <= flag7;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            x8 <= x7 - {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>{y7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},y7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>]};            y8 <= y7 + {{<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>{x7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>]}},x7[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>]};            z8 <= z7 - rot7;            flag8 <= flag7;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>always @(posedge clk <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> negedge rst)<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!rst)    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        sin <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;        cos <= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(flag8)        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            sin <= (~y8)+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;            cos <= x8;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">begin</span>            sin <= y8;            cos <= x8;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span>endmodule </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li><li style="box-sizing: border-box; padding: 0px 5px;">61</li><li style="box-sizing: border-box; padding: 0px 5px;">62</li><li style="box-sizing: border-box; padding: 0px 5px;">63</li><li style="box-sizing: border-box; padding: 0px 5px;">64</li><li style="box-sizing: border-box; padding: 0px 5px;">65</li><li style="box-sizing: border-box; padding: 0px 5px;">66</li><li style="box-sizing: border-box; padding: 0px 5px;">67</li><li style="box-sizing: border-box; padding: 0px 5px;">68</li><li style="box-sizing: border-box; padding: 0px 5px;">69</li><li style="box-sizing: border-box; padding: 0px 5px;">70</li><li style="box-sizing: border-box; padding: 0px 5px;">71</li><li style="box-sizing: border-box; padding: 0px 5px;">72</li><li style="box-sizing: border-box; padding: 0px 5px;">73</li><li style="box-sizing: border-box; padding: 0px 5px;">74</li><li style="box-sizing: border-box; padding: 0px 5px;">75</li><li style="box-sizing: border-box; padding: 0px 5px;">76</li><li style="box-sizing: border-box; padding: 0px 5px;">77</li><li style="box-sizing: border-box; padding: 0px 5px;">78</li><li style="box-sizing: border-box; padding: 0px 5px;">79</li><li style="box-sizing: border-box; padding: 0px 5px;">80</li><li style="box-sizing: border-box; padding: 0px 5px;">81</li><li style="box-sizing: border-box; padding: 0px 5px;">82</li><li style="box-sizing: border-box; padding: 0px 5px;">83</li><li style="box-sizing: border-box; padding: 0px 5px;">84</li><li style="box-sizing: border-box; padding: 0px 5px;">85</li><li style="box-sizing: border-box; padding: 0px 5px;">86</li><li style="box-sizing: border-box; padding: 0px 5px;">87</li><li style="box-sizing: border-box; padding: 0px 5px;">88</li><li style="box-sizing: border-box; padding: 0px 5px;">89</li><li style="box-sizing: border-box; padding: 0px 5px;">90</li><li style="box-sizing: border-box; padding: 0px 5px;">91</li><li style="box-sizing: border-box; padding: 0px 5px;">92</li><li style="box-sizing: border-box; padding: 0px 5px;">93</li><li style="box-sizing: border-box; padding: 0px 5px;">94</li><li style="box-sizing: border-box; padding: 0px 5px;">95</li><li style="box-sizing: border-box; padding: 0px 5px;">96</li><li style="box-sizing: border-box; padding: 0px 5px;">97</li><li style="box-sizing: border-box; padding: 0px 5px;">98</li><li style="box-sizing: border-box; padding: 0px 5px;">99</li><li style="box-sizing: border-box; padding: 0px 5px;">100</li><li style="box-sizing: border-box; padding: 0px 5px;">101</li><li style="box-sizing: border-box; padding: 0px 5px;">102</li><li style="box-sizing: border-box; padding: 0px 5px;">103</li><li style="box-sizing: border-box; padding: 0px 5px;">104</li><li style="box-sizing: border-box; padding: 0px 5px;">105</li><li style="box-sizing: border-box; padding: 0px 5px;">106</li><li style="box-sizing: border-box; padding: 0px 5px;">107</li><li style="box-sizing: border-box; padding: 0px 5px;">108</li><li style="box-sizing: border-box; padding: 0px 5px;">109</li><li style="box-sizing: border-box; padding: 0px 5px;">110</li><li style="box-sizing: border-box; padding: 0px 5px;">111</li><li style="box-sizing: border-box; padding: 0px 5px;">112</li><li style="box-sizing: border-box; padding: 0px 5px;">113</li><li style="box-sizing: border-box; padding: 0px 5px;">114</li><li style="box-sizing: border-box; padding: 0px 5px;">115</li><li style="box-sizing: border-box; padding: 0px 5px;">116</li><li style="box-sizing: border-box; padding: 0px 5px;">117</li><li style="box-sizing: border-box; padding: 0px 5px;">118</li><li style="box-sizing: border-box; padding: 0px 5px;">119</li><li style="box-sizing: border-box; padding: 0px 5px;">120</li><li style="box-sizing: border-box; padding: 0px 5px;">121</li><li style="box-sizing: border-box; padding: 0px 5px;">122</li><li style="box-sizing: border-box; padding: 0px 5px;">123</li><li style="box-sizing: border-box; padding: 0px 5px;">124</li><li style="box-sizing: border-box; padding: 0px 5px;">125</li><li style="box-sizing: border-box; padding: 0px 5px;">126</li><li style="box-sizing: border-box; padding: 0px 5px;">127</li><li style="box-sizing: border-box; padding: 0px 5px;">128</li><li style="box-sizing: border-box; padding: 0px 5px;">129</li><li style="box-sizing: border-box; padding: 0px 5px;">130</li><li style="box-sizing: border-box; padding: 0px 5px;">131</li><li style="box-sizing: border-box; padding: 0px 5px;">132</li><li style="box-sizing: border-box; padding: 0px 5px;">133</li><li style="box-sizing: border-box; padding: 0px 5px;">134</li><li style="box-sizing: border-box; padding: 0px 5px;">135</li><li style="box-sizing: border-box; padding: 0px 5px;">136</li><li style="box-sizing: border-box; padding: 0px 5px;">137</li><li style="box-sizing: border-box; padding: 0px 5px;">138</li><li style="box-sizing: border-box; padding: 0px 5px;">139</li><li style="box-sizing: border-box; padding: 0px 5px;">140</li><li style="box-sizing: border-box; padding: 0px 5px;">141</li><li style="box-sizing: border-box; padding: 0px 5px;">142</li><li style="box-sizing: border-box; padding: 0px 5px;">143</li><li style="box-sizing: border-box; padding: 0px 5px;">144</li><li style="box-sizing: border-box; padding: 0px 5px;">145</li><li style="box-sizing: border-box; padding: 0px 5px;">146</li><li style="box-sizing: border-box; padding: 0px 5px;">147</li><li style="box-sizing: border-box; padding: 0px 5px;">148</li><li style="box-sizing: border-box; padding: 0px 5px;">149</li><li style="box-sizing: border-box; padding: 0px 5px;">150</li><li style="box-sizing: border-box; padding: 0px 5px;">151</li><li style="box-sizing: border-box; padding: 0px 5px;">152</li><li style="box-sizing: border-box; padding: 0px 5px;">153</li><li style="box-sizing: border-box; padding: 0px 5px;">154</li><li style="box-sizing: border-box; padding: 0px 5px;">155</li><li style="box-sizing: border-box; padding: 0px 5px;">156</li><li style="box-sizing: border-box; padding: 0px 5px;">157</li><li style="box-sizing: border-box; padding: 0px 5px;">158</li><li style="box-sizing: border-box; padding: 0px 5px;">159</li><li style="box-sizing: border-box; padding: 0px 5px;">160</li><li style="box-sizing: border-box; padding: 0px 5px;">161</li><li style="box-sizing: border-box; padding: 0px 5px;">162</li><li style="box-sizing: border-box; padding: 0px 5px;">163</li><li style="box-sizing: border-box; padding: 0px 5px;">164</li><li style="box-sizing: border-box; padding: 0px 5px;">165</li><li style="box-sizing: border-box; padding: 0px 5px;">166</li><li style="box-sizing: border-box; padding: 0px 5px;">167</li><li style="box-sizing: border-box; padding: 0px 5px;">168</li><li style="box-sizing: border-box; padding: 0px 5px;">169</li><li style="box-sizing: border-box; padding: 0px 5px;">170</li><li style="box-sizing: border-box; padding: 0px 5px;">171</li><li style="box-sizing: border-box; padding: 0px 5px;">172</li><li style="box-sizing: border-box; padding: 0px 5px;">173</li><li style="box-sizing: border-box; padding: 0px 5px;">174</li><li style="box-sizing: border-box; padding: 0px 5px;">175</li><li style="box-sizing: border-box; padding: 0px 5px;">176</li><li style="box-sizing: border-box; padding: 0px 5px;">177</li><li style="box-sizing: border-box; padding: 0px 5px;">178</li><li style="box-sizing: border-box; padding: 0px 5px;">179</li><li style="box-sizing: border-box; padding: 0px 5px;">180</li><li style="box-sizing: border-box; padding: 0px 5px;">181</li><li style="box-sizing: border-box; padding: 0px 5px;">182</li><li style="box-sizing: border-box; padding: 0px 5px;">183</li><li style="box-sizing: border-box; padding: 0px 5px;">184</li><li style="box-sizing: border-box; padding: 0px 5px;">185</li><li style="box-sizing: border-box; padding: 0px 5px;">186</li><li style="box-sizing: border-box; padding: 0px 5px;">187</li><li style="box-sizing: border-box; padding: 0px 5px;">188</li><li style="box-sizing: border-box; padding: 0px 5px;">189</li><li style="box-sizing: border-box; padding: 0px 5px;">190</li><li style="box-sizing: border-box; padding: 0px 5px;">191</li><li style="box-sizing: border-box; padding: 0px 5px;">192</li><li style="box-sizing: border-box; padding: 0px 5px;">193</li><li style="box-sizing: border-box; padding: 0px 5px;">194</li><li style="box-sizing: border-box; padding: 0px 5px;">195</li><li style="box-sizing: border-box; padding: 0px 5px;">196</li><li style="box-sizing: border-box; padding: 0px 5px;">197</li><li style="box-sizing: border-box; padding: 0px 5px;">198</li><li style="box-sizing: border-box; padding: 0px 5px;">199</li><li style="box-sizing: border-box; padding: 0px 5px;">200</li><li style="box-sizing: border-box; padding: 0px 5px;">201</li><li style="box-sizing: border-box; padding: 0px 5px;">202</li><li style="box-sizing: border-box; padding: 0px 5px;">203</li><li style="box-sizing: border-box; padding: 0px 5px;">204</li><li style="box-sizing: border-box; padding: 0px 5px;">205</li><li style="box-sizing: border-box; padding: 0px 5px;">206</li><li style="box-sizing: border-box; padding: 0px 5px;">207</li><li style="box-sizing: border-box; padding: 0px 5px;">208</li><li style="box-sizing: border-box; padding: 0px 5px;">209</li><li style="box-sizing: border-box; padding: 0px 5px;">210</li><li style="box-sizing: border-box; padding: 0px 5px;">211</li><li style="box-sizing: border-box; padding: 0px 5px;">212</li><li style="box-sizing: border-box; padding: 0px 5px;">213</li><li style="box-sizing: border-box; padding: 0px 5px;">214</li><li style="box-sizing: border-box; padding: 0px 5px;">215</li><li style="box-sizing: border-box; padding: 0px 5px;">216</li><li style="box-sizing: border-box; padding: 0px 5px;">217</li><li style="box-sizing: border-box; padding: 0px 5px;">218</li><li style="box-sizing: border-box; padding: 0px 5px;">219</li><li style="box-sizing: border-box; padding: 0px 5px;">220</li><li style="box-sizing: border-box; padding: 0px 5px;">221</li><li style="box-sizing: border-box; padding: 0px 5px;">222</li><li style="box-sizing: border-box; padding: 0px 5px;">223</li><li style="box-sizing: border-box; padding: 0px 5px;">224</li><li style="box-sizing: border-box; padding: 0px 5px;">225</li><li style="box-sizing: border-box; padding: 0px 5px;">226</li><li style="box-sizing: border-box; padding: 0px 5px;">227</li><li style="box-sizing: border-box; padding: 0px 5px;">228</li><li style="box-sizing: border-box; padding: 0px 5px;">229</li><li style="box-sizing: border-box; padding: 0px 5px;">230</li><li style="box-sizing: border-box; padding: 0px 5px;">231</li><li style="box-sizing: border-box; padding: 0px 5px;">232</li><li style="box-sizing: border-box; padding: 0px 5px;">233</li><li style="box-sizing: border-box; padding: 0px 5px;">234</li><li style="box-sizing: border-box; padding: 0px 5px;">235</li><li style="box-sizing: border-box; padding: 0px 5px;">236</li><li style="box-sizing: border-box; padding: 0px 5px;">237</li><li style="box-sizing: border-box; padding: 0px 5px;">238</li><li style="box-sizing: border-box; padding: 0px 5px;">239</li><li style="box-sizing: border-box; padding: 0px 5px;">240</li><li style="box-sizing: border-box; padding: 0px 5px;">241</li><li style="box-sizing: border-box; padding: 0px 5px;">242</li><li style="box-sizing: border-box; padding: 0px 5px;">243</li><li style="box-sizing: border-box; padding: 0px 5px;">244</li><li style="box-sizing: border-box; padding: 0px 5px;">245</li><li style="box-sizing: border-box; padding: 0px 5px;">246</li><li style="box-sizing: border-box; padding: 0px 5px;">247</li><li style="box-sizing: border-box; padding: 0px 5px;">248</li><li style="box-sizing: border-box; padding: 0px 5px;">249</li><li style="box-sizing: border-box; padding: 0px 5px;">250</li><li style="box-sizing: border-box; padding: 0px 5px;">251</li><li style="box-sizing: border-box; padding: 0px 5px;">252</li><li style="box-sizing: border-box; padding: 0px 5px;">253</li><li style="box-sizing: border-box; padding: 0px 5px;">254</li><li style="box-sizing: border-box; padding: 0px 5px;">255</li><li style="box-sizing: border-box; padding: 0px 5px;">256</li><li style="box-sizing: border-box; padding: 0px 5px;">257</li><li style="box-sizing: border-box; padding: 0px 5px;">258</li><li style="box-sizing: border-box; padding: 0px 5px;">259</li><li style="box-sizing: border-box; padding: 0px 5px;">260</li><li style="box-sizing: border-box; padding: 0px 5px;">261</li><li style="box-sizing: border-box; padding: 0px 5px;">262</li><li style="box-sizing: border-box; padding: 0px 5px;">263</li><li style="box-sizing: border-box; padding: 0px 5px;">264</li><li style="box-sizing: border-box; padding: 0px 5px;">265</li><li style="box-sizing: border-box; padding: 0px 5px;">266</li><li style="box-sizing: border-box; padding: 0px 5px;">267</li><li style="box-sizing: border-box; padding: 0px 5px;">268</li><li style="box-sizing: border-box; padding: 0px 5px;">269</li><li style="box-sizing: border-box; padding: 0px 5px;">270</li><li style="box-sizing: border-box; padding: 0px 5px;">271</li><li style="box-sizing: border-box; padding: 0px 5px;">272</li><li style="box-sizing: border-box; padding: 0px 5px;">273</li><li style="box-sizing: border-box; padding: 0px 5px;">274</li><li style="box-sizing: border-box; padding: 0px 5px;">275</li><li style="box-sizing: border-box; padding: 0px 5px;">276</li><li style="box-sizing: border-box; padding: 0px 5px;">277</li><li style="box-sizing: border-box; padding: 0px 5px;">278</li><li style="box-sizing: border-box; padding: 0px 5px;">279</li><li style="box-sizing: border-box; padding: 0px 5px;">280</li><li style="box-sizing: border-box; padding: 0px 5px;">281</li><li style="box-sizing: border-box; padding: 0px 5px;">282</li><li style="box-sizing: border-box; padding: 0px 5px;">283</li><li style="box-sizing: border-box; padding: 0px 5px;">284</li><li style="box-sizing: border-box; padding: 0px 5px;">285</li><li style="box-sizing: border-box; padding: 0px 5px;">286</li><li style="box-sizing: border-box; padding: 0px 5px;">287</li><li style="box-sizing: border-box; padding: 0px 5px;">288</li><li style="box-sizing: border-box; padding: 0px 5px;">289</li><li style="box-sizing: border-box; padding: 0px 5px;">290</li><li style="box-sizing: border-box; padding: 0px 5px;">291</li><li style="box-sizing: border-box; padding: 0px 5px;">292</li><li style="box-sizing: border-box; padding: 0px 5px;">293</li><li style="box-sizing: border-box; padding: 0px 5px;">294</li><li style="box-sizing: border-box; padding: 0px 5px;">295</li><li style="box-sizing: border-box; padding: 0px 5px;">296</li><li style="box-sizing: border-box; padding: 0px 5px;">297</li><li style="box-sizing: border-box; padding: 0px 5px;">298</li><li style="box-sizing: border-box; padding: 0px 5px;">299</li><li style="box-sizing: border-box; padding: 0px 5px;">300</li><li style="box-sizing: border-box; padding: 0px 5px;">301</li><li style="box-sizing: border-box; padding: 0px 5px;">302</li><li style="box-sizing: border-box; padding: 0px 5px;">303</li><li style="box-sizing: border-box; padding: 0px 5px;">304</li><li style="box-sizing: border-box; padding: 0px 5px;">305</li><li style="box-sizing: border-box; padding: 0px 5px;">306</li><li style="box-sizing: border-box; padding: 0px 5px;">307</li><li style="box-sizing: border-box; padding: 0px 5px;">308</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li><li style="box-sizing: border-box; padding: 0px 5px;">61</li><li style="box-sizing: border-box; padding: 0px 5px;">62</li><li style="box-sizing: border-box; padding: 0px 5px;">63</li><li style="box-sizing: border-box; padding: 0px 5px;">64</li><li style="box-sizing: border-box; padding: 0px 5px;">65</li><li style="box-sizing: border-box; padding: 0px 5px;">66</li><li style="box-sizing: border-box; padding: 0px 5px;">67</li><li style="box-sizing: border-box; padding: 0px 5px;">68</li><li style="box-sizing: border-box; padding: 0px 5px;">69</li><li style="box-sizing: border-box; padding: 0px 5px;">70</li><li style="box-sizing: border-box; padding: 0px 5px;">71</li><li style="box-sizing: border-box; padding: 0px 5px;">72</li><li style="box-sizing: border-box; padding: 0px 5px;">73</li><li style="box-sizing: border-box; padding: 0px 5px;">74</li><li style="box-sizing: border-box; padding: 0px 5px;">75</li><li style="box-sizing: border-box; padding: 0px 5px;">76</li><li style="box-sizing: border-box; padding: 0px 5px;">77</li><li style="box-sizing: border-box; padding: 0px 5px;">78</li><li style="box-sizing: border-box; padding: 0px 5px;">79</li><li style="box-sizing: border-box; padding: 0px 5px;">80</li><li style="box-sizing: border-box; padding: 0px 5px;">81</li><li style="box-sizing: border-box; padding: 0px 5px;">82</li><li style="box-sizing: border-box; padding: 0px 5px;">83</li><li style="box-sizing: border-box; padding: 0px 5px;">84</li><li style="box-sizing: border-box; padding: 0px 5px;">85</li><li style="box-sizing: border-box; padding: 0px 5px;">86</li><li style="box-sizing: border-box; padding: 0px 5px;">87</li><li style="box-sizing: border-box; padding: 0px 5px;">88</li><li style="box-sizing: border-box; padding: 0px 5px;">89</li><li style="box-sizing: border-box; padding: 0px 5px;">90</li><li style="box-sizing: border-box; padding: 0px 5px;">91</li><li style="box-sizing: border-box; padding: 0px 5px;">92</li><li style="box-sizing: border-box; padding: 0px 5px;">93</li><li style="box-sizing: border-box; padding: 0px 5px;">94</li><li style="box-sizing: border-box; padding: 0px 5px;">95</li><li style="box-sizing: border-box; padding: 0px 5px;">96</li><li style="box-sizing: border-box; padding: 0px 5px;">97</li><li style="box-sizing: border-box; padding: 0px 5px;">98</li><li style="box-sizing: border-box; padding: 0px 5px;">99</li><li style="box-sizing: border-box; padding: 0px 5px;">100</li><li style="box-sizing: border-box; padding: 0px 5px;">101</li><li style="box-sizing: border-box; padding: 0px 5px;">102</li><li style="box-sizing: border-box; padding: 0px 5px;">103</li><li style="box-sizing: border-box; padding: 0px 5px;">104</li><li style="box-sizing: border-box; padding: 0px 5px;">105</li><li style="box-sizing: border-box; padding: 0px 5px;">106</li><li style="box-sizing: border-box; padding: 0px 5px;">107</li><li style="box-sizing: border-box; padding: 0px 5px;">108</li><li style="box-sizing: border-box; padding: 0px 5px;">109</li><li style="box-sizing: border-box; padding: 0px 5px;">110</li><li style="box-sizing: border-box; padding: 0px 5px;">111</li><li style="box-sizing: border-box; padding: 0px 5px;">112</li><li style="box-sizing: border-box; padding: 0px 5px;">113</li><li style="box-sizing: border-box; padding: 0px 5px;">114</li><li style="box-sizing: border-box; padding: 0px 5px;">115</li><li style="box-sizing: border-box; padding: 0px 5px;">116</li><li style="box-sizing: border-box; padding: 0px 5px;">117</li><li style="box-sizing: border-box; padding: 0px 5px;">118</li><li style="box-sizing: border-box; padding: 0px 5px;">119</li><li style="box-sizing: border-box; padding: 0px 5px;">120</li><li style="box-sizing: border-box; padding: 0px 5px;">121</li><li style="box-sizing: border-box; padding: 0px 5px;">122</li><li style="box-sizing: border-box; padding: 0px 5px;">123</li><li style="box-sizing: border-box; padding: 0px 5px;">124</li><li style="box-sizing: border-box; padding: 0px 5px;">125</li><li style="box-sizing: border-box; padding: 0px 5px;">126</li><li style="box-sizing: border-box; padding: 0px 5px;">127</li><li style="box-sizing: border-box; padding: 0px 5px;">128</li><li style="box-sizing: border-box; padding: 0px 5px;">129</li><li style="box-sizing: border-box; padding: 0px 5px;">130</li><li style="box-sizing: border-box; padding: 0px 5px;">131</li><li style="box-sizing: border-box; padding: 0px 5px;">132</li><li style="box-sizing: border-box; padding: 0px 5px;">133</li><li style="box-sizing: border-box; padding: 0px 5px;">134</li><li style="box-sizing: border-box; padding: 0px 5px;">135</li><li style="box-sizing: border-box; padding: 0px 5px;">136</li><li style="box-sizing: border-box; padding: 0px 5px;">137</li><li style="box-sizing: border-box; padding: 0px 5px;">138</li><li style="box-sizing: border-box; padding: 0px 5px;">139</li><li style="box-sizing: border-box; padding: 0px 5px;">140</li><li style="box-sizing: border-box; padding: 0px 5px;">141</li><li style="box-sizing: border-box; padding: 0px 5px;">142</li><li style="box-sizing: border-box; padding: 0px 5px;">143</li><li style="box-sizing: border-box; padding: 0px 5px;">144</li><li style="box-sizing: border-box; padding: 0px 5px;">145</li><li style="box-sizing: border-box; padding: 0px 5px;">146</li><li style="box-sizing: border-box; padding: 0px 5px;">147</li><li style="box-sizing: border-box; padding: 0px 5px;">148</li><li style="box-sizing: border-box; padding: 0px 5px;">149</li><li style="box-sizing: border-box; padding: 0px 5px;">150</li><li style="box-sizing: border-box; padding: 0px 5px;">151</li><li style="box-sizing: border-box; padding: 0px 5px;">152</li><li style="box-sizing: border-box; padding: 0px 5px;">153</li><li style="box-sizing: border-box; padding: 0px 5px;">154</li><li style="box-sizing: border-box; padding: 0px 5px;">155</li><li style="box-sizing: border-box; padding: 0px 5px;">156</li><li style="box-sizing: border-box; padding: 0px 5px;">157</li><li style="box-sizing: border-box; padding: 0px 5px;">158</li><li style="box-sizing: border-box; padding: 0px 5px;">159</li><li style="box-sizing: border-box; padding: 0px 5px;">160</li><li style="box-sizing: border-box; padding: 0px 5px;">161</li><li style="box-sizing: border-box; padding: 0px 5px;">162</li><li style="box-sizing: border-box; padding: 0px 5px;">163</li><li style="box-sizing: border-box; padding: 0px 5px;">164</li><li style="box-sizing: border-box; padding: 0px 5px;">165</li><li style="box-sizing: border-box; padding: 0px 5px;">166</li><li style="box-sizing: border-box; padding: 0px 5px;">167</li><li style="box-sizing: border-box; padding: 0px 5px;">168</li><li style="box-sizing: border-box; padding: 0px 5px;">169</li><li style="box-sizing: border-box; padding: 0px 5px;">170</li><li style="box-sizing: border-box; padding: 0px 5px;">171</li><li style="box-sizing: border-box; padding: 0px 5px;">172</li><li style="box-sizing: border-box; padding: 0px 5px;">173</li><li style="box-sizing: border-box; padding: 0px 5px;">174</li><li style="box-sizing: border-box; padding: 0px 5px;">175</li><li style="box-sizing: border-box; padding: 0px 5px;">176</li><li style="box-sizing: border-box; padding: 0px 5px;">177</li><li style="box-sizing: border-box; padding: 0px 5px;">178</li><li style="box-sizing: border-box; padding: 0px 5px;">179</li><li style="box-sizing: border-box; padding: 0px 5px;">180</li><li style="box-sizing: border-box; padding: 0px 5px;">181</li><li style="box-sizing: border-box; padding: 0px 5px;">182</li><li style="box-sizing: border-box; padding: 0px 5px;">183</li><li style="box-sizing: border-box; padding: 0px 5px;">184</li><li style="box-sizing: border-box; padding: 0px 5px;">185</li><li style="box-sizing: border-box; padding: 0px 5px;">186</li><li style="box-sizing: border-box; padding: 0px 5px;">187</li><li style="box-sizing: border-box; padding: 0px 5px;">188</li><li style="box-sizing: border-box; padding: 0px 5px;">189</li><li style="box-sizing: border-box; padding: 0px 5px;">190</li><li style="box-sizing: border-box; padding: 0px 5px;">191</li><li style="box-sizing: border-box; padding: 0px 5px;">192</li><li style="box-sizing: border-box; padding: 0px 5px;">193</li><li style="box-sizing: border-box; padding: 0px 5px;">194</li><li style="box-sizing: border-box; padding: 0px 5px;">195</li><li style="box-sizing: border-box; padding: 0px 5px;">196</li><li style="box-sizing: border-box; padding: 0px 5px;">197</li><li style="box-sizing: border-box; padding: 0px 5px;">198</li><li style="box-sizing: border-box; padding: 0px 5px;">199</li><li style="box-sizing: border-box; padding: 0px 5px;">200</li><li style="box-sizing: border-box; padding: 0px 5px;">201</li><li style="box-sizing: border-box; padding: 0px 5px;">202</li><li style="box-sizing: border-box; padding: 0px 5px;">203</li><li style="box-sizing: border-box; padding: 0px 5px;">204</li><li style="box-sizing: border-box; padding: 0px 5px;">205</li><li style="box-sizing: border-box; padding: 0px 5px;">206</li><li style="box-sizing: border-box; padding: 0px 5px;">207</li><li style="box-sizing: border-box; padding: 0px 5px;">208</li><li style="box-sizing: border-box; padding: 0px 5px;">209</li><li style="box-sizing: border-box; padding: 0px 5px;">210</li><li style="box-sizing: border-box; padding: 0px 5px;">211</li><li style="box-sizing: border-box; padding: 0px 5px;">212</li><li style="box-sizing: border-box; padding: 0px 5px;">213</li><li style="box-sizing: border-box; padding: 0px 5px;">214</li><li style="box-sizing: border-box; padding: 0px 5px;">215</li><li style="box-sizing: border-box; padding: 0px 5px;">216</li><li style="box-sizing: border-box; padding: 0px 5px;">217</li><li style="box-sizing: border-box; padding: 0px 5px;">218</li><li style="box-sizing: border-box; padding: 0px 5px;">219</li><li style="box-sizing: border-box; padding: 0px 5px;">220</li><li style="box-sizing: border-box; padding: 0px 5px;">221</li><li style="box-sizing: border-box; padding: 0px 5px;">222</li><li style="box-sizing: border-box; padding: 0px 5px;">223</li><li style="box-sizing: border-box; padding: 0px 5px;">224</li><li style="box-sizing: border-box; padding: 0px 5px;">225</li><li style="box-sizing: border-box; padding: 0px 5px;">226</li><li style="box-sizing: border-box; padding: 0px 5px;">227</li><li style="box-sizing: border-box; padding: 0px 5px;">228</li><li style="box-sizing: border-box; padding: 0px 5px;">229</li><li style="box-sizing: border-box; padding: 0px 5px;">230</li><li style="box-sizing: border-box; padding: 0px 5px;">231</li><li style="box-sizing: border-box; padding: 0px 5px;">232</li><li style="box-sizing: border-box; padding: 0px 5px;">233</li><li style="box-sizing: border-box; padding: 0px 5px;">234</li><li style="box-sizing: border-box; padding: 0px 5px;">235</li><li style="box-sizing: border-box; padding: 0px 5px;">236</li><li style="box-sizing: border-box; padding: 0px 5px;">237</li><li style="box-sizing: border-box; padding: 0px 5px;">238</li><li style="box-sizing: border-box; padding: 0px 5px;">239</li><li style="box-sizing: border-box; padding: 0px 5px;">240</li><li style="box-sizing: border-box; padding: 0px 5px;">241</li><li style="box-sizing: border-box; padding: 0px 5px;">242</li><li style="box-sizing: border-box; padding: 0px 5px;">243</li><li style="box-sizing: border-box; padding: 0px 5px;">244</li><li style="box-sizing: border-box; padding: 0px 5px;">245</li><li style="box-sizing: border-box; padding: 0px 5px;">246</li><li style="box-sizing: border-box; padding: 0px 5px;">247</li><li style="box-sizing: border-box; padding: 0px 5px;">248</li><li style="box-sizing: border-box; padding: 0px 5px;">249</li><li style="box-sizing: border-box; padding: 0px 5px;">250</li><li style="box-sizing: border-box; padding: 0px 5px;">251</li><li style="box-sizing: border-box; padding: 0px 5px;">252</li><li style="box-sizing: border-box; padding: 0px 5px;">253</li><li style="box-sizing: border-box; padding: 0px 5px;">254</li><li style="box-sizing: border-box; padding: 0px 5px;">255</li><li style="box-sizing: border-box; padding: 0px 5px;">256</li><li style="box-sizing: border-box; padding: 0px 5px;">257</li><li style="box-sizing: border-box; padding: 0px 5px;">258</li><li style="box-sizing: border-box; padding: 0px 5px;">259</li><li style="box-sizing: border-box; padding: 0px 5px;">260</li><li style="box-sizing: border-box; padding: 0px 5px;">261</li><li style="box-sizing: border-box; padding: 0px 5px;">262</li><li style="box-sizing: border-box; padding: 0px 5px;">263</li><li style="box-sizing: border-box; padding: 0px 5px;">264</li><li style="box-sizing: border-box; padding: 0px 5px;">265</li><li style="box-sizing: border-box; padding: 0px 5px;">266</li><li style="box-sizing: border-box; padding: 0px 5px;">267</li><li style="box-sizing: border-box; padding: 0px 5px;">268</li><li style="box-sizing: border-box; padding: 0px 5px;">269</li><li style="box-sizing: border-box; padding: 0px 5px;">270</li><li style="box-sizing: border-box; padding: 0px 5px;">271</li><li style="box-sizing: border-box; padding: 0px 5px;">272</li><li style="box-sizing: border-box; padding: 0px 5px;">273</li><li style="box-sizing: border-box; padding: 0px 5px;">274</li><li style="box-sizing: border-box; padding: 0px 5px;">275</li><li style="box-sizing: border-box; padding: 0px 5px;">276</li><li style="box-sizing: border-box; padding: 0px 5px;">277</li><li style="box-sizing: border-box; padding: 0px 5px;">278</li><li style="box-sizing: border-box; padding: 0px 5px;">279</li><li style="box-sizing: border-box; padding: 0px 5px;">280</li><li style="box-sizing: border-box; padding: 0px 5px;">281</li><li style="box-sizing: border-box; padding: 0px 5px;">282</li><li style="box-sizing: border-box; padding: 0px 5px;">283</li><li style="box-sizing: border-box; padding: 0px 5px;">284</li><li style="box-sizing: border-box; padding: 0px 5px;">285</li><li style="box-sizing: border-box; padding: 0px 5px;">286</li><li style="box-sizing: border-box; padding: 0px 5px;">287</li><li style="box-sizing: border-box; padding: 0px 5px;">288</li><li style="box-sizing: border-box; padding: 0px 5px;">289</li><li style="box-sizing: border-box; padding: 0px 5px;">290</li><li style="box-sizing: border-box; padding: 0px 5px;">291</li><li style="box-sizing: border-box; padding: 0px 5px;">292</li><li style="box-sizing: border-box; padding: 0px 5px;">293</li><li style="box-sizing: border-box; padding: 0px 5px;">294</li><li style="box-sizing: border-box; padding: 0px 5px;">295</li><li style="box-sizing: border-box; padding: 0px 5px;">296</li><li style="box-sizing: border-box; padding: 0px 5px;">297</li><li style="box-sizing: border-box; padding: 0px 5px;">298</li><li style="box-sizing: border-box; padding: 0px 5px;">299</li><li style="box-sizing: border-box; padding: 0px 5px;">300</li><li style="box-sizing: border-box; padding: 0px 5px;">301</li><li style="box-sizing: border-box; padding: 0px 5px;">302</li><li style="box-sizing: border-box; padding: 0px 5px;">303</li><li style="box-sizing: border-box; padding: 0px 5px;">304</li><li style="box-sizing: border-box; padding: 0px 5px;">305</li><li style="box-sizing: border-box; padding: 0px 5px;">306</li><li style="box-sizing: border-box; padding: 0px 5px;">307</li><li style="box-sizing: border-box; padding: 0px 5px;">308</li></ul>

4.结果 
输入值: 
输入值
sin值: 
这里写图片描述
cos值: 
这里写图片描述

5.参考文献 
cordic算法的verilog实现及modelsim仿真 
cordic算法

0 0
原创粉丝点击