在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7685|回复: 6

求8*8的DCT算法verilog的RTL级描述

[复制链接]
发表于 2008-6-3 13:18:17 | 显示全部楼层 |阅读模式
50资产
实现8点一维DCT变换(实在嫌麻烦的话4*4也可以,剩下的我自己想办法)
RTL级,利用两级或两级以上流水线,能通过VSC仿真。

 楼主| 发表于 2008-6-3 13:33:29 | 显示全部楼层

补充一句

利用这个算法即可:输入x0—x7,输出Y0—Y7

c1 = 0x2C62, c3 = 0x25A0;
c5 = 0x1924, c7 = 0x08D4;
c0 = 0xB505, c2 = 0x29CF;
c6 = 0x1151;

g0 = x0 + x7; h2 = x0 - x7;
g1 = x1 + x6; h3 = x1 - x6;
h1 = x2 + x5; g3 = x2 - x5;
h0 = x3 + x4; g2 = x3 - x4;
p0 = g0 + h0; r0 = g0 - h0;
p1 = g1 + h1; r1 = g1 - h1;
q1 = g2; s1 = h2;
s0a= h3 + g3; q0a= h3 - g3;
s0 = (s0a * c0 + 0x7FFF) >> 16;
q0 = (q0a * c0 + 0x7FFF) >> 16;
P0 = p0 + p1; P1 = p0 - p1;
R1 = c6 * r1 + c2 * r0; R0 = c6 * r0 - c2 * r1;
Q1 = q1 + q0; Q0 = q1 - q0;
S1 = s1 + s0; S0 = s1 - s0;
Y0 = P0; Y4 = P1;
Y2 = R1>>13; Y6 = R0>>13;
Y1 = (c7 * Q1 + c1 * S1) >>13;
Y7 = (c7 * S1 - c1 * Q1) >>13;
Y5 = (c3 * Q0 + c5 * S0) >>13;
Y3 = (c3 * S0 - c5 * Q0) >>13;

我的邮箱:mqykyo@yahoo.cn

[ 本帖最后由 mqyucn 于 2008-6-3 13:45 编辑 ]
 楼主| 发表于 2008-6-4 08:28:47 | 显示全部楼层
自己顶一下,等高人出现。
发表于 2008-6-4 11:03:21 | 显示全部楼层
http://www.opencores.org/projects.cgi/web/mdct/overview
不知道这个能否满足你的要求

[ 本帖最后由 chenm001 于 2008-6-4 11:06 编辑 ]
 楼主| 发表于 2008-6-4 16:58:53 | 显示全部楼层
回LS,这个不是VHDL吗?
我想要的是Verilog啊,后面做综合方便些。
发表于 2010-6-21 11:01:36 | 显示全部楼层
我也向要
发表于 2010-12-17 13:28:29 | 显示全部楼层
very useful
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 07:54 , Processed in 0.024216 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表