地址产生模块包括两个,地址产生模块1负责产生读取外部DWT系数缓存的地址信号;地址产生模块2负责产生读取内部5块缓存区域的相应地址。
判断通道归属模块,根据当前寄存器组中相应的编码信息,判断比特位是否属于当前的编码通道,如果属于当前的编码通道,则进行相应的编码原操作,否则跳过该比特位,继续编码下一个比特位。
编码原操作模块包括4部分,即零值编码、符号编码、细化编码和游程编码。一般的工字电感器实现方式采用查找表来实现编码原操作,而本设计中均采用组合电路的形式来实现,这样可以提高产生CX(编码模式)和D(编码比特位)的速度。
状态机模块决定了整个编码器的编码流程,编码主要分为两个阶模压电感段,即预处理阶段和模式产生阶段。预处理阶段主要用于完成5块缓存区域内容的初始化,模式产生阶段则按照显著、细化和清除通道的顺序依次进行编码,输出编码模式给后续的算术编码模块。状态机模块还接收来自计数器的输出,决定当前处于什么状态,在每个位平面编码完成后必须转到预处理阶段,更新下一位位平面的幅度信息,并清零访问缓存的内容。
4.Verilog设计
本文建议的硬件架构采用VERILOG[4]语言描述,主模块是bpc.v,包括ram_block.v,addr_generat差模电感or.v,fill_ram.v,pass_judge.v,coding_primitive.v插件电感器和state_machine.v共6 个子模块。编码流程的实现通过主状态机产生相应的使能信号,激活当前的模块操作,当操作完成后,由该模块产生操作中止信号给主状态机,从而使编码流程进入下一步骤。下面列出了部分用于模块间握手的代码,代码中以省略号代表其它一些控制信号和其它一些状态。
case (cstate)
。。。
gene_layer:begin
。。。gene_layer_en = 1;fill_ram_en = 0;pass_judge_en = 0; 。。。
if (gene_layer_fin) nstate = fill_ram;else nstate = gene_layer;end
fill_ram:begin
。。。gene_layer_en = 0;fill_ram_en = 1;pass_judge_en = 0; 。。。
if (fill_ram_fin) nstate = pass_judge;else nstate = fill_ram;end
。。。
endcase
5.实验结果
本设计采用modelsim工具进行了功能仿真,使用quartus[6]工具进行了逻辑综合,得到的综合结果如表3所示。
下面是电感参数使用jasper软件和本硬件实现对几幅标准图像(大小512×512的灰度图像)编码的时间比较。
6.结论
本文通过对JPEG2000中的位平面编码器的存储方案进行了分析,设计了一个高效的存储结构以及相应的控制电路,设计采用verilog[4]语言描述,通过quartus[6]软件逻辑综合后,能够在0.1s内完成一幅512×512灰度图像的编码,编码时间仅为jasper[3]软件实现方案的30%左右。由于块编码器的特点,每个码块的编码本身是独立的,可以并行进行,而且根据综合结果,使用EP1C12Q240C8完全可以在一块芯片内集成多个位平面编码器的IP核,每个块编码器核可以并行执行,因此,可以进一步提高编码器的速度,从而使实时处理图像成为可能。另外,还可以将设计定制为ASIC,将最终产品应用到数码相机、图像监控中,其市场前景是十分广阔的。
一种12位双通道高速数据采集处理系统在科学技术高度发展的现代社会,超高速数据采集处理系统越来越广泛地应用于雷达、通讯、图像、军工以及医疗化工等领域。本文介绍的是一种基于12位闪烁式模/数转换器AD9224、大容量FIFO芯片UPD422
[逆变器]【21ic分享赛】高效微逆变器_3经过一些小小的变动,把控制器换成了TI的Tiva板,效果是一样的
今天调试终于完成啦
不枉一番努力,哈哈,下面上成果图,输入电压暂时使用30V
输出设置10V,50Hz
输出设置10V,57Hz
基于FPGA嵌入式的多比特自相关器设计引 言 确定性信号的不同时刻取值一般都具有较强的相关性;而干扰噪声的随机性较强,其不同时刻取值的相关性较差,利用这一差异可以把确定性信号和干扰噪声区分开来。对于叠加了噪声的信号x(t),当其自相关函数