首先向大神们致敬哈!
先附上我的三个模块:
1。顶层:
module modu (clk50m,rst_n,in,out,clk9600);
input clk50m,rst_n,in;
output out,clk9600 ;
div div2(.clk50m(clk50m),.rst_n(rst_n),.clk9600(clk9600));
modu1 modu11(.rst(rst_n),.in1(in),.out2(out),.clk(clk9600));
endmodule
2.底层1:
module modu1(rst,in1,out2,clk);
input rst,in1;
input clk;
output out2;
reg [14:0]cnt2;
reg out2;
always@(posedge clk or negedge rst)
begin
if(!rst)
cnt2<=0;
else if (cnt2==9600)
begin
out2=in1;
cnt2<=0;
end
else
cnt2<=cnt2+1;
end
endmodule
3.底层2:
module div(clk50m,rst_n,clk9600);
input clk50m;
input rst_n;
output clk9600;
reg [12:0]cnt1;
reg clk_div;
always@(posedge clk50m or negedge rst_n)
begin
if(!rst_n)
cnt1<=0;
else if(cnt1==2604)
begin
cnt1<=0;
clk_div<=!clk_div;
end
else
cnt1<=cnt1+1;
end
assign clk9600=clk_div;
endmodule
对于上述实例中,在调用的过程中,是否可以再简化一下? 其中CLK9600只是我调用过程中的一个量,按照我现在的调用方法,它必然要占用1个i/o,
能否舍掉?怎么处理?
请高手指导。小弟先拜谢啦、、、
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>