Составитель Дата: 06.07.2003 Version: 0.72 |
Практическая реализация синхронных счетчиков на ПЛИС: варианты, быстродействие
prom <= d_in when (load = '0') else coun_o;
process(clk,rst)
begin
if rst = '1' then
coun_o <= (others => '0');
elsif clk = '1' and clk'event then
coun_o <= sxt((bit_pm & load),data_range) + prom ;
end if;
end process;
load - 0/1 - запись/счет, bit_pm - 0/1 - +/-, при записи - 0.Автор: V61 22.04.2003
Автор: Victor 22.04.2003
Автор: KA 22.04.2003
module main (data, clk);
input clk;
output [23:0] data;
reg [23:0] data;
always @(posedge clk)
begin
data <= data+1;
end
endmodule
Квартус, ACEX -3 133.х Mhz
Автор: Shuniz 22.04.2003
module main (reset, data, clk, load, din);
input clk, load, reset;
input [23:0] din;
output [23:0] data;
reg [23:0] data;
always @(posedge clk or posedge reset)
begin
if (reset) data <= 23'b0;
else if (load) data <= din;
else data <= data-23'b1;
endendmodule
Symplify, ACEX -3, 133MHz. С Amplify, заточенным под скорость, может быть лучше.
Автор: Cdg 22.04.2003