我在写的程序分别用verilog和vhd写,
在vhd里,
begin
sel<=b&c;
process(a,b,c)
begin
if (sel="10") then
if a'event and a='1' then
cnt<=cnt+'1'
end if;
clk_out<=cnt[2];
end process;
在verilog里
always@(posedge a)
begin
sel<={b,c};
if(sel==2'b10) begin
cnt<=cnt+1;
end
assign clk_out=cnt[2];
end
你的意思就是既有电平触发也有边缘触发是吗?
如果这样,边缘触发频率高于电平变化频率,直接用边缘触发解决问题。
在vhd里,
begin
sel<=b&c;
process(a,b,c)
begin
if (sel="10") then
if a'event and a='1' then
cnt<=cnt+'1'
end if;
clk_out<=cnt[2];
end process;
在verilog里
always@(posedge a)
begin
sel<={b,c};
if(sel==2'b10) begin
cnt<=cnt+1;
end
assign clk_out=cnt[2];
end
这两个程序最后采出的信号不一样。
事实上我做的是656视频信号采样,想采y分量,略掉cb和cr。vhd可以实现,但是verilog就不行。
对比下来,我觉得可能是触发信号的事.但又不敢确定,求指点
如果只采y分量的话 把时序设计好 就可以了啊 数据使能在采y的时候打开。
一周热门 更多>