-
Notifications
You must be signed in to change notification settings - Fork 140
RegisterSystem20XMLExamples
Adam edited this page Apr 10, 2012
·
1 revision
%INCLUDE{"RegisterSystem20Contents"}%
The reference router is used as an example to demonstrate the new register system.
'''The examples on this page currently do not reflect the reference router.'''
<constant>
<name>MAC_TABLE_SIZE</name>
<width>5</width>
<value>32</value>
</constant>
<type>
<name>mac_address</name>
<width>48</width>
</type>
<type>
<name>output_port_bitmask</name>
<width>16</width>
</type>
<type>
<name>mac_table_index</name>
<width>MAC_TABLE_SIZE.width</width>
</type>
<type>
<name>mac_table_entry</name>
<field>mac_address</field>
<field>output_port_bitmask</field>
<field>mac_table_index</field>
</type>
<module>
<name>MAC Group</name>
<abbrev>mac_grp</abbrev>
<location>core</location>
<blocksize>1M</blocksize>
<preferred_base>0x0600000</preferred_base>
<registers>
<register name="RX_QUEUE_NUM_PKTS_DROPPED" />
<register name="RX_QUEUE_NUM_PKTS_STORED" />
<register name="RX_QUEUE_NUM_PKTS_REMOVED" />
<register name="TX_QUEUE_NUM_PKTS_ENQUEUED" />
<register name="TX_QUEUE_NUM_PKTS_DEQUEUED" />
</registers>
</module>
<module>
<name>Input arbiter<name>
<abbrev>in_arb</abbrev>
<location>udp</location>
<registers>
</registers>
</module>
<module>
<name>Switch output port lookup</name>
<abbrev>switch_opl</abbrev>
<location>udp</location>
<registers>
<register name="LAST_MAC" type="mac_address" />
<register name="MAC_TABLE" type="mac_table_entry" />
</registers>
</module>
<module>
<name>SRAM output queues</name>
<name>OQ</name>
<location>udp</location>
<registers>
<register_group name="oq_regs" instances="4" >
<register>
<name>CTRL</name>
<bitmask name="ENABLE" value="0x1" />
</register>
<register name="RD_ADDR" width="12" />
<register name="WR_ADDR" width="12" />
<register name="LO_ADDR" width="12" />
<register name="HI_ADDR" width="12" />
</register_group>
</registers>
</module>
<?xml version="1.0" encoding="UTF-8"?> <nf:project xmlns:nf="http://www.NetFPGA.org/NF2_register_system" xmlns:xsi="http://www.w3.org/2001/XMLSchema-nstance" xsi:schemaLocation="http://www.NetFPGA.org/NF2_register_system NF2_register_system.xsd "> <nf:name>Reference router</nf:name> <nf:description>Reference IPv4 router</nf:description> <nf:use_modules>
io_queues/cpu_dma_queue
io_queues/ethernet_mac
input_arbiter/rr_input_arbiter
nf2/generic_top
nf2/reference_core
user_data_path/generic_cntr_reg
output_port_lookup/cam_router
output_queues/sram_rr_output_queues
sram_arbiter/sram_weighted_rr
user_data_path/reference_user_data_path
io/mdio
cpci_bus
dma
user_data_path/udp_reg_master
io_queues/add_rm_hdr
strip_headers/keep_length
</nf:use_modules>
<nf:local_modules>
</nf:local_modules>
<nf:memalloc layout="reference">
<nf:group name="core1">
<nf:instance name="device_id" />
<nf:instance name="dma" />
<nf:instance name="nf2_mdio" />
<nf:instance name="ethernet_mac" count="4" />
<nf:instance name="cpu_dma_queue" count="4" />
</nf:group>
<nf:group name="udp">
<nf:instance name="input_arbiter" />
<nf:instance name="ouput_port_lookup" />
<nf:instance name="strip_headers" />
<nf:instance name="output_queues" />
</nf:group>
</nf:memalloc>
</nf:project>