LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Sun Sep 17 18:30:06 CEST 2006
    Subject: [cvs-checkins] MODIFIED: matrix3x3 ...
    Top
    Date: 00/06/09 17:18:30

    Modified: matrix3x3/rtl/vhdl colorconv.vhd
    Log:
    corrected round error


    Revision Changes Path
    1.3 matrix3x3/rtl/vhdl/colorconv.vhd

    http://www.opencores.org/cvsweb.shtml/matrix3x3/rtl/vhdl/colorconv.vhd.diff?r1=1.2&r2=1.3

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: colorconv.vhd
    ===================================================================
    RCS file: /cvsroot/vv_gulyaev/matrix3x3/rtl/vhdl/colorconv.vhd,v
    retrieving revision 1.2
    retrieving revision 1.3
    diff -u -b -r1.2 -r1.3
    --- colorconv.vhd 15 Aug 2006 18:03:12 -0000 1.2
    +++ colorconv.vhd 17 Sep 2006 16:30:06 -0000 1.3
    @@ -44,6 +44,8 @@
    signal m21, m22, m23 : SIGNED( (data_width+factors_width) downto 0 );
    signal m31, m32, m33 : SIGNED( (data_width+factors_width) downto 0 );

    +signal round1_1, round2_1, round3_1, round1_2, round2_2, round3_2: STD_LOGIC;
    +
    signal x1sh, x2sh, x3sh : SIGNED( data_width downto 0 );

    signal x1s, x2s, x3s : SIGNED( data_width downto 0 );
    @@ -132,6 +134,14 @@
    y2w <= s2w + d2;
    y3w <= s3w + d3;

    + round1_1<=STD_LOGIC(y1w(f_factors_part-1));
    + round2_1<=STD_LOGIC(y2w(f_factors_part-1));
    + round3_1<=STD_LOGIC(y3w(f_factors_part-1));
    +
    + round1_2 <= round1_1;
    + round2_2 <= round2_1;
    + round3_2 <= round3_1;
    +
    y1s(data_width+int_factors_part-1 downto data_width) <= y1w(data_width+int_factors_part+f_factors_part-1 downto data_width+f_factors_part);
    y2s(data_width+int_factors_part-1 downto data_width) <= y2w(data_width+int_factors_part+f_factors_part-1 downto data_width+f_factors_part);
    y3s(data_width+int_factors_part-1 downto data_width) <= y3w(data_width+int_factors_part+f_factors_part-1 downto data_width+f_factors_part);
    @@ -144,9 +154,10 @@
    y2sh <= y2s + b2y(FACTORS_WIDTH-1 DOWNTO FACTORS_WIDTH-DATA_WIDTH-1);
    y3sh <= y3s + b3y(FACTORS_WIDTH-1 DOWNTO FACTORS_WIDTH-DATA_WIDTH-1);

    - y1r <= y1sh+y1w(f_factors_part-1);
    - y2r <= y2sh+y2w(f_factors_part-1);
    - y3r <= y3sh+y3w(f_factors_part-1);
    + y1r <= y1sh + round1_2;
    + y2r <= y2sh + round2_2;
    + y3r <= y3sh + round3_2;
    +

    if (y1r(data_width+int_factors_part-1)='1' and y1r(data_width)='1')then y1ro(data_width-1 downto 0)<=(others=>'0');
    elsif (y1r(data_width+int_factors_part-1)='0' and y1r(data_width)='1')then y1ro(data_width-1 downto 0)<=(others=>'1');
    @@ -165,7 +176,6 @@

    end if;
    end process;
    -
    y1c <= y1r(data_width+int_factors_part-1 downto data_width);
    y2c <= y2r(data_width+int_factors_part-1 downto data_width);
    y3c <= y3r(data_width+int_factors_part-1 downto data_width);



     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.