FPGA之verilog第一天学习(00011101序列产生器)
来源:互联网 发布:小水滴无法连接网络 编辑:程序博客网 时间:2024/06/05 08:38
module serilize_gen(
input i_sys_clk,
output data_out
);
//产生复位;
reg [3:0] rst_cnt = 4'd0;
always@(posedge i_sys_clk)begin
if(rst_cnt == 4'd10)begin
rst_cnt <= 4'd10;
end
else begin
rst_cnt <= rst_cnt;
end
end
wire rstn;
assign rstn = (rst_cnt == 4'd10);
//00011101序列循环产生
reg [2:0]cnt;
always@(posedge i_sys_clk or negedge rstn)begin
if(rstn==1'b0)begin
cnt <= 3'd0;
end
else if(cnt == 3'd7)begin
cnt <= 3'd0;
end
else begin
cnt <= cnt + 1'b1;
end
end
reg seril_data;
always@(posedge i_sys_clk or negedge rstn)begin
if(rstn)begin
seril_data <= 1'b0;
end
else begin
case(cnt)
3'd0:begin
seril_data <= 1'b0;
end
3'd1:begin
seril_data <= 1'b0;
end
3'2:begin
seril_data <= 1'b0;
end
3'd3:begin
seril_data <= 1'b1;
end
3'd4:begin
seril_data <= 1'b1;
end
3'd5:begin
seril_data <= 1'b1;
end
3'd6:begin
seril_data <= 1'b0;
end
3'd7:begin
seril_data <= 1'b1;
end
endcase
end
end
assign data_out = seril_data;
endmodule
input i_sys_clk,
output data_out
);
//产生复位;
reg [3:0] rst_cnt = 4'd0;
always@(posedge i_sys_clk)begin
if(rst_cnt == 4'd10)begin
rst_cnt <= 4'd10;
end
else begin
rst_cnt <= rst_cnt;
end
end
wire rstn;
assign rstn = (rst_cnt == 4'd10);
//00011101序列循环产生
reg [2:0]cnt;
always@(posedge i_sys_clk or negedge rstn)begin
if(rstn==1'b0)begin
cnt <= 3'd0;
end
else if(cnt == 3'd7)begin
cnt <= 3'd0;
end
else begin
cnt <= cnt + 1'b1;
end
end
reg seril_data;
always@(posedge i_sys_clk or negedge rstn)begin
if(rstn)begin
seril_data <= 1'b0;
end
else begin
case(cnt)
3'd0:begin
seril_data <= 1'b0;
end
3'd1:begin
seril_data <= 1'b0;
end
3'2:begin
seril_data <= 1'b0;
end
3'd3:begin
seril_data <= 1'b1;
end
3'd4:begin
seril_data <= 1'b1;
end
3'd5:begin
seril_data <= 1'b1;
end
3'd6:begin
seril_data <= 1'b0;
end
3'd7:begin
seril_data <= 1'b1;
end
endcase
end
end
assign data_out = seril_data;
endmodule
阅读全文
0 0
- FPGA之verilog第一天学习(00011101序列产生器)
- FPGA之verilog学习第一天(时分秒数字时钟)
- 【FPGA学习】Verilog之加法器
- Verilog、FPGA学习(一)
- FPGA学习之Verilog HDL 一
- Verilog HDL In One Day (Verilog HDL 学习的第一天)
- FPGA学习(第6节)-Verilog计数器(实现流水灯+实现数码管秒表)
- FPGA学习(第7节)-Verilog状态机(状态按条件切换)
- FPGA学习(第8节)-Verilog设计电路的时序要点及时序仿真
- FPGA第一天
- FPGA Verilog HDL 系列实例--------序列信号发生器
- FPGA学习(第9节)-Verilog设计电路大串讲(误区+组合逻辑+时序逻辑+状态机设计)
- FPGA学习(第3节)-Verilog实现LED流水灯+基础入门语法+Modelsim仿真技巧+计数器+状态机+分频
- FPGA学习(第10节)-模块的例化-Verilog层次化设计实现LED流水灯
- 菜鸟学习FPGA第一天——疯狂的软件
- Java学习之路(第一天)
- FPGA从零开始-Verilog语法学习笔记(一)
- FPGA学习笔记(一)Verilog语法基础
- node---path模块,nodeJs的path对象,如何用来处理目录,path.join,path.resolve,path.relative.path
- Java集合基础篇(2)-ArrayList基本用法
- 布局Layouts之TableLayout表格布局
- 欢迎使用CSDN-markdown编辑器
- 再次一起来玩linux select函数------可以用任何描述符号fd而不限于网络socket
- FPGA之verilog第一天学习(00011101序列产生器)
- oracle查看执行计划
- LinearLayout线性布局
- Lock
- 数学优化与凸集1(斯坦福凸优化笔记1)
- 应用程序图标不显示
- Java中创建对象的5种方式[转]
- PS注意事项
- springboot加载静态资源