微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教一个关于可逆计数器的问题!

请教一个关于可逆计数器的问题!

时间:10-02 整理:3721RD 点击:
用HDL设计一个含有异步清零和计数使能的16位二进制加减可控计数器。关键在于“异步清零”和“计数使能”,请论坛里的高手不吝赐教啊!

你计数器计数的时候不是需要时钟沿触发的吗(例如来一个时钟加一),异步清零就是说清零信号和时钟是异步的啊,清零不需要时钟,直接电平触发啊
计数使能就是说有一个信号当它为高(假如高电平为有效电平)时计数器才开始工作,为低时不工作.

wire reset;
wire en;
wire up_down;
reg [7:0] cn;
always @(posedge clk or posedge reset)
begin
if(reset)
cn<=8'b0;
else if(en)
if(up_down)
cn<=cn+1;
else
cn<=cn-1;
end

你看上面的代码可行?

“16位二进制”。 用VHDL描述啊

找人代做家庭作业是要付钱的....

不是这么回事,我已做出来,但还是有点问题,想请教这里的高手。

我用verilog 给你写个
module add_sub
(
clk,
en,
add,
sub,
clr,
q_out
)
input clk;
input en; //高电平使能
input add;//高电平使能
input sub;//高电平使能
input clr;//高电平清零
output [15:0]q_out;
reg[15:0]q_out;
always@(posedge[/email] clk or posedge clr)
begin
       if(clr==1'd1)
                  q_out<=16'd0;
        else if(en==1'd1)
                 begin
                     if(add==1'd1)
                               q_out<=q_out+1'd1;
                     else if(sub==1'd1)
                               q_qout<=q_out-1'd1;
                 end
end
endmodule


若你觉得可以的话请将你的这几个文件发给我:hjrzh@126.com
【CMOS电路模拟与设计-基于Hspice(修订版)】
清华大学集成电路设计实践大附件下载节省你的积分(完全免费) 2007-10-31

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top