Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
H
HDL
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
RTSD
HDL
Commits
44c61a59
Commit
44c61a59
authored
7 years ago
by
Reinier van der Walle
Browse files
Options
Downloads
Patches
Plain Diff
added ip_arria10_e1sg_complex_mult
parent
a205906c
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
libraries/technology/mult/hdllib.cfg
+2
-0
2 additions, 0 deletions
libraries/technology/mult/hdllib.cfg
libraries/technology/mult/tech_complex_mult.vhd
+33
-2
33 additions, 2 deletions
libraries/technology/mult/tech_complex_mult.vhd
with
35 additions
and
2 deletions
libraries/technology/mult/hdllib.cfg
+
2
−
0
View file @
44c61a59
...
@@ -5,6 +5,7 @@ hdl_lib_uses_synth = common technology
...
@@ -5,6 +5,7 @@ hdl_lib_uses_synth = common technology
ip_arria10_mult
ip_arria10_mult
ip_arria10_complex_mult
ip_arria10_complex_mult
ip_arria10_complex_mult_rtl
ip_arria10_complex_mult_rtl
ip_arria10_e1sg_complex_mult
ip_arria10_e3sge3_mult_add4
ip_arria10_e3sge3_mult_add4
ip_arria10_e1sg_mult_add4
ip_arria10_e1sg_mult_add4
hdl_lib_uses_sim
=
hdl_lib_uses_sim
=
...
@@ -14,6 +15,7 @@ hdl_lib_disclose_library_clause_names =
...
@@ -14,6 +15,7 @@ hdl_lib_disclose_library_clause_names =
ip_arria10_mult
ip_arria10_mult_lib
ip_arria10_mult
ip_arria10_mult_lib
ip_arria10_complex_mult
ip_arria10_complex_mult_altmult_complex_150
ip_arria10_complex_mult
ip_arria10_complex_mult_altmult_complex_150
ip_arria10_complex_mult_rtl
ip_arria10_complex_mult_rtl_lib
ip_arria10_complex_mult_rtl
ip_arria10_complex_mult_rtl_lib
ip_arria10_e1sg_complex_mult
ip_arria10_e1sg_complex_mult_altmult_complex_170
ip_arria10_e3sge3_mult_add4
ip_arria10_e3sge3_mult_add4_lib
ip_arria10_e3sge3_mult_add4
ip_arria10_e3sge3_mult_add4_lib
ip_arria10_e1sg_mult_add4
ip_arria10_e1sg_mult_add4_lib
ip_arria10_e1sg_mult_add4
ip_arria10_e1sg_mult_add4_lib
...
...
This diff is collapsed.
Click to expand it.
libraries/technology/mult/tech_complex_mult.vhd
+
33
−
2
View file @
44c61a59
...
@@ -31,6 +31,7 @@ LIBRARY ip_stratixiv_mult_lib;
...
@@ -31,6 +31,7 @@ LIBRARY ip_stratixiv_mult_lib;
--LIBRARY ip_arria10_mult_lib;
--LIBRARY ip_arria10_mult_lib;
--LIBRARY ip_arria10_mult_rtl_lib;
--LIBRARY ip_arria10_mult_rtl_lib;
LIBRARY
ip_arria10_complex_mult_altmult_complex_150
;
LIBRARY
ip_arria10_complex_mult_altmult_complex_150
;
LIBRARY
ip_arria10_e1sg_complex_mult_altmult_complex_170
;
LIBRARY
ip_arria10_complex_mult_rtl_lib
;
LIBRARY
ip_arria10_complex_mult_rtl_lib
;
...
@@ -164,8 +165,9 @@ begin
...
@@ -164,8 +165,9 @@ begin
result_im
<=
RESIZE_SVEC
(
mult_im
,
g_out_p_w
);
result_im
<=
RESIZE_SVEC
(
mult_im
,
g_out_p_w
);
END
GENERATE
;
END
GENERATE
;
-- RTL variant is the same for unb2, unb2a and unb2b
gen_ip_arria10_rtl
:
IF
(
g_sim
=
FALSE
OR
(
g_sim
=
TRUE
AND
g_sim_level
=
0
))
AND
(
g_technology
=
c_tech_arria10
AND
g_variant
=
"RTL"
)
GENERATE
gen_ip_arria10_rtl
:
IF
(
g_sim
=
FALSE
OR
(
g_sim
=
TRUE
AND
g_sim_level
=
0
))
AND
((
g_technology
=
c_tech_arria10
OR
g_technology
=
c_tech_arria10_e3sge3
OR
g_technology
=
c_tech_arria10_e1sg
)
AND
g_variant
=
"RTL"
)
GENERATE
u0
:
ip_arria10_complex_mult_rtl
u0
:
ip_arria10_complex_mult_rtl
GENERIC
MAP
(
GENERIC
MAP
(
g_in_a_w
=>
g_in_a_w
,
g_in_a_w
=>
g_in_a_w
,
...
@@ -190,6 +192,35 @@ begin
...
@@ -190,6 +192,35 @@ begin
);
);
END
GENERATE
;
END
GENERATE
;
gen_ip_arria10_e1sg_ip
:
IF
(
g_sim
=
FALSE
OR
(
g_sim
=
TRUE
AND
g_sim_level
=
0
))
AND
(
g_technology
=
c_tech_arria10_e1sg
AND
g_variant
=
"IP"
)
GENERATE
-- Adapt DSP input widths
ar
<=
RESIZE_SVEC
(
in_ar
,
c_dsp_dat_w
);
ai
<=
RESIZE_SVEC
(
in_ai
,
c_dsp_dat_w
);
br
<=
RESIZE_SVEC
(
in_br
,
c_dsp_dat_w
);
bi
<=
RESIZE_SVEC
(
in_bi
,
c_dsp_dat_w
)
WHEN
g_conjugate_b
=
FALSE
ELSE
TO_SVEC
(
-
TO_SINT
(
in_bi
),
c_dsp_dat_w
);
u0
:
ip_arria10_e1sg_complex_mult
PORT
MAP
(
aclr
=>
rst
,
clock
=>
clk
,
dataa_imag
=>
ai
,
dataa_real
=>
ar
,
datab_imag
=>
bi
,
datab_real
=>
br
,
ena
=>
clken
,
result_imag
=>
mult_im
,
result_real
=>
mult_re
);
-- Back to true input widths and then resize for output width
result_re
<=
RESIZE_SVEC
(
mult_re
,
g_out_p_w
);
result_im
<=
RESIZE_SVEC
(
mult_im
,
g_out_p_w
);
END
GENERATE
;
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Model: forward concatenated inputs to the 'result' output
-- Model: forward concatenated inputs to the 'result' output
--
--
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment