卷积编码verilog实现
相应的译码器也写已写完,后续。。。。。。。。。。。。。
https://blog.csdn.net/u011639609/article/details/51476278###;
// Company:
// Engineer:
//
// Create Date: 2018/03/30 11:00:01
// Design Name:
// Module Name: ConvolutionGen_module_v2
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module ConvolutionGen_module_v2(
I_Clk, I_Rst,
I_Din,I_DinEn,
O_Dout1, O_Dout2,
O_DoutEn
input I_Rst;
input I_Din;
input I_DinEn;//输入数据
output O_Dout2;
output O_DoutEn;
reg O_Dout2 = 'b0;
reg O_DoutEn = 'b0;
S_S1_Gen = 2'b10;
reg R_I_DinEn = 'b0;// R_DinEn = 'b0;
reg R_StartFlag = 'b0, R_EndFlag = 'b0;
reg R_Dout1 = 'b0, R_Dout2 = 'b0;
reg R_DoutEn = 'b0;
//reg [3:0] R_ShiftReg = 'b0;//(2.1.5)编码方式的寄存器为4bit
reg [5:0] R_ShiftReg = 'b0;//(2.1.7)
begin
begin
R_CurrentState <= S_Idle;
end
else
begin
case ( R_CurrentState )
S_Idle:
begin
if ( R_StartFlag )
begin
R_CurrentState <= S_S1_Gen;
end
else
begin
R_CurrentState <= S_Idle;
end
end
S_S1_Gen:
begin
if ( R_EndFlag )
begin
R_CurrentState <= S_Idle;
end
else
begin
R_CurrentState <= S_S1_Gen;
end
end
default:
begin
R_CurrentState <= S_Idle;
end
endcase
end
end
begin
R_I_Din <= I_Din;
R_I_DinEn <= I_DinEn;//输入数据
//R_DinEn <= R_I_DinEn;//输入数据
if ( R_CurrentState == S_Idle )
begin
if ( ~R_I_DinEn & I_DinEn )
begin
R_StartFlag <= 1'b1;
end
else
begin
R_StartFlag <= R_StartFlag;
end
end
else
begin
R_StartFlag <= 1'b0;
end
if ( R_CurrentState == S_S1_Gen )
begin
if ( R_I_DinEn & ~I_DinEn )
begin
R_EndFlag <= 1'b1;
end
else
begin
R_EndFlag <= R_EndFlag;
end
end
else
begin
R_EndFlag <= 1'b0;
end
if ( R_CurrentState == S_S1_Gen )
begin
R_Dout1 <= R_ShiftReg[5]^R_ShiftReg[4]^R_ShiftReg[2]^R_ShiftReg[1]^R_Din;
R_Dout2 <= R_ShiftReg[5]^R_ShiftReg[2]^R_ShiftReg[1]^R_ShiftReg[0]^R_Din; //(2,1,7)
/* R_Dout1 <= R_ShiftReg[3]^R_ShiftReg[2]^R_Din;
R_Dout2 <= R_ShiftReg[3]^R_ShiftReg[1]^R_ShiftReg[0]^R_Din; */ //(2,1,5)
end
else
begin
R_Dout1 <= 1'b0;
R_Dout2 <= 1'b0;
end
R_DoutEn <= R_CurrentState == S_S1_Gen;
if ( R_CurrentState == S_S1_Gen )
begin
//R_ShiftReg <= {R_ShiftReg[2:0],R_Din};//(2,1,5)
R_ShiftReg <= {R_ShiftReg[4:0],R_Din};//(2,1,7)
end
else
begin
R_ShiftReg <= 4'd0;
end
O_Dout1 <= R_Dout1;
O_Dout2 <= R_Dout2;
O_DoutEn <= R_DoutEn;
end
endmodule
卷积编码verilog实现相关推荐
- 单载波频域均衡matlab仿真,包括卷积编码维特比译码,矩阵交织,QPSK调制解调,导频插入,MMSE-FDE频域均衡
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 频域均衡是从校正系统的频率特性出发,利用一个可调滤波器的频率的频率特性去补偿信道或系统的频率特性,使 ...
- AWGN信道下卷积编码、viterbe译码、分别采用软硬判决,进行误码率分析
一.卷积编码 仿真 (硬判决译码 误码率和理论值比较) 已知卷积码生成函数: 可知码率为1/3,相应的抽头系数为(557 663 711)的卷积码.编写程序,采用卷积编码.维特比译码(硬判决),BPS ...
- ldpc matlab verlog,LDPC编码Verilog代码
[实例简介] LDPC编码Verilog代码 LDPC编码Verilog代码 [实例截图] [核心代码] ldpc_verilog_rtl └── verilog_rtl ├── rtl │ ├─ ...
- 片状卷积的verilog实现
给大家推荐免费的kugou音乐 vip哈, 还不知道的一定有相见恨晚的感觉,获取地址http://www.service99.cn ------------题记 在mobilenet中,广泛使用片状的 ...
- Pytorch:基于转置卷积解码的卷积自编码网络
Pytorch: 图像自编码器-卷积自编码网络(转置卷积解码)和图像去噪 Copyright: Jingmin Wei, Pattern Recognition and Intelligent Sys ...
- 卷积码树状图怎么画_卷积码是什么 卷积码编码原理介绍【图文】
卷积码,卷积码是什么意思 卷积码在一个二进制分组码(n,k)当中,包含k个信息位,码组长度为n,每个码组的(n-k)个校验位仅与本码组的k个信息位有关,而与其它码组无关.为了达到一定的纠错能力和编码效 ...
- 手写Verilog用FPGA实现实时图像卷积,用Block Ram缓存图像
手写Verilog用FPGA实现实时图像卷积,用Block Ram缓存图像_哔哩哔哩_bilibili可用于神经网络卷积加速.Vivado里生成本代码所需Block Ram IP时要把Output R ...
- 通信系统未编码、卷积码与格雷码的仿真性能比较
通信系统未编码.卷积码与格雷码的仿真性能比较 论文+代码+仿真结果:下载地址 以上仿真结果可知: 1.未编码.卷积编码和格雷码三种编码,经PSK调制后加AWGN(高斯白噪声),在经过解调和解码得出来的 ...
- ar编码matlab仿真_matlab-ofdm通信链路仿真
tips: 块状与梳状导频 相同点或相似点 1 导频序列和训练序列的作用都是为了得到准确符号同步和频偏纠正. 2 导频序列和训练序列都进行信道估计. 3 二者都传输已知数据. 4 二者都可称之为基于辅 ...
- 循环卷积和周期卷积的关系_基于单口RAM读写的卷积电路(下)
这是迟到很久的卷积电路verilog设计的下篇...你看我还有机会吗... 上回我们给出系统的层次结构.卷积计算模块以及用于数据缓存的fifo模块,今天我们首先回顾一下上一次的关键内容. 系统结构回顾 ...
最新文章
- 在asp.net中为Web用户控件添加属性和事件
- mybatis转义反斜杠_mybatis like 的坑
- Python基础(三):字符串和元组常用方法
- 虚拟机登服务器,用虚拟机登录云服务器
- Django如何安装指定版本
- Logstash读取Kafka数据写入HDFS详解
- webpack笔记一:webpack的介绍,安装,加载css、图片、字体等
- 金蝶K3 数据表知识整理(不断完善)
- dell服务器卸载系统,如何通过 iDRAC9 装载和卸载驱动程序包
- 硅谷真假u盘测试软件,硅谷硅谷真假u盘测试
- GLUE部分基准数据集介绍:RTE、MRPC、SST-2、QNLI、MNLI、QQP
- 故障处理——阿里云服务器无法向外发送邮件
- github用户followers分析
- 【猿说VUE】Visual Studio Code安装配置
- Android动画总结系列(2)——补间动画使用
- 【Java】哈希冲突(哈希碰撞)
- 肖邦圆舞曲14首 个人赏析
- Cannot initialize a variable of type 'Stu *' with an rvalue of type 'void *'
- 【万里征程——Windows App开发】动态磁贴
- 映泰 远程开机_远程温柔的开关机,哪种智能插座可以做到?我找到了它