1,今天学习的是采用数据流建模的方式编程
(数据流建模,采用连续赋值语句的方式,根据数据流在寄存器之间的流动及处理过程对电路进行描述。其中,连续赋值语句有些类似于门级建模)
(1)采用数据流一个带复位端的下降沿D触发器的设计:
module edge_off(q,qbar,d,clk,clear);
input d,clk,clear;
output q,qbar;
wire s,sbar,r,rbar,cbar;
//(连续赋值语句,有点类似于门结构)
assign cbar=~clear;
// and (nsbar,rbar,s); not (sbar,nsbar);
//上面这两个门器件语句 等同于下面这个连续赋值语句; 由此可以类推将数据流建模转换成门级建模
assign sbar=~(rbar&s);
assign s=~(sbar&cbar&~clk);
assign r=~(rbar&s&~clk);
assign rbar=~(r&cbar&d);
assign q=~(s&qbar);
assign qbar=~(cbar&q&r);
endmodule