• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線控制器IP核的代碼分析

    CAN總線控制器IP核的代碼分析

    作者: 時間:2012-10-14 來源:網絡 收藏

    include timescale.v

    本文引用地址:http://www.czjhyjcfj.com/article/170785.htm

    // synopsys translate_on

    `include can_defines.v

    module can_top

    (

    `ifdef _WISHBONE_IF

    wb_clk_i,

    wb_rst_i,

    wb_dat_i,

    wb_dat_o,

    wb_cyc_i,

    wb_stb_i,

    wb_we_i,

    wb_adr_i,

    wb_ack_o,

    `else

    rst_i,

    ale_i,

    rd_i,

    wr_i,

    port_0_io,

    `endif

    cs_can_i,

    clk_i,

    rx_i,

    tx_o,

    irq_on,

    clkout_o

    );

    parameter Tp = 1;

    `ifdef _WISHBONE_IF

    input wb_clk_i;

    input wb_rst_i;

    input [7:0] wb_dat_i;

    output [7:0] wb_dat_o;

    input wb_cyc_i;

    input wb_stb_i;

    input wb_we_i;

    input [7:0] wb_adr_i;

    output wb_ack_o;

    reg wb_ack_o;

    reg cs_sync1;

    reg cs_sync2;

    reg cs_sync3;

    reg cs_ack1;

    reg cs_ack2;

    reg cs_ack3;

    reg cs_sync_rst1;

    reg cs_sync_rst2;

    `else

    input rst_i;

    input ale_i;

    input rd_i;

    input wr_i;

    inout [7:0] port_0_io;

    reg [7:0] addr_latched;

    reg wr_i_q;

    reg rd_i_q;

    `endif

    input cs_can_i;

    input clk_i;

    input rx_i;

    output tx_o;

    output irq_on;

    output clkout_o;

    reg data_out_fifo_selected;

    wire irq_o;

    wire [7:0] data_out_fifo;

    wire [7:0] data_out_regs;

    /* Mode register */

    wire reset_mode;

    wire listen_only_mode;

    wire acceptance_filter_mode;

    wire self_test_mode;

    /* Command register */

    wire release_buffer;

    wire tx_request;

    wire abort_tx;

    wire self_rx_request;

    wire single_shot_transmission;

    /* Arbitration Lost Capture Register */

    wire read_arbitration_lost_capture_reg;

    /* Error Code Capture Register */

    wire read_error_code_capture_reg;

    wire [7:0] error_capture_code;

    /* Bus Timing 0 register */

    wire [5:0] baud_r_presc;

    wire [1:0] sync_jump_width;

    /* Bus Timing 1 register */

    wire [3:0] time_segment1;

    wire [2:0] time_segment2;

    wire triple_sampling;

    /* Error Warning Limit register */

    wire [7:0] error_warning_limit;

    /* Rx Error Counter register */

    wire we_rx_err_cnt;

    /* Tx Error Counter register */

    wire we_tx_err_cnt;

    /* Clock Divider register */

    wire extended_mode;

    /* This section is for BASIC and EXTENDED mode */

    /* Acceptance code register */

    wire [7:0] acceptance_code_0;

    /* Acceptance mask register */

    wire [7:0] acceptance_mask_0;

    /* End: This section is for BASIC and EXTENDED mode */

    /* This section is for EXTENDED mode */

    /* Acceptance code register */

    wire [7:0] acceptance_code_1;

    wire [7:0] acceptance_code_2;

    wire [7:0] acceptance_code_3;

    /* Acceptance mask register */

    wire [7:0] acceptance_mask_1;

    wire [7:0] acceptance_mask_2;

    wire [7:0] acceptance_mask_3;

    /* End: This section is for EXTENDED mode */

    /* Tx data registers. Holding identifier (basic mode), tx frame information (extended mode) and data */

    wire [7:0] tx_data_0;

    wire [7:0] tx_data_1;

    wire [7:0] tx_data_2;

    wire [7:0] tx_data_3;

    wire [7:0] tx_data_4;

    wire [7:0] tx_data_5;

    wire [7:0] tx_data_6;

    wire [7:0] tx_data_7;

    wire [7:0] tx_data_8;

    wire [7:0] tx_data_9;

    wire [7:0] tx_data_10;

    wire [7:0] tx_data_11;

    wire [7:0] tx_data_12;

    /* End: Tx data registers */


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 平阳县| 祥云县| 南和县| 莫力| 灵丘县| 黄平县| 永济市| 刚察县| 津市市| 内丘县| 崇州市| 革吉县| 秦安县| 兰坪| 嘉荫县| 兴化市| 塘沽区| 甘肃省| 阜南县| 额敏县| 江门市| 扬中市| 彭泽县| 怀化市| 治多县| 澜沧| 华宁县| 澜沧| 历史| 宣威市| 凤山市| 金堂县| 定远县| 鄂温| 柘荣县| 昭苏县| 两当县| 隆安县| 治多县| 常熟市| 边坝县|