请教一个关于可逆计数器的问题!
你计数器计数的时候不是需要时钟沿触发的吗(例如来一个时钟加一),异步清零就是说清零信号和时钟是异步的啊,清零不需要时钟,直接电平触发啊
计数使能就是说有一个信号当它为高(假如高电平为有效电平)时计数器才开始工作,为低时不工作.
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
