Browse Source

Versuch 2 Hardware vorlaeufig

master
brandlfl78731 2 days ago
parent
commit
cfe1e2927c

+ 94
- 2
hardware/signal_processing/sine.vhd View File

@@ -26,11 +26,40 @@ end entity sine;

architecture rtl of sine is

signal current_task_state : work.task.State;
signal current_task_state : work.task.State; --multiple sources
signal next_task_state : work.task.State;
signal index : integer range 0 to work.task.STREAM_LEN;
signal index : integer range 0 to work.task.STREAM_LEN; --multiple sources
--Selbst angelegte Signal:
signal data_valid_flag : std_logic;
signal busy_flag : std_logic;
signal result_valid_flag : std_logic;
signal angle_sig : signed( 31 downto 0);
signal ergebnis : signed( 31 downto 0 );

--Zustände für die Zustandsmaschine für die Berechnung
type CalcState is (
CALC_IDLE,
CALC_SINE,
CALC_STORE_RESULT
);
--Signale für die Zustandsmaschine für die Berechnung
signal current_calc_state : CalcState;
signal next_calc_state : CalcState;

begin
u_float_sine : entity work.float_sine -- Das hier ist der Core!
port map (
clk => clk,
reset => reset,
data_valid => data_valid_flag, --# load new input data
busy => busy_flag, --# generating new result
result_valid => result_valid_flag, --# flag when result is valid
angle => angle_sig, -- angle in brads (2**size brads = 2*pi radians)
sine => ergebnis --Hierzu nachfragen
);

--Bei diesem task nichts ändern!
task_state_transitions : process ( current_task_state, task_start, index ) is
begin
next_task_state <= current_task_state;
@@ -50,6 +79,69 @@ begin
end case;
end process task_state_transitions;


--Übergangsschaltnetz der Zustandsmaschine für die Berechnung ###Fertig
calc_state_transitions: process (all) is
begin
next_calc_state <= current_calc_state;
case current_calc_state is
when CALC_IDLE=>
if (current_task_state= work.task.TASK_RUNNING) then
next_calc_state <= CALC_SINE;
end if;
when CALC_SINE =>
if (result_valid_flag = '1') then
next_calc_state <= CALC_STORE_RESULT;
end if;
when CALC_STORE_RESULT =>
next_calc_state <= CALC_IDLE;
end case;
end process calc_state_transitions;


--Zustandsspeicher und Ausgangsschaltnetz zu der Steuerung der Tasks
task_sync : process (clk, reset) is
begin
if (reset = '1') then
current_task_state <= work.task.TASK_IDLE;
elsif (rising_edge( clk)) then
current_task_state <= next_task_state;
case next_task_state is
when work.task. TASK_IDLE => null;
when work.task. TASK_RUNNING => null;
when work.task. TASK_DONE => null;
end case;
end if;
end process task_sync;

--Zustandsspeicher und Ausgangsschaltnetz zu Berechnung
sync : process (clk, reset) is
begin
if (reset = '1') then
index <= 0;
current_calc_state <= CALC_IDLE;
ergebnis <= (others => '0');
signal_write <= '0';
elsif (rising_edge( clk)) then
current_calc_state <= next_calc_state;
case next_calc_state is
when CALC_IDLE =>
data_valid_flag <= '0';
signal_write <= '0';
when CALC_SINE => --hier Berechnung mit IP Core?
data_valid_flag <= '1';
when CALC_STORE_RESULT =>
data_valid_flag <= '0';
index <= index + 1;
signal_write <= '1';
signal_writedata <= std_logic_vector( ergebnis ); --Ergebnis schreiben, ergebnis direkt aus IP Core
end case;
end if;
end process sync;
task_state <= current_task_state;

--Altes Programm
sync : process ( clk, reset ) is
begin
if ( reset = '1' ) then

+ 0
- 0
tests/hardware/task_sine/.libwork View File


+ 2213
- 0
tests/hardware/task_sine/modelsim.ini
File diff suppressed because it is too large
View File


+ 705
- 0
tests/hardware/task_sine/work/_info View File

@@ -0,0 +1,705 @@
m255
K4
z2
!s11e vcom 2023.2 2023.04, Apr 11 2023
13
!s112 1.1
!i10d 8192
!i10e 25
!i10f 100
cModel Technology
Z0 d/users/ads1/brandlfl78731/linux/A_VHDL/signal_processing_vorlage/tests/hardware/task_sine
Pavalon_slave
Z1 DPx3 std 6 textio 0 22 LS[?81n5ZHWBI9JkBZTV<2
Z2 DPx4 ieee 14 std_logic_1164 0 22 6<US`=mgl_dFdCEFF7J=m1
!i122 66
Z3 w1731485722
R0
8../../../hardware/system/avalon_slave.vhd
F../../../hardware/system/avalon_slave.vhd
l0
L4 21
V@?[Ba;=aE8=>@_SK1ec:a3
!s100 Y_k7BU9XTbHdh188zDQLY2
Z4 OL;C;2023.2;77
33
Z5 !s110 1732098573
!i10b 1
Z6 !s108 1732098573.000000
!s90 -work|work|-2008|../../../hardware/system/avalon_slave.vhd|
!s107 ../../../hardware/system/avalon_slave.vhd|
!i113 0
Z7 o-work work -2008
Z8 tExplicit 1 CvgOpt 0
Eavalon_slave_transitions
R3
Z9 DPx4 work 12 avalon_slave 0 22 @?[Ba;=aE8=>@_SK1ec:a3
Z10 DPx4 work 5 reg32 0 22 ;CN4zHhK9B2g@^5<iAMU[3
Z11 DPx4 ieee 11 numeric_std 0 22 F8@]:i<mFK7<TjIzKcTGi0
R1
R2
!i122 67
R0
Z12 8../../../hardware/system/avalon_slave_transitions.vhd
Z13 F../../../hardware/system/avalon_slave_transitions.vhd
l0
L9 1
VIhEXFdOShEmn:n5_Y0goM1
!s100 Afh4H06EPO3EJDWEfAN0=0
R4
33
R5
!i10b 1
R6
Z14 !s90 -work|work|-2008|../../../hardware/system/avalon_slave_transitions.vhd|
Z15 !s107 ../../../hardware/system/avalon_slave_transitions.vhd|
!i113 0
R7
R8
Artl
R9
R10
R11
R1
R2
Z16 DEx4 work 24 avalon_slave_transitions 0 22 IhEXFdOShEmn:n5_Y0goM1
!i122 67
l37
L25 65
VYdE6:2ISUEd0Q>igSVnda1
!s100 <eIJLiZFI;=RMSQL?3N_=0
R4
33
R5
!i10b 1
R6
R14
R15
!i113 0
R7
R8
Ecordic
R3
Z17 DPx4 work 10 cordic_pkg 0 22 ]fIZY=A5[4kfPBSo>nfz10
Z18 DPx4 ieee 9 math_real 0 22 :8NNHF3SFI6^on5?4X[S`1
R11
R1
R2
!i122 76
R0
Z19 8../../../hardware/system/cordic.vhd
Z20 F../../../hardware/system/cordic.vhd
l0
L9 1
Vi7SDHPjZSI;2^[DSkLIUo1
!s100 gd^5FzWcO?0hkX63Da_nH3
R4
33
Z21 !s110 1732098574
!i10b 1
Z22 !s108 1732098574.000000
Z23 !s90 -work|work|-2008|../../../hardware/system/cordic.vhd|
Z24 !s107 ../../../hardware/system/cordic.vhd|
!i113 0
R7
R8
Artl
R17
R18
R11
R1
R2
Z25 DEx4 work 6 cordic 0 22 i7SDHPjZSI;2^[DSkLIUo1
!i122 76
l59
L34 87
VWE@D<A9;GIF8G01R<c`FX1
!s100 Z[hTmd`DSHFZn5iI4_oN^3
R4
33
R21
!i10b 1
R22
R23
R24
!i113 0
R7
R8
Pcordic_pkg
R18
R11
R1
R2
!i122 75
R3
R0
Z26 8../../../hardware/system/cordic_pkg.vhd
Z27 F../../../hardware/system/cordic_pkg.vhd
l0
L6 7
V]fIZY=A5[4kfPBSo>nfz10
!s100 bh<mKlSIj@NWdTQM5nd5A2
R4
33
b1
R21
!i10b 1
R6
Z28 !s90 -work|work|-2008|../../../hardware/system/cordic_pkg.vhd|
Z29 !s107 ../../../hardware/system/cordic_pkg.vhd|
!i113 0
R7
R8
Bbody
R17
R18
R11
R1
R2
!i122 75
l0
L14 32
V3kCeakPeg_ZDWWWLZkbn`2
!s100 V>Le@5;YY=7H^<ld8Y^]K3
R4
33
R21
!i10b 1
R6
R28
R29
!i113 0
R7
R8
Edata_channel
R3
R11
R1
R2
!i122 74
R0
Z30 8../../../hardware/system/data_channel.vhd
Z31 F../../../hardware/system/data_channel.vhd
l0
L5 1
V9<<^ZdM>@cB0QDUkMjL>10
!s100 ZUUh=EYiS87PRMT7WA;GU3
R4
33
R5
!i10b 1
R6
Z32 !s90 -work|work|-2008|../../../hardware/system/data_channel.vhd|
Z33 !s107 ../../../hardware/system/data_channel.vhd|
!i113 0
R7
R8
Astruct
Z34 DEx4 work 15 data_source_mux 0 22 D0Y0f1TgK@TR<B9B0INE<0
Z35 DEx4 work 4 fifo 0 22 KUBJ[<P:a@BO_Llm71mO;2
Z36 DEx4 work 13 data_sink_mux 0 22 Q;UazIGQH_4JT@02NeZQF1
R9
R10
Z37 DEx4 work 20 data_channel_control 0 22 d;@dDzQKY9;^5F`HZgJ]n0
R11
R1
R2
DEx4 work 12 data_channel 0 22 9<<^ZdM>@cB0QDUkMjL>10
!i122 74
l49
L27 96
VBRGULPM[2ao<hm;i2Z=QM3
!s100 d7KhW?4KEm?WNiOo_nAk?3
R4
33
R5
!i10b 1
R6
R32
R33
!i113 0
R7
R8
Edata_channel_control
R3
R9
R10
R11
R1
R2
!i122 70
R0
Z38 8../../../hardware/system/data_channel_control.vhd
Z39 F../../../hardware/system/data_channel_control.vhd
l0
L9 1
Vd;@dDzQKY9;^5F`HZgJ]n0
!s100 7Q[gKi9=8QWCoahLW9?F:1
R4
33
R5
!i10b 1
R6
Z40 !s90 -work|work|-2008|../../../hardware/system/data_channel_control.vhd|
Z41 !s107 ../../../hardware/system/data_channel_control.vhd|
!i113 0
R7
R8
Artl
R16
R9
R10
R11
R1
R2
R37
!i122 70
l76
L36 115
VT[n0mi9@V7ZzHF`W37Wl;2
!s100 ZhWS;YbG^c8OCMMEiBPY`2
R4
33
R5
!i10b 1
R6
R40
R41
!i113 0
R7
R8
Edata_sink_mux
R3
R1
R2
!i122 71
R0
Z42 8../../../hardware/system/data_sink_mux.vhd
Z43 F../../../hardware/system/data_sink_mux.vhd
l0
L4 1
VQ;UazIGQH_4JT@02NeZQF1
!s100 9om2d9W8<liMhCO0?O7c?3
R4
33
R5
!i10b 1
R6
Z44 !s90 -work|work|-2008|../../../hardware/system/data_sink_mux.vhd|
Z45 !s107 ../../../hardware/system/data_sink_mux.vhd|
!i113 0
R7
R8
Artl
R1
R2
R36
!i122 71
l20
Z46 L19 8
VT6[B`8W2EV7`PW0nM^4hE2
!s100 HX?A2PlV_e4;55[jz@0_G0
R4
33
R5
!i10b 1
R6
R44
R45
!i113 0
R7
R8
Edata_source_mux
R3
R1
R2
!i122 72
R0
Z47 8../../../hardware/system/data_source_mux.vhd
Z48 F../../../hardware/system/data_source_mux.vhd
l0
L4 1
VD0Y0f1TgK@TR<B9B0INE<0
!s100 F0Q2bH8jIk04KD23?DUmZ3
R4
33
R5
!i10b 1
R6
Z49 !s90 -work|work|-2008|../../../hardware/system/data_source_mux.vhd|
Z50 !s107 ../../../hardware/system/data_source_mux.vhd|
!i113 0
R7
R8
Artl
R1
R2
R34
!i122 72
l20
R46
Vf3hlL7MSNTVeB<KRg5P=H2
!s100 zfZ_NkW=P9InnaQDSjIEP3
R4
33
R5
!i10b 1
R6
R49
R50
!i113 0
R7
R8
Efifo
R3
R11
R1
R2
!i122 73
R0
Z51 8../../../hardware/system/fifo.vhd
Z52 F../../../hardware/system/fifo.vhd
l0
L5 1
VKUBJ[<P:a@BO_Llm71mO;2
!s100 fB69G?m:faBFLE=emg6dP2
R4
33
R5
!i10b 1
R6
Z53 !s90 -work|work|-2008|../../../hardware/system/fifo.vhd|
Z54 !s107 ../../../hardware/system/fifo.vhd|
!i113 0
R7
R8
Artl
R10
R11
R1
R2
R35
!i122 73
l58
L24 94
VkDRYW:RHk_FPUK@HP9RB?1
!s100 eI8`Fk7X57C0hFH:N5;a`2
R4
33
R5
!i10b 1
R6
R53
R54
!i113 0
R7
R8
Efixed_sine
R3
R17
R18
R11
R1
R2
!i122 77
R0
Z55 8../../../hardware/system/fixed_sine.vhd
Z56 F../../../hardware/system/fixed_sine.vhd
l0
L9 1
V_;PKPH[leWg6]VhL28[Uz0
!s100 1=7Q8;Pa20W:7?nE3W`XA1
R4
33
R21
!i10b 1
R22
Z57 !s90 -work|work|-2008|../../../hardware/system/fixed_sine.vhd|
Z58 !s107 ../../../hardware/system/fixed_sine.vhd|
!i113 0
R7
R8
Artl
R25
R17
R18
R11
R1
R2
Z59 DEx4 work 10 fixed_sine 0 22 _;PKPH[leWg6]VhL28[Uz0
!i122 77
l31
L28 56
VYFli_G8JZi9k`HH?:eON42
!s100 >9X8B>CKTO>:M2Z^n`m:F1
R4
33
R21
!i10b 1
R22
R57
R58
!i113 0
R7
R8
Pfloat
R11
R1
R2
!i122 68
R3
R0
Z60 8../../../hardware/system/float.vhd
Z61 F../../../hardware/system/float.vhd
l0
L5 14
VbdAlbAVYo`Kj2Wf`H<KJm1
!s100 ALEWC9SfL62IOH<PP8FhY3
R4
33
b1
R5
!i10b 1
R6
Z62 !s90 -work|work|-2008|../../../hardware/system/float.vhd|
Z63 !s107 ../../../hardware/system/float.vhd|
!i113 0
R7
R8
Bbody
Z64 DPx4 work 5 float 0 22 bdAlbAVYo`Kj2Wf`H<KJm1
R11
R1
R2
!i122 68
l0
L20 125
V=GHO2V40MjKbK;i`E7cbY0
!s100 5A>0@BDef8I>=aHM2m_Nb1
R4
33
R5
!i10b 1
R6
R62
R63
!i113 0
R7
R8
Efloat_sine
R3
R64
R17
R18
R11
R1
R2
!i122 78
R0
Z65 8../../../hardware/system/float_sine.vhd
Z66 F../../../hardware/system/float_sine.vhd
l0
Z67 L10 1
VUzU<2gdzSA<oNR=kVnB743
!s100 J^RjIWj<[?>fJ?SDYJ6de0
R4
33
R21
!i10b 1
R22
Z68 !s90 -work|work|-2008|../../../hardware/system/float_sine.vhd|
Z69 !s107 ../../../hardware/system/float_sine.vhd|
!i113 0
R7
R8
Artl
R59
R64
R17
R18
R11
R1
R2
DEx4 work 10 float_sine 0 22 UzU<2gdzSA<oNR=kVnB743
!i122 78
l28
L26 24
Vh>Gd[M;:F5<9NhKTFPU__2
!s100 [IjbPoALzZ5UW8>iIn_8;2
R4
33
R21
!i10b 1
R22
R68
R69
!i113 0
R7
R8
Ehardware_task_control
R3
R9
R18
Z70 DPx4 work 4 task 0 22 <d2:SDhbOcDb;UZAR6XP<1
R10
R11
R1
R2
!i122 69
R0
Z71 8../../../hardware/system/hardware_task_control.vhd
Z72 F../../../hardware/system/hardware_task_control.vhd
l0
R67
VN_[hm^[`8P3C_?XhKfMiB1
!s100 VTe[_8IFOO_mhIP<3miBi3
R4
33
R5
!i10b 1
R6
Z73 !s90 -work|work|-2008|../../../hardware/system/hardware_task_control.vhd|
Z74 !s107 ../../../hardware/system/hardware_task_control.vhd|
!i113 0
R7
R8
Artl
R16
R9
R18
R70
R10
R11
R1
R2
DEx4 work 21 hardware_task_control 0 22 N_[hm^[`8P3C_?XhKfMiB1
!i122 69
l65
L27 110
V>dkmQz3Q>[@^YR5baS3@T3
!s100 H>[SQTM5XUD5DZRbn>>Qa1
R4
33
R5
!i10b 1
R6
R73
R74
!i113 0
R7
R8
Preg32
R1
R2
!i122 64
R3
R0
Z75 8../../../hardware/system/reg32.vhd
Z76 F../../../hardware/system/reg32.vhd
l0
L4 22
V;CN4zHhK9B2g@^5<iAMU[3
!s100 f@oDV2B4W88jjBzL>:J8Q2
R4
33
b1
R5
!i10b 1
Z77 !s108 1732098572.000000
Z78 !s90 -work|work|-2008|../../../hardware/system/reg32.vhd|
Z79 !s107 ../../../hardware/system/reg32.vhd|
!i113 0
R7
R8
Bbody
R10
R1
R2
!i122 64
l0
L27 15
Ve]>7^TdiV29fQSH02B]>g2
!s100 Iz<N<87?GjQ^OeGg1HaMQ0
R4
33
R5
!i10b 1
R77
R78
R79
!i113 0
R7
R8
Esine
w1732098554
R18
R70
R64
R10
R11
R1
R2
!i122 79
R0
8../../../hardware/signal_processing/sine.vhd
F../../../hardware/signal_processing/sine.vhd
l0
R67
VDNZ93TNMQ0zm]eCLo?nY@1
!s100 h82=NG<joLXmM7NOJKaNP3
R4
33
R21
!i10b 1
R22
!s90 -work|work|-2008|../../../hardware/signal_processing/sine.vhd|
!s107 ../../../hardware/signal_processing/sine.vhd|
!i113 0
R7
R8
Ptask
R18
R11
R1
R2
!i122 65
R3
R0
Z80 8../../../hardware/system/task.vhd
Z81 F../../../hardware/system/task.vhd
l0
L7 13
V<d2:SDhbOcDb;UZAR6XP<1
!s100 <^>UfA]7TKPoiFleR9M]X0
R4
33
b1
R5
!i10b 1
R6
Z82 !s90 -work|work|-2008|../../../hardware/system/task.vhd|
Z83 !s107 ../../../hardware/system/task.vhd|
!i113 0
R7
R8
Bbody
R70
R18
R11
R1
R2
!i122 65
l0
L21 20
V2oWBhb1Hn^eNWQoAZPWOT2
!s100 SBmbLcWl_l6O`KN;FUj4R2
R4
33
R5
!i10b 1
R6
R82
R83
!i113 0
R7
R8

BIN
tests/hardware/task_sine/work/_lib.qdb View File


BIN
tests/hardware/task_sine/work/_lib1_3.qdb View File


+ 0
- 0
tests/hardware/task_sine/work/_lib1_3.qpg View File


BIN
tests/hardware/task_sine/work/_lib1_3.qtl View File


+ 4
- 0
tests/hardware/task_sine/work/_vmake View File

@@ -0,0 +1,4 @@
m255
K4
z0
cModel Technology

Loading…
Cancel
Save