EDA建模实例.docVIP

  • 6
  • 0
  • 约5.9千字
  • 约 7页
  • 2017-01-06 发布于贵州
  • 举报
EDA建模实例EDA建模实例

建模实例 一、触发器 锁存器 锁存器和触发器一样也是一种具有存储功能的元件,锁存器是电平敏感的存储器件,而触发器是边沿敏感的存储器件。所以在锁存器的always语句的敏感列表中不会使用posedge和negedge。 三、编码器 译码器 五、4选1多路数据选择器 c、d、e、f是4个数据输入端,out是数据输出端,s是选择信号输入端,分别采用if-else构造和case构造。 if-else构造 module max4for1(c,d,e,f,s,out); input c,d,e,f; input[1:0] s; output out; reg out; always@(c or d or e or f or s) begin if(s==2b00) out=c; //s是00时选通c else if(s==2b01) out=d; //s是01时选通d else if(s==2b10) out=e; //s是10时选通e else if(s==2b11) out=f; //s是11时选通f end endmodule case构造 module max4for12(c,d,e,f,s,out); input c,d,e,f; input[1:0] s; output out; reg out; always@(c or d or e or f or s) begin case(s) 2b00:out=c; //s是00时选通c 2b01:out=d; //s是01时选通d 2b10:out=e; //s是10时选通e 2b11:out=f; //s是11时选通f endcase end endmodule 计数器 加法器 移位寄存器: 移位寄存器是寄存器的一种,除了可以存储数据外,还可以把内部的数据进行移位,移位是指该寄存器内的数据可以在移位脉冲(时钟信号)作用下依次左移或右移。因此移位寄存器不但可以存放数据,还可以实现数据的串、并转移等。 上升沿D触发器:data是数据输入端,clk是时钟输入端,q是输出端 module dff(data,clk,q); input data,clk; output q; reg q; always@(posedge clk) q=data; endmodule 带异步复位端的上升沿触发器:reset是异步复位端,当reset变成0时就执行复位,而不管当前时钟信号如何,即复位行为与时钟是不同步的,所以称为异步复位。 module dff_1(data,clk,reset,q); input data,clk,reset; output q; reg q; always@(posedge clk or negedge reset) if(!reset) q=1b0; else q=data; endmodule 带异步置数端的上升沿触发器:preset是异步置数端,当preset变为0时,输出q置1为。 module dff_2(data,clk,preset,q); input data,clk,preset; output q; reg q; always@(posedge clk or negedge preset) if(!preset) q=1b1; else q=data; endmodule 带同步复位端的上升沿D触发器:reset是同步复位端,与异步复位端不同的是,同步复位行为是在时钟信号控制下进行的,即当某个时刻复位信号生效,但必须等到下一个时钟上升沿时才能执行复位,即复位行为与时钟同步。 module dff_3(data,clk,reset,q); input data,clk,reset; output q; reg q; always@(posedge clk) if(!reset) q=1b0; else q=data; endmodule 5、带异步复位端和使能端的上升沿D触发器:en是使能端,当en高电

文档评论(0)

1亿VIP精品文档

相关文档