Maciej
G.
Projektant /
Programista, Famor
S.A.
Temat: Jak połączyć moduły Verilog i VHDL w jednym projekcie?
Cześć,mam taki problem: są 2 moduły ->
1-wszy dzielnik częstotliwości w Verilog ( clock 50 MHz -> ~ 1Hz)
2-gi licznik NKB binarny 8 bit w VHDL (wyjścia podłączone do LED na płytce uruchomieniowe)
Moje pytanie brzmi jak w projekcie "ISE Webpack" połączyć te dwa moduły tak aby wyjście pierwszego dzielnika(zegar 1 Hz) wchodziło na wejście drugiego licznika.
Pierwszy projekt dzielnika z %) MHZ to 1HZ mam wypróbowany na płytce "Elbert V2" - link:
https://docs.numato.com/doc/elbert-v2-spartan-3a-fpga-d...
W pierwszym projekcie są dwa pliki: moduł dzielnika w Verilog i plik ucf (user constraint file) z mapowaniem pinów. Oto te pliki:
slowClock.v
module slowClock(clk, reset, clk_1Hz);
input clk, reset;
output clk_1Hz;
reg clk_1Hz = 1'b0;
reg [27:0] counter;
always@(negedge reset or posedge clk)
begin
if (reset == 1'b0)
begin
clk_1Hz <= 0;
counter <= 0;
end
else
begin
counter <= counter + 1;
if ( counter == 25_000_000)
begin
counter <= 0;
clk_1Hz <= ~clk_1Hz;
end
end
end
endmodule
slowClock.ucf
NET "clk" LOC = P129;
NET "clk" PERIOD = 50MHz; //main clock
NET "reset" PULLUP;
NET "reset" LOC = "P75"; //switch button z Pullup +5V
NET "clk_1Hz" LOC = "P46"; //LED
Projekt na mojej płytce uruchom. działa poprawnie (pierwsza dioda miga z małą częstotliwościa). Przykład z sieci, tylko mała zmiana, aby "reset" był zboczem opadającym nie rosnącym.
Drugi projekt :
Licznik binarny 8 bit w VHDL
entity binary_counter_top is
Port ( CLK : in STD_LOGIC;
LED : out STD_LOGIC_VECTOR (7 downto 0));
end binary_counter_top;
architecture Behavioral of binary_counter_top is
signal CLK_DIV : std_logic_vector (2 downto 0);
signal COUNT : std_logic_vector (7 downto 0);
begin
-- clock divider
process (CLK)
begin
if (CLK'Event and CLK = '1') then
CLK_DIV <= CLK_DIV + '1';
end if;
end process;
-- counter
process (CLK_DIV(2))
begin
if (CLK_DIV(2)'Event and CLK_DIV(2) = '1') then
COUNT <= COUNT + '1';
end if;
end process;
-- display the count on the LEDs
LED <= not COUNT;
end Behavioral;
Nie wiem jak zorganizować projekt "ISE Webpack" (a właściwie darmowa licencja na "ISE Design Suite 14.7) aby skompilować oba moduły i wejście drugiego podłączyć do wyjścia pierwszego?
Za wszelkie podpowiedzi z góry dziękuję
PozdrawiamTen post został edytowany przez Autora dnia 30.07.17 o godzinie 12:52