当前位置:网站首页>3. pcie.v file
3. pcie.v file
2022-08-05 00:44:00 【jjinl】
lattice的clarity生成的pcieNuclear name and original establishmentIP有关系.before we openclarity输入的design name叫pcie生成的verilog文件就叫pcie.v,If the input file is called pcie_interfaceThe generated file is calledpcie_interface.v.Let's take a look at the contents of this file
/* synthesis translate_off*/
`define SBP_SIMULATION
/* synthesis translate_on*/
`ifndef SBP_SIMULATION
`define SBP_SYNTHESIS
`endif
//
// Verific Verilog Description of module pcie
//
module pcie (pcie_x1_bus_num, pcie_x1_class_code, pcie_x1_cmd_reg_out,
pcie_x1_dev_cntl_2_out, pcie_x1_dev_cntl_out, pcie_x1_dev_num,
pcie_x1_device_id, pcie_x1_func_num, pcie_x1_hl_gto_lbk, pcie_x1_lnk_cntl_out,
pcie_x1_mm_enable, pcie_x1_msi, pcie_x1_npd_num_vc0, pcie_x1_pd_num_vc0,
pcie_x1_phy_cfgln, pcie_x1_phy_cfgln_sum, pcie_x1_phy_ltssm_state,
pcie_x1_pm_power_state, pcie_x1_rev_id, pcie_x1_rx_bar_hit,
pcie_x1_rx_data_vc0, pcie_x1_rx_lbk_data, pcie_x1_rx_lbk_kcntl,
pcie_x1_rxdp_dllp_val, pcie_x1_rxdp_pmd_type, pcie_x1_rxdp_vsd_data,
pcie_x1_subsys_id, pcie_x1_subsys_ven_id, pcie_x1_tx_ca_cpld_vc0,
pcie_x1_tx_ca_cplh_vc0, pcie_x1_tx_ca_npd_vc0, pcie_x1_tx_ca_nph_vc0,
pcie_x1_tx_ca_pd_vc0, pcie_x1_tx_ca_ph_vc0, pcie_x1_tx_data_vc0,
pcie_x1_tx_dllp_val, pcie_x1_tx_lbk_data, pcie_x1_tx_lbk_kcntl,
pcie_x1_tx_pmtype, pcie_x1_tx_vsd_data, pcie_x1_vendor_id,
pcie_x1_cmpln_tout, pcie_x1_cmpltr_abort_np, pcie_x1_cmpltr_abort_p,
pcie_x1_dl_active, pcie_x1_dl_inactive, pcie_x1_dl_init, pcie_x1_dl_up,
pcie_x1_flip_lanes, pcie_x1_flr_rdy_in, pcie_x1_force_disable_scr,
pcie_x1_force_lsm_active, pcie_x1_force_phy_status, pcie_x1_force_rec_ei,
pcie_x1_hdinn0, pcie_x1_hdinp0, pcie_x1_hdoutn0, pcie_x1_hdoutp0,
pcie_x1_hl_disable_scr, pcie_x1_hl_gto_cfg, pcie_x1_hl_gto_det,
pcie_x1_hl_gto_dis, pcie_x1_hl_gto_hrst, pcie_x1_hl_gto_l0stx,
pcie_x1_hl_gto_l0stxfts, pcie_x1_hl_gto_l1, pcie_x1_hl_gto_l2,
pcie_x1_hl_gto_rcvry, pcie_x1_hl_snd_beacon, pcie_x1_initiate_flr,
pcie_x1_inta_n, pcie_x1_load_id, pcie_x1_msi_enable, pcie_x1_no_pcie_train,
pcie_x1_np_req_pend, pcie_x1_npd_buf_status_vc0, pcie_x1_npd_processed_vc0,
pcie_x1_nph_buf_status_vc0, pcie_x1_nph_processed_vc0, pcie_x1_pd_buf_status_vc0,
pcie_x1_pd_processed_vc0, pcie_x1_ph_buf_status_vc0, pcie_x1_ph_processed_vc0,
pcie_x1_phy_pol_compliance, pcie_x1_pme_en, pcie_x1_pme_status,
pcie_x1_rst_n, pcie_x1_rx_dwen_vc0, pcie_x1_rx_end_vc0, pcie_x1_rx_malf_tlp_vc0,
pcie_x1_rx_st_vc0, pcie_x1_rx_us_req_vc0, pcie_x1_sys_clk_125,
pcie_x1_tx_ca_cpl_recheck_vc0, pcie_x1_tx_ca_p_recheck_vc0,
pcie_x1_tx_dllp_sent, pcie_x1_tx_dwen_vc0, pcie_x1_tx_end_vc0,
pcie_x1_tx_lbk_rdy, pcie_x1_tx_nlfy_vc0, pcie_x1_tx_rdy_vc0,
pcie_x1_tx_req_vc0, pcie_x1_tx_st_vc0, pcie_x1_tx_val, pcie_x1_unexp_cmpln,
pcie_x1_ur_np_ext, pcie_x1_ur_p_ext, refclk_refclkn, refclk_refclkp) /* synthesis sbp_module=true */ ;
....端口声明
pcie_x1 pcie_x1_inst (...);
refclk refclk_inst (...);
PCSCLKDIV pcs_clkdiv0 (..);
not (n1, pcie_x1_rst_n) ;
endmodule
省略部分内容.这个模块pciePort signals have 109个.Inside the module containspcie_x1这个模块,refclkthis module as wellPCSCLKDIV和not模块.
信号名 | 方向 | 同步时钟 | 功能描述 |
---|---|---|---|
clock and reset interface | |||
refclk_refclkn/refclk_refclkp | 输入 | 参考时钟输入.2.5G速率为100MHz,5G速率为200MHz | |
pcie_x1_sys_clk_125 | 输出 | 125MHz时钟,Used to drive user logic | |
pcie_x1_rst_n | 输入 | 低电平有效, | |
PCIe 收发通道 | |||
pcie_x1_hdinn0/pcie_x1_hdinp0 | 输入 | PCIe x1 输入通道 | |
pcie_x1_hdoutn0/pcie_x1_hdoutp0 | 输出 | PCIe x1输出通道 | |
TLP传输接口 | |||
pcie_x1_tx_data_vc0 | 64位输入 | 125M | TLP数据传输线 |
pcie_x1_tx_req_vc0 | 输入 | 125 | A high level represents a transfer request,when you need to transfer oneTLP包的时候,Pull this signal high.当有多个TLPWhen packets are transmitted continuously,也就是burst模式,This signal is maintained until the last packet starts to be sent |
pcie_x1_tx_rdy_vc0 | 输出 | 125 | A high level indicates that transmission can begin.This is paired with the above request signal.req--> rdy.请求应答 |
pcie_x1_tx_st_vc0 | 输入 | 125 | Start transmission flag,Indicates that the data on the data line starts to be valid |
pcie_x1_tx_end_vc0 | 输入 | 125 | Indicates that the current data isTLP最后一个数据,After that it must go low |
pcie_x1_tx_nlfy_vc0 | 输入 | 125 | 高电平有效,指示当前TLPPackage is void,It can be transmittedTLPThe package is valid at any time,when validpcieNuclear will terminateTLP发送,So no need for the aboveendSignals the end of the packet. |
pcie_x1_tx_dwen_vc0 | 输入 | 125 | 高电平有效.指示64bit数据中63:32有效.在发送数据时,上面tx_data为64位,TLP以32bit为单位,If the last data is not enough64bit,则放到63:32这里,并拉高dwen信号.dwen=double word enable |
pcie_x1_tx_val | 输出 | 125 | Clock transmit enable.Just adjust the sending speed.我们使用是5G速度的IPcore,有x1和x2选项,也就是1Channel send is still2通道发送,Our current configurationx1,就是1通道发送,From the above we can see that only match1对hdoutp/n.当配置x2的时候,The sending rate is just that5Gbps+5Gbps=10Gbps,PCIe信号采用8/10编码,所以有效数据为8Gbps.our clock125M,We data line width64位,Then the user interface sending rate 125M×64=8Gbps,此时PCIeThe sending rate matches the user sending rate.当我们使用x1的时候PCIe发送速率降低1半,At this time, the user's interface clock and data line width remain unchanged,The sending rate is still the same8G,This requires the use of this signal to indicate whether the current clock is valid,降低发送速率,When this signal interval is valid, the transmission rate can be adjusted |
pcie_x1_tx_ca_ph_vc0 | 9位输出 | 125 | posted-header信用值,最高位为1Indicates an infinite credit value,此时低8位忽略.高位为0时,低8The bits represent the credit value.The credit value indicates how much buffer the other receiving port has left,Used for data flow control,下面一样 |
pcie_x1_tx_ca_nph_vc0 | 9位输出 | 125 | non-posted-header信用值 |
pcie_x1_tx_ca_cplh_vc0 | 9位输出 | 125 | completion header信用值 |
pcie_x1_tx_ca_pd_vc0 | 13位输出 | 125 | posted data 信用值 |
pcie_x1_tx_ca_npd_vc0 | 13位输出 | 125 | non-posted data 信用值 |
pcie_x1_tx_ca_cpld_vc0 | 13位输出 | 125 | completion data 信用值 |
pcie_x1_tx_ca_p_recheck_vc0 | 输出 | 125 | A high level indicates sending one posted tlp,The credit value changes |
pcie_x1_tx_ca_cpl_recheck_vc0 | 输出 | 125 | A high level indicates sending onecompletion tlp,Credit value changes |
pcie_x1_rx_data_vc0 | 64位输出 | 125 | receive data bus |
pcie_x1_rx_st_vc0 | 输出 | 125 | A high level indicates the data line 是TLP开始数据 |
pcie_x1_rx_end_vc0 | 输出 | 125 | A high level indicates that the data line isTLP结束数据 |
pcie_x1_rx_dwen_vc0 | 输出 | 125 | Indicates the data line63:32数据有效 |
pcie_x1_rx_us_req_vc0 | 输出 | 125 | A high level indicates unsupportedTLP请求 |
pcie_x1_rx_malf_tlp_vc0 | 输出 | 125 | 高电平表示当前TLP包有问题,Incorrect length or format |
pcie_x1_rx_bar_hit | 7位输出 | 125 | PCIe BARSpace indication.bit0--> BAR0, bit1-->BAR1...bit5-->BAR5, bit6-->扩展ROM区域.使用64bitspace time,只有最小BARNumber is valid.This signal will andrx_stSignals are active at the same time |
pcie_x1_ur_np_ext | 输入 | 125 | High level indication is not supportednon-posted 请求 |
pcie_x1_ur_p_ext | 输入 | 125 | High level indication is not supportedposted请求 |
pcie_x1_ph_buf_status_vc0 | 输入 | 125 | 指示用户buffer满,posted header buffer |
pcie_x1_pd_buf_status_vc0 | 输入 | 125 | 指示用户buffer满,posted data buffer |
pcie_x1_nph_buf_status_vc0 | 输入 | 125 | 指示用户buffer满,non-posted header buffer |
pcie_x1_npd_buf_status_vc0 | 输入 | 125 | 指示用户buffer满,non-posted data buffer |
pcie_x1_ph_processed_vc0 | 输入 | 125 | |
pcie_x1_nph_processed_vc0 | 输入 | 125 | |
pcie_x1_pd_processed_vc0 | 输入 | 125 | 高电平使能 pd_num值 |
pcie_x1_npd_processed_vc0 | 输入 | 125 | 高电平使能 npd_num值 |
pcie_x1_pd_num_vc0 | 8位输入 | 125 | posted data Credit value processing |
pcie_x1_npd_num_vc0 | 8位输入 | 125 | non-posted data Credit value processing |
物理层 | |||
pcie_x1_no_pcie_train | 输入 | 异步信号 | High level disabledLTSSM训练,并让LTSSM进入L0状态 |
pcie_x1_force_lsm_active | 输入 | 异步信号 | Puts all channels into linked state |
pcie_x1_force_rec_ei | 输入 | 异步 | |
pcie_x1_force_phy_status | 输入 | 异步 | |
pcie_x1_force_disable_scr | 输入 | 异步 | 禁止PCIe TLP干扰器 |
pcie_x1_hl_snd_beacon | 输入 | 125 | High level request to send flag |
pcie_x1_hl_disable_scr | 输入 | 异步 | The high level transmits the disable interference bitTS1/TS2序列 |
pcie_x1_hl_gto_dis | 输入 | 异步 | High to request entrydisable state whenLTSSM进入config或者recovery状态 |
pcie_x1_hl_gto_det | 输入 | 125 | High to request entryDetectstate whenLTSSM在L2或者disable状态 |
pcie_x1_hl_gto_hrst | 输入 | High to request entryHot Resetstate whenLTSSM在recovery状态 | |
pcie_x1_hl_gto_l0stx | 输入 | 125 | High to request entryL0sstate whenLTSSM在L0状态 |
pcie_x1_hl_gto_l0stxfts | 输入 | 125 | High to request entryL0sstatus and transmitFTS当LTSSM在L0s状态 |
pcie_x1_hl_gto_l1 | 输入 | 125 | High to request entryL1state whenLTSSM在L0状态 |
pcie_x1_hl_gto_l2 | 输入 | 125 | High to request entryL2state whenLTSSM在L0状态 |
pcie_x1_hl_gto_lbk | 4位输入 | 125 | High to request entryloopbackstate whenLTSSM在config或者recovery状态 |
pcie_x1_hl_gto_rcvry | 输入 | 125 | High to request entryrecoverystate whenLTSSM在L0,L0s或者L1状态 |
pcie_x1_hl_gto_cfg | 输入 | 125 | High to request entryconfigmode whenLTSSM在recovery状态 |
pcie_x1_phy_ltssm_state | 4位输出 | 125 | 物理层LTSSM当前状态.0000:dectect状态;0001:polling;0010:config ; 0011:L0; 0100:L0s; 0101:L1; 0110:L2; 0111:recovery; 1000: loopback; 1001: hot reset; 1010:diable |
pcie_x1_phy_cfgln | 2位输出 | 125 | Indicates the connection channel |
pcie_x1_phy_cfgln_sum | 3位输出 | 125 | 连接宽度000:No connection definition;001:x1 ; 010:x2 ; 100: x4 |
pcie_x1_phy_pol_compliance | 输出 | 125 | 高电平指示LTSSM在polling compliance状态 |
pcie_x1_tx_lbk_rdy | 输出 | 250 | host enabledloopback功能 |
pcie_x1_tx_lbk_kcntl | 8位输入 | 250 | loopback功能,subsequently disabledloopback |
pcie_x1_tx_lbk_data | 250 | subsequently disabledloopback | |
pcie_x1_rx_lbk_kcntl | subsequently disabledloopback | ||
pcie_x1_rx_lbk_data | subsequently disabledloopback | ||
数据链路层 | |||
pcie_x1_dl_active | 输出 | 125 | |
pcie_x1_dl_inactive | 输出 | 125 | |
pcie_x1_dl_init | 输出 | 125 | |
pcie_x1_dl_up | 输出 | 125 | |
pcie_x1_tx_dllp_val | 2位输入 | 125 | Power message send command.00:无消息, 01:发送DLLP使用tx_pmtype, 10:发送DLLP使用tx_vsd_data, 11:不使用 |
pcie_x1_tx_pmtype | 3位输入 | 125 | Power message type.000:PM L1 , 001:PM L2, ... |
pcie_x1_tx_vsd_data | 24位输入 | 125 | Manufacturer-defined data transmissionDLLP |
pcie_x1_tx_dllp_sent | 输出 | 125 | 请求DLLP发送 |
pcie_x1_rxdp_pmd_type | 3位输出 | 125 | Receive power message type 000: PM L1 , 001: PM L2.... |
pcie_x1_rxdp_vsd_data | 24位输出 | 125 | 厂商自定义DLLP数据接收 |
pcie_x1_rxdp_dllp_val | 2位输出 | 125 | Power message received |
传输层 | |||
pcie_x1_cmpln_tout | |||
pcie_x1_cmpltr_abort_np | |||
pcie_x1_cmpltr_abort_p | |||
pcie_x1_np_req_pend | |||
配置寄存器 | |||
pcie_x1_bus_num | 8位输出 | 125 | 配置的bus num |
pcie_x1_dev_num | 5位输出 | 125 | |
pcie_x1_func_num | 3位输出 | 125 | |
pcie_x1_cmd_reg_out | 6位输出 | 125 | PCI Type0命令寄存器.bit0:IO Space bit1:mem space bit2:bus master bit3:parity error response bit4:serr enable bit5:interrupt disable |
pcie_x1_dev_cntl_out | 15位输出 | 125 | |
pcie_x1_lnk_cntl_out | 8位输出 | 125 | |
pcie_x1_inta_n | 输入 | 125 | traditional interrupt request |
pcie_x1_msi | 8位输入 | 125 | MSI中断,上升沿发送 |
pcie_x1_flr_rdy_in | 输入 | 125 | |
pcie_x1_initiate_flr | 输出 | 125 | |
pcie_x1_dev_cntl_2_out | 输出 | 125 | |
pcie_x1_mm_enable | 3位输出 | 125 | |
pcie_x1_msi_enable | 输出 | 125 | MSI中断使能 |
pcie_x1_pme_status | 输入 | 125 | |
pcie_x1_pme_en | 输出 | 125 | |
pcie_x1_pm_power_state | 2位输出 | 125 | 电源状态 |
pcie_x1_load_id | 输入 | 125 | |
pcie_x1_device_id | 16位输入 | 125 | 设备ID号 |
pcie_x1_vendor_id | 16位输入 | 125 | 厂商ID号 |
pcie_x1_rev_id | 8位输入 | 125 | 版本 |
pcie_x1_class_code | 24位输入 | 125 | 类代码 |
pcie_x1_subsys_ven_id | 16位输入 | 125 | Manufacturer's sonID |
pcie_x1_subsys_id | 16位输入 | 125 | system subsystemID |
pcie_x1_flip_lanes | |||
pcie_x1_unexp_cmpln |
边栏推荐
- 【Unity编译器扩展之进度条】
- D - I Hate Non-integer Number (count of selected number dp
- Software testing interview questions: test life cycle, the test process is divided into several stages, and the meaning of each stage and the method used?
- QSunSync Qiniu cloud file synchronization tool, batch upload
- 软件测试面试题:网络七层协仪具体?
- TinyMCE禁用转义
- Software testing interview questions: the difference and connection between black box testing, white box testing, and unit testing, integration testing, system testing, and acceptance testing?
- 《WEB安全渗透测试》(28)Burp Collaborator-dnslog外带技术
- 2022杭电多校 第三场 B题 Boss Rush
- D - I Hate Non-integer Number (选数的计数dp
猜你喜欢
随机推荐
倒计时1天!8月2日—4日与你聊聊开源与就业那些事!
SV class virtual method of polymorphism
Zombie and orphan processes
canvas Gaussian blur effect
软件测试面试题:一套完整的测试应该由哪些阶段组成?
D - I Hate Non-integer Number (选数的计数dp
Software test interview questions: BIOS, Fat, IDE, Sata, SCSI, Ntfs windows NT?
2022牛客多校训练第二场 H题 Take the Elevator
Software Testing Interview Questions: What Are the Types of Software Testing?
Software testing interview questions: the difference and connection between black box testing, white box testing, and unit testing, integration testing, system testing, and acceptance testing?
软件测试面试题:软件都有多少种分类?
软件测试面试题:设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?
canvas 高斯模糊效果
面试汇总:为何大厂面试官总问 Framework 的底层原理?
After the staged testing is complete, have you performed defect analysis?
【FreeRTOS】FreeRTOS与stm32内置堆栈的占用情况
oracle创建用户以后的权限问题
Redis visual management software Redis Desktop Manager2022
2022 Hangzhou Electric Power Multi-School Session 3 K Question Taxi
D - I Hate Non-integer Number (count of selected number dp