我正在尝试实现数字输入倍频器。该电路由一个XOR2门,双边沿触发触发器和几个缓冲器组成。
频率输入进入其中一个Xor输入。 Xor门的输出通过缓冲器进入DFF的时钟信号。输出(通常为Q)并行使用以馈送剩余的Xor输入并通过缓冲器反馈到触发器的D输入。最后,倍增器的输出取自Xor门。
我测试了电路并且它有效。我是VHDL的新手,并且在verilog方面有非常基本的知识。我想我会分析它的实践,以便在第三年之前感受VHDL。
此致 陌生人
答案 0 :(得分:0)
如果将来任何人遭受同样的命运,我在这里几乎已经完成了。你要做的就是找到一种方法来使用clk'event代替if(clk ='1'和clk'EVENT)。 原理图在这里
entity freq_doubler is
PORT (
vin : in BIT ;
vout : out BIT );
end entity freq_doubler;
architecture rtl of freq_doubler is
signal q : bit;
signal d,clk,buff : bit ;
begin
buff <= (vin XOR q);
clk <= buff;
vout <=buff;
p0: process (d,clk) is
begin
if (clk ='1' and clk'EVENT) then
q <=d;
end if;
end process p0;
end architecture rtl;
configuration freq_doubler_conf of freq_doubler is
for rtl
end for;
end configuration freq_doubler_conf;