在这里讲的是利用计数器进行对clk分频,在rtl code 设计中,由于各个ip的时钟频率不同,所以我们经常要对系统clk进行分频,下面是它的代码以及要实现的功能。
//功能:对输入时钟clock进行F_DIV倍分频后输出clk_out。
//其中F_DIV为分频系数,分频系数范围为1~2^n (n=F_DIV_WIDTH)
//若要改变分频系数,改变参数F_DIV或F_DIV_WIDTH到相应范围即可。
//若分频系数为偶数,则输出时钟占空比为50%;
//若分频系数为奇数,则输出时钟占空比取决于输入时钟占空比和分
module int_div(clock,clk_out);
input clock;
output clk_out;
reg clk_p_r;
reg clk_n_r;
reg[F_DIV_WIDTH - 1:0] count_p;
reg[F_DIV_WIDTH - 1:0] count_n;
parameter F_DIV = 48000000;
parameter F_DIV_WIDTH = 32;
wire full_div_p;
wire half_div_p;
wire full_div_n;
wire half_div_n;
assign full_div_p = (count_p < F_DIV - 1);
assign half_div_p = (count_p < (F_DIV>>1) - 1);
assign full_div_n = (count_n < F_DIV - 1);
assign half_div_n = (count_n < (F_DIV>>1) - 1);
assign clk_out = (F_DIV == 1) ? clock : (F_DIV[0] ? (clk_p_r & clk_n_r) : clk_p_r);
always @(posedge clock) begin
if(full_div_p) begin
count_p <= count_p + 1'b1;
if(half_div_p)
clk_p_r <= 1'b0;
else
clk_p_r <= 1'b1;
end
else
begin
count_p <= 0;
clk_p_r <= 1'b0;
end
end
always @(negedge clock) begin
if(full_div_n) begin
count_n <= count_n + 1'b1;
if(half_div_n)
clk_n_r <= 1'b0;
else
clk_n_r <= 1'b1;
end
else
begin
count_n <= 0;
clk_n_r <= 1'b0;
end
end
endmodule
flash类型的广告的包装代码
下面的代码给出一个简单的js检测鼠标点击事件来动态放大图片的功能,这个功能在亚马逊,京东等电商网站很实用。
<...
之前我们已经写好管理员页面,现在对功能继续实现
基础功能1:对管理进行增删改查
增加
需要在view中新建一个add.html
add.html
像素存储
OpenCV 中图像矩阵的大小取决于所用的颜色模型,更准确的说是取决于图像所用到的通道数。 如果使用的是灰度图,矩阵大概如图所示: 如果使用的是多通道的图像,矩阵中的列会包含多个子列,子列的个数和通道数相等。例如 RGB 颜色模型的矩阵大致如下图所示: 很多情况下,因为内存足够大,可以实现连续存储,因此图像中的各行能够...