Commit 462ce06a authored by Evangelia Gousiou's avatar Evangelia Gousiou

code cleanup; added more comments to .wb

parent 3c5faced
This diff is collapsed.
This diff is collapsed.
......@@ -191,10 +191,8 @@ package masterFIP_pkg is
wb_ack_o : out std_logic;
wb_stall_o : out std_logic;
mf_rstn_core_o : out std_logic;
mf_rstn_fd_o : out std_logic;
mf_rstn_lock_o : out std_logic_vector(15 downto 0);
mf_rstn_lock_wr_o : out std_logic;
mf_rst_core_o : out std_logic;
mf_rst_fd_o : out std_logic;
mf_dbg_o : out std_logic_vector(31 downto 0);
......
......@@ -3,7 +3,7 @@
* File : fmc_masterfip_csr.h
* Author : auto-generated by wbgen2 from fmc_masterfip_csr.wb
* Created : 03/14/16 12:32:55
* Created : 03/17/16 18:51:55
* Standard : ANSI C
THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE fmc_masterfip_csr.wb
......@@ -31,19 +31,13 @@
#endif
/* definitions for register: rstn */
/* definitions for register: rst */
/* definitions for field: reset of the masterFIP core in reg: rstn */
#define MF_RSTN_CORE WBGEN2_GEN_MASK(0, 1)
/* definitions for field: reset of the masterFIP core in reg: rst */
#define MF_RST_CORE WBGEN2_GEN_MASK(0, 1)
/* definitions for field: reset of the fieldrive chip (FD_RSTN) in reg: rstn */
#define MF_RSTN_FD WBGEN2_GEN_MASK(1, 1)
/* definitions for field: reset magic value in reg: rstn */
#define MF_RSTN_LOCK_MASK WBGEN2_GEN_MASK(16, 16)
#define MF_RSTN_LOCK_SHIFT 16
#define MF_RSTN_LOCK_W(value) WBGEN2_GEN_WRITE(value, 16, 16)
#define MF_RSTN_LOCK_R(reg) WBGEN2_GEN_READ(reg, 16, 16)
/* definitions for field: reset of the fieldrive chip in reg: rst */
#define MF_RST_FD WBGEN2_GEN_MASK(1, 1)
/* definitions for register: id */
......@@ -477,8 +471,8 @@
/* definitions for register: tx data reg66 */
/* definitions for register: tx data reg67 */
/* [0x0]: REG rstn */
#define MF_REG_RSTN 0x00000000
/* [0x0]: REG rst */
#define MF_REG_RST 0x00000000
/* [0x4]: REG id */
#define MF_REG_ID 0x00000004
/* [0x8]: REG dbg */
......
......@@ -34,7 +34,7 @@
<span style="margin-left: 0px; ">1. <A href="#sect_1_0">Memory map summary</a></span><br/>
<span style="margin-left: 0px; ">2. <A href="#sect_2_0">HDL symbol</a></span><br/>
<span style="margin-left: 0px; ">3. <A href="#sect_3_0">Register description</a></span><br/>
<span style="margin-left: 20px; ">3.1. <A href="#sect_3_1">rstn</a></span><br/>
<span style="margin-left: 20px; ">3.1. <A href="#sect_3_1">rst</a></span><br/>
<span style="margin-left: 20px; ">3.2. <A href="#sect_3_2">id</a></span><br/>
<span style="margin-left: 20px; ">3.3. <A href="#sect_3_3">dbg</a></span><br/>
<span style="margin-left: 20px; ">3.4. <A href="#sect_3_4">adc</a></span><br/>
......@@ -220,13 +220,13 @@ C prefix
REG
</td>
<td >
<A href="#RSTN">rstn</a>
<A href="#RST">rst</a>
</td>
<td class="td_code">
mf_rstn
mf_rst
</td>
<td class="td_code">
RSTN
RST
</td>
</tr>
<tr class="tr_even">
......@@ -2930,7 +2930,7 @@ rst_n_i
</td>
<td class="td_pblock_right">
<b>rstn:</b>
<b>rst:</b>
</td>
<td class="td_arrow_right">
......@@ -2947,7 +2947,7 @@ clk_sys_i
</td>
<td class="td_pblock_right">
mf_rstn_core_o
mf_rst_core_o
</td>
<td class="td_arrow_right">
&rarr;
......@@ -2964,7 +2964,7 @@ wb_adr_i[7:0]
</td>
<td class="td_pblock_right">
mf_rstn_fd_o
mf_rst_fd_o
</td>
<td class="td_arrow_right">
&rarr;
......@@ -2978,13 +2978,13 @@ mf_rstn_fd_o
wb_dat_i[31:0]
</td>
<td class="td_sym_center">
&nbsp;
</td>
<td class="td_pblock_right">
mf_rstn_lock_o[15:0]
</td>
<td class="td_arrow_right">
&rArr;
</td>
</tr>
<tr>
......@@ -2998,10 +2998,10 @@ wb_dat_o[31:0]
</td>
<td class="td_pblock_right">
mf_rstn_lock_wr_o
<b>id:</b>
</td>
<td class="td_arrow_right">
&rarr;
</td>
</tr>
<tr>
......@@ -3032,7 +3032,7 @@ wb_sel_i[3:0]
</td>
<td class="td_pblock_right">
<b>id:</b>
<b>dbg:</b>
</td>
<td class="td_arrow_right">
......@@ -3046,40 +3046,6 @@ wb_sel_i[3:0]
wb_stb_i
</td>
<td class="td_sym_center">
&nbsp;
</td>
<td class="td_pblock_right">
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
wb_we_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
<b>dbg:</b>
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&larr;
</td>
<td class="td_pblock_left">
wb_ack_o
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
......@@ -3091,10 +3057,10 @@ mf_dbg_o[31:0]
</tr>
<tr>
<td class="td_arrow_left">
&larr;
&rarr;
</td>
<td class="td_pblock_left">
wb_stall_o
wb_we_i
</td>
<td class="td_sym_center">
&nbsp;
......@@ -3108,10 +3074,10 @@ wb_stall_o
</tr>
<tr>
<td class="td_arrow_left">
&larr;
</td>
<td class="td_pblock_left">
wb_ack_o
</td>
<td class="td_sym_center">
......@@ -3125,10 +3091,10 @@ wb_stall_o
</tr>
<tr>
<td class="td_arrow_left">
&larr;
</td>
<td class="td_pblock_left">
wb_stall_o
</td>
<td class="td_sym_center">
......@@ -11388,15 +11354,15 @@ mf_tx_data_reg67_o[31:0]
</table>
<h3><a name="sect_3_0">3. Register description</a></h3>
<a name="RSTN"></a>
<h3><a name="sect_3_1">3.1. rstn</a></h3>
<a name="RST"></a>
<h3><a name="sect_3_1">3.1. rst</a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td >
<b>HW prefix: </b>
</td>
<td class="td_code">
mf_rstn
mf_rst
</td>
</tr>
<tr>
......@@ -11412,7 +11378,7 @@ mf_rstn
<b>C prefix: </b>
</td>
<td class="td_code">
RSTN
RST
</td>
</tr>
<tr>
......@@ -11425,7 +11391,7 @@ RSTN
</tr>
</table>
<p>
software reset of the masterFIP core; active low; there is also an unlock word provided to prevent resetting the core by accidentally accessing this register.
software reset of the masterFIP core
</p>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
......@@ -11455,29 +11421,29 @@ software reset of the masterFIP core; active low; there is also an unlock word p
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
LOCK[15:8]
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
</tr>
</table>
......@@ -11509,29 +11475,29 @@ LOCK[15:8]
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
LOCK[7:0]
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
<td >
<td class="td_unused">
-
</td>
</tr>
</table>
......@@ -11646,16 +11612,12 @@ CORE
<ul>
<li><b>
CORE
</b>[<i>read/write</i>]: reset of the masterFIP core
<br>write 0: masterFIP core is held in reset<br> write 1: normal core operation
</b>[<i>write-only</i>]: reset of the masterFIP core
<br>write 1: generates a 1-tick-long (10ns) masterFIP core reset;<br> note: there is no need to clear the field before writing another '1'
<li><b>
FD
</b>[<i>read/write</i>]: reset of the fieldrive chip (FD_RSTN)
<br>write 0: fieldrive is held in reset<br> write 1: normal fieldrive operation
<li><b>
LOCK
</b>[<i>write-only</i>]: reset magic value
<br>Protection field - the state of the rst line will<br> only be updated if lock is written with 0xcafe together with the new state of the reset line.
</b>[<i>write-only</i>]: reset of the fieldrive chip
<br>write 1: to generate a fieldrive reset;<br> upon writing, the masterFIP_core generates a 1-WorldFIP-tick-long FD RSTN;<br> note: there is no need to clear the field before writing another '1'
</ul>
<a name="ID"></a>
<h3><a name="sect_3_2">3.2. id</a></h3>
......@@ -12712,7 +12674,7 @@ VALUE
<li><b>
LOAD
</b>[<i>read/write</i>]: load
<br>upon rising edge, the value is transferred to the dac
<br>write 1: loads the dac with the dac_value;<br> note: there is no need to clear the field before writing another '1'
</ul>
<a name="EXT_SYNC"></a>
<h3><a name="sect_3_6">3.6. ext sync</a></h3>
......@@ -13764,7 +13726,7 @@ LGTH
<li><b>
START
</b>[<i>read/write</i>]: macrocycle cnt start
<br>initiates the counting of the macrocycle counter
<br>write 1: initiates the counting of the macrocycle counter<br> note: there is no need to clear the field before writing another '1'
</ul>
<a name="TURNAR"></a>
<h3><a name="sect_3_10">3.10. turnaround lgth</a></h3>
......@@ -14026,7 +13988,7 @@ LGTH
<li><b>
START
</b>[<i>read/write</i>]: turnaround cnt start
<br>initiates the counting of the turnaround counter
<br>write 1: initiates the counting of the turnaround counter<br> note: there is no need to clear the field before writing another '1'
</ul>
<a name="SILEN"></a>
<h3><a name="sect_3_11">3.11. silence lgth</a></h3>
......@@ -14288,7 +14250,7 @@ LGTH
<li><b>
START
</b>[<i>read/write</i>]: silence cnt start
<br>initiates the counting of the silence counter
<br>initiates the counting of the silence counter<br> note: there is no need to clear the field before writing another '1'
</ul>
<a name="MACROCYC_TIME_CNT"></a>
<h3><a name="sect_3_12">3.12. macrocycle time cnt</a></h3>
......@@ -15578,11 +15540,11 @@ RST
<li><b>
RST
</b>[<i>read/write</i>]: tx rst
<br>write 0: normal serializer operation<br> write 1: serializer is held in reset
<br>write 1: generates a 1-tick-long reset to the serializer<br> note: there is no need to clear the field before writing another '1'
<li><b>
START
</b>[<i>read/write</i>]: tx strt
<br>initiates the serializer to send a frame
<br>write 1: initiates the serializer to send a frame of tx_ctrl_bytes_num data bytes;<br> the bytes are retrieved one-by-one by the registers: tx_data_ctrl, tx_data_reg1..tx_data_reg67;<br> the bytes: FSS, CRC and FES are generated automatically by the serializer.<br> note: there is no need to clear the field before writing another '1'
<li><b>
BYTES_NUM
</b>[<i>read/write</i>]: tx number of bytes
......@@ -16891,7 +16853,7 @@ RST
<li><b>
RST
</b>[<i>read/write</i>]: rx rst
<br>write 0: normal deserializer operation<br> write 1: deserializer is held in reset<br> note that the deserialiser is automatically hw reset when the serializer is active
<br>write 1: generates a 1-tick-long reset to the deserializer<br> note: there is no need to clear the field before writing another '1'<br> note: the deserializer is automatically hw-reset when the serializer is active
</ul>
<a name="RX_STAT"></a>
<h3><a name="sect_3_22">3.22. rx status</a></h3>
......
......@@ -9,39 +9,26 @@ peripheral {
-- reset --
-------------------------------------------------------------------------------
reg {
name = "rstn";
prefix = "rstn";
description = "software reset of the masterFIP core; active low; there is also an unlock word provided to prevent resetting the core by accidentally accessing this register.";
name = "rst";
prefix = "rst";
description = "software reset of the masterFIP core";
field {
name = "reset of the masterFIP core";
description = "write 0: masterFIP core is held in reset\
write 1: normal core operation";
type=BIT;
--type = PASS_THROUGH;
--size = 1;
description = "write 1: generates a 1-tick-long (10ns) masterFIP core reset;\
note: there is no need to clear the field before writing another '1'";
type = MONOSTABLE;
prefix = "core";
};
field {
name = "reset of the fieldrive chip (FD_RSTN)";
description = "write 0: fieldrive is held in reset\
write 1: normal fieldrive operation";
type=BIT;
--type = PASS_THROUGH;
--size = 1;
prefix = "fd";
name = "reset of the fieldrive chip";
description = "write 1: to generate a fieldrive reset;\
upon writing, the masterFIP_core generates a 1-WorldFIP-tick-long FD RSTN;\
note: there is no need to clear the field before writing another '1'";
type = MONOSTABLE;
prefix = "fd";
};
field {
name = "reset magic value";
description = "Protection field - the state of the rst line will\
only be updated if lock is written with 0xcafe together with the new state of the reset line.";
type = PASS_THROUGH;
prefix = "lock";
align = 16;
size = 16;
};
};
......@@ -155,7 +142,7 @@ peripheral {
For the DAC middle range: value = 32768 = 0x8000";
type = SLV;
size = 16;
-- add reset value = "0x8000";
-- add reset_value = "0x8000";
access_bus = READ_WRITE;
access_dev = READ_ONLY;
};
......@@ -163,8 +150,9 @@ peripheral {
field {
name = "load";
prefix = "load";
description = "upon rising edge, the value is transferred to the dac";
type = BIT;
description = "write 1: loads the dac with the dac_value;\
note: there is no need to clear the field before writing another '1'";
type = MONOSTABLE;
access_bus = READ_WRITE;
access_dev = READ_ONLY;
};
......@@ -281,9 +269,10 @@ peripheral {
};
field {
name = "macrocycle cnt start";
description = "initiates the counting of the macrocycle counter";
description = "write 1: initiates the counting of the macrocycle counter\
note: there is no need to clear the field before writing another '1'";
prefix = "start";
type = BIT;
type = MONOSTABLE;
access_bus = READ_WRITE;
access_dev = READ_ONLY;
};
......@@ -304,9 +293,10 @@ peripheral {
};
field {
name = "turnaround cnt start";
description = "initiates the counting of the turnaround counter";
description = "write 1: initiates the counting of the turnaround counter\
note: there is no need to clear the field before writing another '1'";
prefix = "start";
type = BIT;
type = MONOSTABLE;
access_bus = READ_WRITE;
access_dev = READ_ONLY;
};
......@@ -327,9 +317,10 @@ peripheral {
};
field {
name = "silence cnt start";
description = "initiates the counting of the silence counter";
description = "initiates the counting of the silence counter\
note: there is no need to clear the field before writing another '1'";
prefix = "start";
type = BIT;
type = MONOSTABLE;
access_bus = READ_WRITE;
access_dev = READ_ONLY;
};
......@@ -403,19 +394,22 @@ peripheral {
field {
name = "tx rst";
description = "write 0: normal serializer operation\
write 1: serializer is held in reset";
description = "write 1: generates a 1-tick-long reset to the serializer\
note: there is no need to clear the field before writing another '1'";
prefix = "rst";
type = BIT;
type = MONOSTABLE;
access_bus = READ_WRITE;
access_dev = READ_ONLY;
};
field {
name = "tx strt";
description = "initiates the serializer to send a frame";
description = "write 1: initiates the serializer to send a frame of tx_ctrl_bytes_num data bytes;\
the bytes are retrieved one-by-one by the registers: tx_data_ctrl, tx_data_reg1..tx_data_reg67;\
the bytes: FSS, CRC and FES are generated automatically by the serializer.\
note: there is no need to clear the field before writing another '1'";
prefix = "start";
type = BIT;
type = MONOSTABLE;
access_bus = READ_WRITE;
access_dev = READ_ONLY;
};
......@@ -552,12 +546,12 @@ peripheral {
field {
name = "rx rst";
description = "write 0: normal deserializer operation\
write 1: deserializer is held in reset\
note that the deserialiser is automatically hw reset when the serializer is active";
description = "write 1: generates a 1-tick-long reset to the deserializer\
note: there is no need to clear the field before writing another '1'\
note: the deserializer is automatically hw-reset when the serializer is active";
prefix = "rst";
type = BIT;
type = MONOSTABLE;
access_bus = READ_WRITE;
access_dev = READ_ONLY;
};
......
......@@ -96,7 +96,9 @@ wr 0000000000030174 F EEDDCC05 -- for 2 data bytes: EEDDCC05 | for 8 data bytes
-- tx_start
wr 000000000003003C F 00000502 -- for 2 data bytes: 00000502 | for 8 data bytes: 00000B02
wait %d40000
wait %d20000
wr 000000000003003C F 00000000
wait %d20000
--------------- ID_DAT ---------------
......@@ -116,7 +118,7 @@ wait %d20
-- tx_start
wr 000000000003003C F 00000202
wait %d20
wait %d200
-- deactivate tx_start
wr 000000000003003C F 00000000
......
......@@ -524,7 +524,7 @@ begin
nostat_i => nostat,
rstin_i => (rst_n),--was not
rstpon_i => '1',
slone_i => '0', --slone,
slone_i => slone,
rston_o => urst_from_nf,
var1_acc_i => var1_acc,
......@@ -536,7 +536,7 @@ begin
ack_o => ack,
adr_i => adr,
cyc_i => cyc,
dat_i => dat_to_fip,
dat_i => "0101010101010111",--dat_to_fip,
dat_o => dat_from_fip,
stb_i => stb,
we_i => we,
......@@ -739,6 +739,10 @@ begin
'1' after 194000 ns, '0' after 194080 ns,
'1' after 565151 ns, '0' after 565231 ns;
fd_wdgn <= '0' after 8500 ns, '1' after 8580 ns,
'0' after 194000 ns, '1' after 194080 ns,
'0' after 565151 ns, '1' after 565231 ns;
rst_n <= RSTOUT18n;
GPIO(0) <= irq_p;
GPIO(1) <= spare;
......
This diff is collapsed.
######################################################################
##
## Filename: tb_masterFIP.fdo
## Created on: Tue Mar 15 09:49:08 W. Europe Standard Time 2016
## Created on: Thu Apr 21 18:04:40 W. Europe Daylight Time 2016
##
## Auto generated by Project Navigator for Behavioral Simulation
##
......
......@@ -62,9 +62,6 @@ NET "led_rx_err_n_o" IOSTANDARD = "LVCMOS25";
NET "led_rx_act_n_o" LOC = A20;
NET "led_rx_act_n_o" IOSTANDARD = "LVCMOS25";
NET "bus_term_en_n_o" LOC = Y13;
NET "bus_term_en_n_o" IOSTANDARD = "LVCMOS25";
NET "ext_sync_term_en_o" LOC = AB13;
NET "ext_sync_term_en_o" IOSTANDARD = "LVCMOS25";
......
......@@ -157,14 +157,14 @@ architecture rtl of spec_masterfip_mt is
3 => (width => 128, entries => 4), -- output of the MT CPU1 with WorldFIP SMMPS periodic variables
4 => (width => 128, entries => 4), -- output of the MT CPU0 with WorldFIP SMMPS aperiodic variables
5 => (width => 128, entries => 4), -- output of the MT CPU0 with IRQs to the application (variable/messages programmed with an irq flag)
6 => (width => 128, entries => 4), -- output of the MT CPU0 command response
6 => (width => 128, entries => 4), -- output of the MT CPU0 command response
7 => (width => 128, entries => 4), -- output of the MT CPU1 command response
others => (0, 0)),
in_slot_count => 2,
in_slot_config =>
(0 => (width => 128, entries => 4), -- input to MT CPU0 with commands from the host for the bus configuration (commands like: PROGRAM_BA,HW_RESET, BA_START, BA_RUNNING)
1 => (width => 128, entries => 4), -- input to MT CPU1 with commands from the host for the control of CPU0 (handles commands like: BA_STOP,SET_VAR_PAYLOAD, SET_MSG_PAYLOAD, GET_REPORT, GET_PRESENT_LIST, GET_IDENT_VAR)
-- (change of payload, stop BA, reset CPU0 etc through shared mem, host asking for report)
-- (change of payload, stop BA, reset CPU0 etc through shared mem, host asking for report)
others => (0, 0)));
-- RMQs not used
......@@ -177,10 +177,10 @@ architecture rtl of spec_masterfip_mt is
constant c_node_config : t_wr_node_config :=
(app_id => x"0f1dc03e",
cpu_count => 2,
cpu_memsizes => (65536+32768, 8192, 0, 0, 0, 0, 0, 0),
cpu_memsizes => (65536+32768, 8192, 0, 0, 0, 0, 0, 0), -- bytes
hmq_config => c_hmq_config,
rmq_config => c_rmq_config,
shared_mem_size => 65536);
shared_mem_size => 65536); -- bytes
-- crossbar constants
constant c_slave_addr : t_wishbone_address_array(0 downto 0):= ( 0 => x"00000000" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment