FPGA学习-8:简单的时序电路

经过上一章的了解

组合电路的最大优势就是能直接根据输入进行输出

但其也有很多的缺点:占大量的电路资源,功耗较大,电路固定…

这一次我们来讲基本的时序电路,写一个简单的时序控制电路

再在此基础上将之前的组合电路乘法器改成时序电路


首先我们要来了解下安路FPGA的时钟信号

安路FPGA的外部24Mhz晶振信号由k14号引脚提供

使用 “IO Constraint” 引脚映射工具

将veilog模块的某一输入端口映射到k14引脚上即可得到24Mhz的时钟信号

先来设计个简单的 “可变分频器”

代码如下:

module Start(
	input clk,
	input button,	
	output[2:0] led
);


reg[31:0] pll,cnt;
reg[2:0] out;

assign led = ~out;

initial begin
	pll = 32'd24000000;
	cnt = 32'd0;	
	out = 3'b001;
end

always @(posedge clk )begin
	if(cnt <= pll) begin
		cnt = cnt + 32'd1;	 
	end		
	else begin	
		cnt = 32'd0;		
		out = out << 1;	
		if(out == 3'd0)begin		
			out = 3'b001;
		end							
		
	end		
end

integer i=1;

always @(posedge button)begin
	case(i)
		1:begin		
			i=2;		
			pll
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值