📄 dve_ccir_lut7b.v
字号:
// -----------------------------------------------------------------------------
//
//
// D I G I T A L C O L O R V I D E O E N C O D E R
//
// Video datapath
// Version : 1.0
//
// Copyright (c) 1998 Maxim Vlassov (maxismsx@hotmail.com)
//
// All rights reserved
//
// Redistribution and reuse of source code and synthesized forms of this source code and it's
// derivatives is strictly permitted under the following conditions:
//
// Redistributions of source code MUST retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// Redistributions of code in synthesized form MUST reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// Neither the name of the author nor the names of other contributors may
// be used to endorse or promote products derived from this software without
// specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// -----------------------------------------------------------------------------
//
// Any derivated work from the current design could be not synchronized with the
// latest design updates. Report any design reuse issues to the author.
// Lates release notes and design relseases are available upon request via e-mail.
//
// -----------------------------------------------------------------------------
//
// Two lookup tables
// The two sine tables contain the sine values from 0 to PI/4 with steps 2*PI/2048
//
// -----------------------------------------------------------------------------
module dve_ccir_lut7b(
addr_lut,
sin_lut,
cos_lut
);
parameter SUBCARRIER_INTEGER_PRECISION = 11;
input [SUBCARRIER_INTEGER_PRECISION-4 : 0] addr_lut;
output [6 : 0] sin_lut, cos_lut;
reg [6 : 0] sin_lut_value, cos_lut_value;
always @(addr_lut)
begin
case (addr_lut)
//value for sin(0*2*PI/2048)
10'd0 : sin_lut_value = 7'd0;
//value for sin(1*2*PI/2048)
10'd1 : sin_lut_value = 7'd0;
//value for sin(2*2*PI/2048)
10'd2 : sin_lut_value = 7'd0;
//value for sin(3*2*PI/2048)
10'd3 : sin_lut_value = 7'd1;
//value for sin(4*2*PI/2048)
10'd4 : sin_lut_value = 7'd1;
//value for sin(5*2*PI/2048)
10'd5 : sin_lut_value = 7'd1;
//value for sin(6*2*PI/2048)
10'd6 : sin_lut_value = 7'd2;
//value for sin(7*2*PI/2048)
10'd7 : sin_lut_value = 7'd2;
//value for sin(8*2*PI/2048)
10'd8 : sin_lut_value = 7'd3;
//value for sin(9*2*PI/2048)
10'd9 : sin_lut_value = 7'd3;
//value for sin(10*2*PI/2048)
10'd10 : sin_lut_value = 7'd3;
//value for sin(11*2*PI/2048)
10'd11 : sin_lut_value = 7'd4;
//value for sin(12*2*PI/2048)
10'd12 : sin_lut_value = 7'd4;
//value for sin(13*2*PI/2048)
10'd13 : sin_lut_value = 7'd5;
//value for sin(14*2*PI/2048)
10'd14 : sin_lut_value = 7'd5;
//value for sin(15*2*PI/2048)
10'd15 : sin_lut_value = 7'd5;
//value for sin(16*2*PI/2048)
10'd16 : sin_lut_value = 7'd6;
//value for sin(17*2*PI/2048)
10'd17 : sin_lut_value = 7'd6;
//value for sin(18*2*PI/2048)
10'd18 : sin_lut_value = 7'd7;
//value for sin(19*2*PI/2048)
10'd19 : sin_lut_value = 7'd7;
//value for sin(20*2*PI/2048)
10'd20 : sin_lut_value = 7'd7;
//value for sin(21*2*PI/2048)
10'd21 : sin_lut_value = 7'd8;
//value for sin(22*2*PI/2048)
10'd22 : sin_lut_value = 7'd8;
//value for sin(23*2*PI/2048)
10'd23 : sin_lut_value = 7'd9;
//value for sin(24*2*PI/2048)
10'd24 : sin_lut_value = 7'd9;
//value for sin(25*2*PI/2048)
10'd25 : sin_lut_value = 7'd9;
//value for sin(26*2*PI/2048)
10'd26 : sin_lut_value = 7'd10;
//value for sin(27*2*PI/2048)
10'd27 : sin_lut_value = 7'd10;
//value for sin(28*2*PI/2048)
10'd28 : sin_lut_value = 7'd10;
//value for sin(29*2*PI/2048)
10'd29 : sin_lut_value = 7'd11;
//value for sin(30*2*PI/2048)
10'd30 : sin_lut_value = 7'd11;
//value for sin(31*2*PI/2048)
10'd31 : sin_lut_value = 7'd12;
//value for sin(32*2*PI/2048)
10'd32 : sin_lut_value = 7'd12;
//value for sin(33*2*PI/2048)
10'd33 : sin_lut_value = 7'd12;
//value for sin(34*2*PI/2048)
10'd34 : sin_lut_value = 7'd13;
//value for sin(35*2*PI/2048)
10'd35 : sin_lut_value = 7'd13;
//value for sin(36*2*PI/2048)
10'd36 : sin_lut_value = 7'd14;
//value for sin(37*2*PI/2048)
10'd37 : sin_lut_value = 7'd14;
//value for sin(38*2*PI/2048)
10'd38 : sin_lut_value = 7'd14;
//value for sin(39*2*PI/2048)
10'd39 : sin_lut_value = 7'd15;
//value for sin(40*2*PI/2048)
10'd40 : sin_lut_value = 7'd15;
//value for sin(41*2*PI/2048)
10'd41 : sin_lut_value = 7'd16;
//value for sin(42*2*PI/2048)
10'd42 : sin_lut_value = 7'd16;
//value for sin(43*2*PI/2048)
10'd43 : sin_lut_value = 7'd16;
//value for sin(44*2*PI/2048)
10'd44 : sin_lut_value = 7'd17;
//value for sin(45*2*PI/2048)
10'd45 : sin_lut_value = 7'd17;
//value for sin(46*2*PI/2048)
10'd46 : sin_lut_value = 7'd18;
//value for sin(47*2*PI/2048)
10'd47 : sin_lut_value = 7'd18;
//value for sin(48*2*PI/2048)
10'd48 : sin_lut_value = 7'd18;
//value for sin(49*2*PI/2048)
10'd49 : sin_lut_value = 7'd19;
//value for sin(50*2*PI/2048)
10'd50 : sin_lut_value = 7'd19;
//value for sin(51*2*PI/2048)
10'd51 : sin_lut_value = 7'd19;
//value for sin(52*2*PI/2048)
10'd52 : sin_lut_value = 7'd20;
//value for sin(53*2*PI/2048)
10'd53 : sin_lut_value = 7'd20;
//value for sin(54*2*PI/2048)
10'd54 : sin_lut_value = 7'd21;
//value for sin(55*2*PI/2048)
10'd55 : sin_lut_value = 7'd21;
//value for sin(56*2*PI/2048)
10'd56 : sin_lut_value = 7'd21;
//value for sin(57*2*PI/2048)
10'd57 : sin_lut_value = 7'd22;
//value for sin(58*2*PI/2048)
10'd58 : sin_lut_value = 7'd22;
//value for sin(59*2*PI/2048)
10'd59 : sin_lut_value = 7'd23;
//value for sin(60*2*PI/2048)
10'd60 : sin_lut_value = 7'd23;
//value for sin(61*2*PI/2048)
10'd61 : sin_lut_value = 7'd23;
//value for sin(62*2*PI/2048)
10'd62 : sin_lut_value = 7'd24;
//value for sin(63*2*PI/2048)
10'd63 : sin_lut_value = 7'd24;
//value for sin(64*2*PI/2048)
10'd64 : sin_lut_value = 7'd24;
//value for sin(65*2*PI/2048)
10'd65 : sin_lut_value = 7'd25;
//value for sin(66*2*PI/2048)
10'd66 : sin_lut_value = 7'd25;
//value for sin(67*2*PI/2048)
10'd67 : sin_lut_value = 7'd26;
//value for sin(68*2*PI/2048)
10'd68 : sin_lut_value = 7'd26;
//value for sin(69*2*PI/2048)
10'd69 : sin_lut_value = 7'd26;
//value for sin(70*2*PI/2048)
10'd70 : sin_lut_value = 7'd27;
//value for sin(71*2*PI/2048)
10'd71 : sin_lut_value = 7'd27;
//value for sin(72*2*PI/2048)
10'd72 : sin_lut_value = 7'd28;
//value for sin(73*2*PI/2048)
10'd73 : sin_lut_value = 7'd28;
//value for sin(74*2*PI/2048)
10'd74 : sin_lut_value = 7'd28;
//value for sin(75*2*PI/2048)
10'd75 : sin_lut_value = 7'd29;
//value for sin(76*2*PI/2048)
10'd76 : sin_lut_value = 7'd29;
//value for sin(77*2*PI/2048)
10'd77 : sin_lut_value = 7'd29;
//value for sin(78*2*PI/2048)
10'd78 : sin_lut_value = 7'd30;
//value for sin(79*2*PI/2048)
10'd79 : sin_lut_value = 7'd30;
//value for sin(80*2*PI/2048)
10'd80 : sin_lut_value = 7'd31;
//value for sin(81*2*PI/2048)
10'd81 : sin_lut_value = 7'd31;
//value for sin(82*2*PI/2048)
10'd82 : sin_lut_value = 7'd31;
//value for sin(83*2*PI/2048)
10'd83 : sin_lut_value = 7'd32;
//value for sin(84*2*PI/2048)
10'd84 : sin_lut_value = 7'd32;
//value for sin(85*2*PI/2048)
10'd85 : sin_lut_value = 7'd33;
//value for sin(86*2*PI/2048)
10'd86 : sin_lut_value = 7'd33;
//value for sin(87*2*PI/2048)
10'd87 : sin_lut_value = 7'd33;
//value for sin(88*2*PI/2048)
10'd88 : sin_lut_value = 7'd34;
//value for sin(89*2*PI/2048)
10'd89 : sin_lut_value = 7'd34;
//value for sin(90*2*PI/2048)
10'd90 : sin_lut_value = 7'd34;
//value for sin(91*2*PI/2048)
10'd91 : sin_lut_value = 7'd35;
//value for sin(92*2*PI/2048)
10'd92 : sin_lut_value = 7'd35;
//value for sin(93*2*PI/2048)
10'd93 : sin_lut_value = 7'd36;
//value for sin(94*2*PI/2048)
10'd94 : sin_lut_value = 7'd36;
//value for sin(95*2*PI/2048)
10'd95 : sin_lut_value = 7'd36;
//value for sin(96*2*PI/2048)
10'd96 : sin_lut_value = 7'd37;
//value for sin(97*2*PI/2048)
10'd97 : sin_lut_value = 7'd37;
//value for sin(98*2*PI/2048)
10'd98 : sin_lut_value = 7'd37;
//value for sin(99*2*PI/2048)
10'd99 : sin_lut_value = 7'd38;
//value for sin(100*2*PI/2048)
10'd100 : sin_lut_value = 7'd38;
//value for sin(101*2*PI/2048)
10'd101 : sin_lut_value = 7'd39;
//value for sin(102*2*PI/2048)
10'd102 : sin_lut_value = 7'd39;
//value for sin(103*2*PI/2048)
10'd103 : sin_lut_value = 7'd39;
//value for sin(104*2*PI/2048)
10'd104 : sin_lut_value = 7'd40;
//value for sin(105*2*PI/2048)
10'd105 : sin_lut_value = 7'd40;
//value for sin(106*2*PI/2048)
10'd106 : sin_lut_value = 7'd40;
//value for sin(107*2*PI/2048)
10'd107 : sin_lut_value = 7'd41;
//value for sin(108*2*PI/2048)
10'd108 : sin_lut_value = 7'd41;
//value for sin(109*2*PI/2048)
10'd109 : sin_lut_value = 7'd42;
//value for sin(110*2*PI/2048)
10'd110 : sin_lut_value = 7'd42;
//value for sin(111*2*PI/2048)
10'd111 : sin_lut_value = 7'd42;
//value for sin(112*2*PI/2048)
10'd112 : sin_lut_value = 7'd43;
//value for sin(113*2*PI/2048)
10'd113 : sin_lut_value = 7'd43;
//value for sin(114*2*PI/2048)
10'd114 : sin_lut_value = 7'd43;
//value for sin(115*2*PI/2048)
10'd115 : sin_lut_value = 7'd44;
//value for sin(116*2*PI/2048)
10'd116 : sin_lut_value = 7'd44;
//value for sin(117*2*PI/2048)
10'd117 : sin_lut_value = 7'd44;
//value for sin(118*2*PI/2048)
10'd118 : sin_lut_value = 7'd45;
//value for sin(119*2*PI/2048)
10'd119 : sin_lut_value = 7'd45;
//value for sin(120*2*PI/2048)
10'd120 : sin_lut_value = 7'd46;
//value for sin(121*2*PI/2048)
10'd121 : sin_lut_value = 7'd46;
//value for sin(122*2*PI/2048)
10'd122 : sin_lut_value = 7'd46;
//value for sin(123*2*PI/2048)
10'd123 : sin_lut_value = 7'd47;
//value for sin(124*2*PI/2048)
10'd124 : sin_lut_value = 7'd47;
//value for sin(125*2*PI/2048)
10'd125 : sin_lut_value = 7'd47;
//value for sin(126*2*PI/2048)
10'd126 : sin_lut_value = 7'd48;
//value for sin(127*2*PI/2048)
10'd127 : sin_lut_value = 7'd48;
//value for sin(128*2*PI/2048)
10'd128 : sin_lut_value = 7'd48;
//value for sin(129*2*PI/2048)
10'd129 : sin_lut_value = 7'd49;
//value for sin(130*2*PI/2048)
10'd130 : sin_lut_value = 7'd49;
//value for sin(131*2*PI/2048)
10'd131 : sin_lut_value = 7'd50;
//value for sin(132*2*PI/2048)
10'd132 : sin_lut_value = 7'd50;
//value for sin(133*2*PI/2048)
10'd133 : sin_lut_value = 7'd50;
//value for sin(134*2*PI/2048)
10'd134 : sin_lut_value = 7'd51;
//value for sin(135*2*PI/2048)
10'd135 : sin_lut_value = 7'd51;
//value for sin(136*2*PI/2048)
10'd136 : sin_lut_value = 7'd51;
//value for sin(137*2*PI/2048)
10'd137 : sin_lut_value = 7'd52;
//value for sin(138*2*PI/2048)
10'd138 : sin_lut_value = 7'd52;
//value for sin(139*2*PI/2048)
10'd139 : sin_lut_value = 7'd52;
//value for sin(140*2*PI/2048)
10'd140 : sin_lut_value = 7'd53;
//value for sin(141*2*PI/2048)
10'd141 : sin_lut_value = 7'd53;
//value for sin(142*2*PI/2048)
10'd142 : sin_lut_value = 7'd54;
//value for sin(143*2*PI/2048)
10'd143 : sin_lut_value = 7'd54;
//value for sin(144*2*PI/2048)
10'd144 : sin_lut_value = 7'd54;
//value for sin(145*2*PI/2048)
10'd145 : sin_lut_value = 7'd55;
//value for sin(146*2*PI/2048)
10'd146 : sin_lut_value = 7'd55;
//value for sin(147*2*PI/2048)
10'd147 : sin_lut_value = 7'd55;
//value for sin(148*2*PI/2048)
10'd148 : sin_lut_value = 7'd56;
//value for sin(149*2*PI/2048)
10'd149 : sin_lut_value = 7'd56;
//value for sin(150*2*PI/2048)
10'd150 : sin_lut_value = 7'd56;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -