集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2924|回复: 5

verilog中延时的控制,望各位高手给点思路

[复制链接]
miwueshine 发表于 2011-3-4 14:40:32 | 显示全部楼层 |阅读模式
本人是一个fpga初学者,在学习的过程中,遇到一点问题,先请各位高手帮忙,先谢谢大家!!

我想用一个8位计数器的每一位状态实现对8个开关的控制,即用计数器的最高位控制第一个开关,次高位控制第2个,依次类推,用最低位控制第8个开关,
要求后一个开关的整个输出比前一个开关延迟一个时钟。
我自己觉得不是很难,可是延迟那个没有弄好,希望大家帮忙看看!谢谢!下边是程序,只实现了开关的控制,延迟没有实现。

module sel_control_8xm(clk,rst_n,sel1,sel2,sel3,sel4,sel5,sel6,sel7,sel8);

input clk,rst_n;
output sel1,sel2,sel3,sel4,sel5,sel6,sel7,sel8;

wire sel1,sel2,sel3,sel4,sel5,sel6,sel7,sel8;       //分别为8个开关

reg [7:0] cnt;                                          //计数器

always@(posedge clk or negedge rst_n)
begin
        if(!rst_n) begin
        cnt<=8'd0;end
        else if (cnt==8'b11111111)
        cnt<=8'd0;
        else
        cnt<=cnt+1'b1;
end

assign       sel1=cnt[7];
assign                 sel2=cnt[6];
assign             sel3=cnt[5];
assign                 sel4=cnt[4];
assign                 sel5=cnt[3];
assign                 sel6=cnt[2];
assign                 sel7=cnt[1];
assign                 sel8=cnt[0];
endmodule
 楼主| miwueshine 发表于 2011-3-4 16:04:20 | 显示全部楼层
我的QQ:491106543。邮箱:laner_6sl@163.com,希望可以和各位交流学习。
polozpt 发表于 2011-3-28 21:41:31 | 显示全部楼层
回复 2# miwueshine


    可以用计数器实现时钟的延迟
 楼主| miwueshine 发表于 2011-4-1 16:58:37 | 显示全部楼层
回复 3# polozpt

谢谢 您的指导,这个输出有优先级,是我没有说明白。呵呵。实现这样的输出:
采用8位计数器的每一位状态控制各级开关(sel1...)的输出(通过这些开关的转换实现不同优先级数据的操作),最高位控制第一级,由于上一级的数据进入下一级需要一个时钟,所以下一级的开关转换时刻比上一级延迟一个时钟周期。
 楼主| miwueshine 发表于 2011-4-1 17:17:14 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| miwueshine 发表于 2011-4-1 17:18:21 | 显示全部楼层
我的这个只是实现了延时,时序不对,请各位帮下忙,非常感谢
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-22 19:10 , Processed in 0.084635 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表