序列发生器

  • 一开始想直接FSM,划分出6状态依次输出对应的。
  • 但其实只要6比特的移位寄存器,每次输出高位。复位后的默认值时6'b001_011。这样就可以实现循环,这种移位寄存器也叫barrel_shifter。循环移位。
  • 也可以使用循环计数器,然后case计数器输出对应的比特流。本质和FSM一样。
  • 所以循环左移和循环寄存器主要体现思想是循环,然后循环到哪个阶段输出哪个比特。
verilog 复制代码
`timescale 1ns/1ns

module sequence_generator(
	input clk,
	input rst_n,
	output reg data
	);

reg [5:0] seq_dat;

always @(posedge clk or negedge rst_n)
begin 
	if(!rst_n) begin 
		seq_dat	<=	6'b001_011;
	end else begin 
		seq_dat <= {seq_dat[4:0],seq_dat[5]};
	end 
end 

always @(posedge clk or negedge rst_n) 
begin 
	if(!rst_n) begin 
		data <= 1'b0;
	end else begin 
		data <= seq_dat[5];
	end 
end 
	
endmodule
相关推荐
courniche30 分钟前
ECDH、ECDHE、ECDLP、ECDSA傻傻分不清?
算法·密码学
前端小刘哥41 分钟前
超低延迟与高并发:视频直播点播平台EasyDSS在游戏直播场景的技术实践
算法
毅炼1 小时前
常见排序算法
java·算法·排序算法
猫梦www1 小时前
力扣21:合并两个有序链表
数据结构·算法·leetcode·链表·golang·力扣
Han.miracle1 小时前
数据结构——排序的学习(一)
java·数据结构·学习·算法·排序算法
爱coding的橙子1 小时前
每日算法刷题Day76:10.19:leetcode 二叉树12道题,用时3h
算法·leetcode·职场和发展
ehiway2 小时前
国际先进!中科亿海微国产嵌入式FPGA IP核及EDA系统设计技术通过科技成果评价
网络协议·tcp/ip·fpga开发
北城笑笑2 小时前
FPGA 49 ,Xilinx Vivado 软件术语解析(Vivado 界面常用英文字段详解,以及实际应用场景和注意事项 )
fpga开发·fpga
liu****3 小时前
20.哈希
开发语言·数据结构·c++·算法·哈希算法
夏鹏今天学习了吗3 小时前
【LeetCode热题100(47/100)】路径总和 III
算法·leetcode·职场和发展