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
Merge requests
!177
Resolve
L2SDP-532
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Resolve
L2SDP-532
L2SDP-532
into
master
Overview
6
Commits
4
Pipelines
2
Changes
7
Merged
Reinier van der Walle
requested to merge
L2SDP-532
into
master
3 years ago
Overview
6
Commits
4
Pipelines
2
Changes
7
Expand
Closes
L2SDP-532
0
0
Merge request reports
Compare
master
version 1
7f50c364
3 years ago
master (base)
and
latest version
latest version
df0a9106
4 commits,
3 years ago
version 1
7f50c364
3 commits,
3 years ago
7 files
+
59
−
306
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
7
Search (e.g. *.vue) (Ctrl+P)
boards/uniboard2b/libraries/unb2b_board/src/vhdl/mms_unb2b_fpga_sens.vhd
+
19
−
59
Options
@@ -22,7 +22,7 @@
-- Purpose : MMS for unb2b_fpga_sens
-- Description: See unb2b_fpga_sens.vhd
LIBRARY
IEEE
,
technology_lib
,
common_lib
;
LIBRARY
IEEE
,
technology_lib
,
common_lib
,
fpga_sense_lib
;
USE
IEEE
.
STD_LOGIC_1164
.
ALL
;
USE
IEEE
.
NUMERIC_STD
.
ALL
;
USE
common_lib
.
common_pkg
.
ALL
;
@@ -43,10 +43,10 @@ ENTITY mms_unb2b_fpga_sens IS
mm_start
:
IN
STD_LOGIC
;
-- Memory-mapped clock domain
reg_temp_mosi
:
IN
t_mem_mosi
:
=
c_mem_mosi_rst
;
-- actual ranges defined by c_mm_reg
reg_temp_miso
:
OUT
t_mem_miso
;
-- actual ranges defined by c_mm_reg
reg_voltage_mosi
:
IN
t_mem_mosi
:
=
c_mem_mosi_rst
;
-- actual ranges defined by c_mm_reg
reg_voltage_miso
:
OUT
t_mem_miso
;
-- actual ranges defined by c_mm_reg
reg_temp_mosi
:
IN
t_mem_mosi
:
=
c_mem_mosi_rst
;
-- actual ranges defined by c_mm_reg
reg_temp_miso
:
OUT
t_mem_miso
;
-- actual ranges defined by c_mm_reg
reg_voltage_mosi
:
IN
t_mem_mosi
:
=
c_mem_mosi_rst
;
-- actual ranges defined by c_mm_reg
reg_voltage_miso
:
OUT
t_mem_miso
;
-- actual ranges defined by c_mm_reg
-- Temperature alarm output
temp_alarm
:
OUT
STD_LOGIC
@@ -56,67 +56,27 @@ END mms_unb2b_fpga_sens;
ARCHITECTURE
str
OF
mms_unb2b_fpga_sens
IS
CONSTANT
c_sens_nof_result
:
NATURAL
:
=
1
;
--
CONSTANT
c_temp_high_w
:
NATURAL
:
=
7
;
-- Allow user to use only 7 (no sign, only positive) of 8 bits to set set max temp
SIGNAL
sens_err
:
STD_LOGIC
;
SIGNAL
sens_data
:
t_slv_8_arr
(
0
TO
c_sens_nof_result
-1
);
SIGNAL
temp_high
:
STD_LOGIC_VECTOR
(
c_temp_high_w
-1
DOWNTO
0
);
BEGIN
u_
unb2b_
fpga_sens
_reg
:
ENTITY
work
.
unb2b_
fpga_sens
_reg
u_fpga_sens
e
:
ENTITY
fpga_sense_lib
.
fpga_sens
e
GENERIC
MAP
(
g_sim
=>
g_sim
,
g_technology
=>
g_technology
,
g_sens_nof_result
=>
c_sens_nof_result
,
g_temp_high
=>
g_temp_high
g_technology
=>
g_technology
,
g_sim
=>
g_sim
,
g_temp_high
=>
g_temp_high
)
PORT
MAP
(
-- Clocks and reset
mm_rst
=>
mm_rst
,
mm_clk
=>
mm_clk
,
start
=>
mm_start
,
-- Memory Mapped Slave in mm_clk domain
sla_temp_in
=>
reg_temp_mosi
,
sla_temp_out
=>
reg_temp_miso
,
sla_voltage_in
=>
reg_voltage_mosi
,
sla_voltage_out
=>
reg_voltage_miso
,
-- MM registers
--sens_err => sens_err, -- using same protocol list for both node2 and all nodes implies that sens_err is only valid for node2.
--sens_data => sens_data,
mm_clk
=>
mm_clk
,
mm_rst
=>
mm_rst
,
-- Max temp threshold
temp_high
=>
temp_high
);
-- u_unb2b_board_sens : ENTITY work.unb2b_board_sens
-- GENERIC MAP (
-- g_sim => g_sim,
-- g_clk_freq => g_clk_freq,
-- g_temp_high => g_temp_high,
-- g_sens_nof_result => c_sens_nof_result
-- )
-- PORT MAP (
-- clk => mm_clk,
-- rst => mm_rst,
-- start => mm_start,
-- -- i2c bus
-- scl => scl,
-- sda => sda,
-- -- read results
-- sens_evt => OPEN,
-- sens_err => sens_err,
-- sens_data => sens_data
-- );
start_sense
=>
mm_start
,
temp_alarm
=>
temp_alarm
,
-- Temperature: 7 bits (1 bit per degree) plus sign. A faulty readout (never pulled down = all ones)
-- would produce -1 degrees so does not trigger a temperature alarm.
-- temp_high is 7 bits, preceded by a '0' to allow only positive temps to be set.
temp_alarm
<=
'0'
;
--<= '1' WHEN (SIGNED(sens_data(0)) > SIGNED('0' & temp_high)) ELSE '0';
reg_temp_mosi
=>
reg_temp_mosi
,
reg_temp_miso
=>
reg_temp_miso
,
reg_voltage_store_mosi
=>
reg_voltage_mosi
,
reg_voltage_store_miso
=>
reg_voltage_miso
);
END
str
;
Loading