亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? maxii_atoms.v

?? BJ-EPM240V2實驗例程以及說明文檔實驗之十四MAX II的UFM模塊使用實例
?? V
?? 第 1 頁 / 共 4 頁
字號:
    buf (isload, sload);
    buf (iena, ena);
       
    buf (idatac, datac);
    buf (iregcascin, regcascin);
    buf (idatain, datain);
   
    assign reset = devpor && devclrn && (!iaclr) && (iena);
    assign nosload = reset && (!isload);
   
    specify
        $setuphold (posedge clk &&& reset, regcascin, 0, 0, regcascin_viol) ;
        $setuphold (posedge clk &&& nosload, datain, 0, 0, datain_viol) ;
        $setuphold (posedge clk &&& reset, datac, 0, 0, datac_viol) ;
        $setuphold (posedge clk &&& reset, sclr, 0, 0, sclr_viol) ;
        $setuphold (posedge clk &&& reset, sload, 0, 0, sload_viol) ;
        $setuphold (posedge clk &&& reset, ena, 0, 0, ena_viol) ;
        
        (posedge clk => (regout +: iregout)) = 0 ;
        (posedge aclr => (regout +: 1'b0)) = (0, 0) ;
        (posedge aload => (regout +: iregout)) = (0, 0) ;
        (datac => regout) = (0, 0) ;
        (posedge clk => (qfbkout +: iregout)) = 0 ;
        (posedge aclr => (qfbkout +: 1'b0)) = (0, 0) ;
        (posedge aload => (qfbkout +: iregout)) = (0, 0) ;
        (datac => qfbkout) = (0, 0) ;
    
    endspecify
   
    initial
    begin
        violation = 0;
        clk_last_value = 'b0;
        if (power_up == "low")
        begin
            iregout <= 'b0;
            ipower_up = 0;
        end
        else if (power_up == "high")
        begin
            iregout <= 'b1;
            ipower_up = 1;
        end

        if (register_cascade_mode == "on")
            icascade_mode = 1;
        else
            icascade_mode = 0;

        if (synch_mode == "on" )
            isynch_mode = 1;
        else
            isynch_mode = 0;

        if (x_on_violation == "on")
            ix_on_violation = 1;
        else
            ix_on_violation = 0;
    end
   
    always @ (regcascin_viol or datain_viol or datac_viol or sclr_viol 
              or sload_viol or ena_viol or clk_per_viol)
    begin
        if (ix_on_violation == 1)
            violation = 1;
    end
   
    always @ (clk_in or idatac or iaclr or posedge iaload 
              or devclrn or devpor or posedge violation)
    begin
        if (violation == 1'b1)
        begin
            violation = 0;
            iregout <= 'bx;
        end
        else
        begin
            if (devpor == 'b0)
            begin
                if (ipower_up == 0) // "low"
                    iregout <= 'b0;
                else if (ipower_up == 1) // "high"
                    iregout <= 'b1;
            end
            else if (devclrn == 'b0)
                iregout <= 'b0;
            else if (iaclr === 'b1) 
                iregout <= 'b0 ;
            else if (iaload === 'b1) 
                iregout <= idatac;
            else if (iena === 'b1 && clk_in === 'b1 && 
                     clk_last_value === 'b0)
            begin
                if (isynch_mode == 1)
                begin
                    if (isclr === 'b1)
                        iregout <= 'b0 ;
                    else if (isload === 'b1)
                        iregout <= idatac;
                    else if (icascade_mode == 1)
                        iregout <= iregcascin;
                    else
                        iregout <= idatain;
                end
                else if (icascade_mode == 1)
                    iregout <= iregcascin;
                else 
                    iregout <= idatain;
            end
        end
        clk_last_value = clk_in;
    end
       
    and (regout, iregout, 1'b1);
    and (qfbkout, iregout, 1'b1);
   
endmodule

///////////////////////////////////////////////////////////////////////
//
// Module Name : maxii_lcell
//
// Description : Verilog simulation model for MAXII Lcell, including
//               the following sub module(s):
//               1. maxii_asynch_lcell
//               2. maxii_lcell_register
//
///////////////////////////////////////////////////////////////////////

`timescale 1 ps/1 ps

module maxii_lcell (
                      clk, 
                      dataa, 
                      datab, 
                      datac, 
                      datad, 
                      aclr, 
                      aload, 
                      sclr,
                      sload,
                      ena,
                      cin,
                      cin0,
                      cin1,
                      inverta,
                      regcascin,
                      devclrn,
                      devpor,
                      combout,
                      regout,
                      cout, 
                      cout0,
                      cout1
                     );

    parameter operation_mode = "normal" ;
    parameter synch_mode = "off";
    parameter register_cascade_mode = "off";
    parameter sum_lutc_input = "datac";
    parameter lut_mask = "ffff" ;
    parameter power_up = "low";
    parameter cin_used = "false";
    parameter cin0_used = "false";
    parameter cin1_used = "false";
    parameter output_mode = "reg_and_comb";
    parameter lpm_type = "maxii_lcell";
    parameter x_on_violation = "on";
       
    // INPUT PORTS
    input dataa;
    input datab;
    input datac;
    input datad;
    input clk; 
    input aclr; 
    input aload; 
    input sclr; 
    input sload; 
    input ena; 
    input cin;
    input cin0;
    input cin1;
    input inverta;
    input regcascin;
    input devclrn;
    input devpor ;
    
    // OUTPUT PORTS
    output combout;
    output regout;
    output cout;
    output cout0;
    output cout1;
    
    tri1 devclrn;
    tri1 devpor;

    
    // INTERNAL VARIABLES
    wire dffin, qfbkin;
   
    maxii_asynch_lcell lecomb (
                                 .dataa(dataa),
                                 .datab(datab), 
                                 .datac(datac),
                                 .datad(datad),
                                 .cin(cin),
                                 .cin0(cin0),
                                 .cin1(cin1), 
                                 .inverta(inverta),
                                 .qfbkin(qfbkin),
                                 .regin(dffin),
                                 .combout(combout),
                                 .cout(cout),
                                 .cout0(cout0),
                                 .cout1(cout1)
                                );
        defparam lecomb.operation_mode = operation_mode;
        defparam lecomb.sum_lutc_input = sum_lutc_input;
        defparam lecomb.cin_used = cin_used;
        defparam lecomb.cin0_used = cin0_used;
        defparam lecomb.cin1_used = cin1_used;
        defparam lecomb.lut_mask = lut_mask;
       
    maxii_lcell_register lereg (
                                  .clk(clk),
                                  .aclr(aclr),
                                  .aload(aload),
                                  .sclr(sclr),
                                  .sload(sload),
                                  .ena(ena), 
                                  .datain(dffin), 
                                  .datac(datac),
                                  .regcascin(regcascin),
                                  .devclrn(devclrn),
                                  .devpor(devpor), 
                                  .regout(regout),
                                  .qfbkout(qfbkin)
                                 );
        defparam lereg.synch_mode = synch_mode;
        defparam lereg.register_cascade_mode = register_cascade_mode;
        defparam lereg.power_up = power_up;
        defparam lereg.x_on_violation = x_on_violation;
   
endmodule


///////////////////////////////////////////////////////////////////////////////
//
//                  MAXII UFM ATOM
//
//
///////////////////////////////////////////////////////////////////////////////

`timescale 1 ps/1 ps

// MODULE DECLARATION
module maxii_ufm (program, erase, oscena, arclk, arshft, ardin, drclk,
                  drshft, drdin, sbdin, devclrn, devpor, ctrl_bgpbusy, busy,
                  osc, drdout, sbdout, bgpbusy);

// PARAMETER DECLARATION
    parameter address_width = 9;
    parameter init_file = "none";
    parameter lpm_type = "maxii_ufm";
    parameter mem1 = {512{1'b1}};
    parameter mem2 = {512{1'b1}};
    parameter mem3 = {512{1'b1}};
    parameter mem4 = {512{1'b1}};
    parameter mem5 = {512{1'b1}};
    parameter mem6 = {512{1'b1}};
    parameter mem7 = {512{1'b1}};
    parameter mem8 = {512{1'b1}};
    parameter mem9 = {512{1'b1}};
    parameter mem10 = {512{1'b1}};
    parameter mem11 = {512{1'b1}};
    parameter mem12 = {512{1'b1}};
    parameter mem13 = {512{1'b1}};
    parameter mem14 = {512{1'b1}};
    parameter mem15 = {512{1'b1}};
    parameter mem16 = {512{1'b1}};
    parameter osc_sim_setting = 180000; // default osc frequency to 5.56MHz
    parameter program_time = 1600000; // default program time is 1600ns
    parameter erase_time = 500000000; // default erase time is 500us

    //constant
    parameter widthdata = 16; // fixed data width of 16
    parameter widthadd = 9;   // fixed address width of 9
    parameter sector0_range = 1<<(address_width-1);

    // Timing delay pulse
    parameter TOSCMN_PW = (osc_sim_setting != 0 ) ? (osc_sim_setting / 2) : 90000;    // Pulse width of Minimum Oscillator
                                     //  Frequency
    parameter TPPMX  = (program_time != 0) ? program_time : 1600000;  // Maximum Length of Busy Pulse During a
                                                                     //  Program, default is 1600ns
    parameter TEPMX  = (erase_time != 0) ? (erase_time/1000) : 500000000;   // Maximum Length of Busy Pulse During an
                                                                        //  Erase, default is 500 ms; current
                                                                        //  constant is 500 us; need to multiply
                                                                        //  1000 to get correct value of 500 ms.

// INPUT PORT DECLARATION
    input program;
    input erase;
    input oscena;
    input arclk;
    input arshft;
    input ardin;
    input drclk;
    input drshft;
    input drdin;
    input sbdin;
    input devclrn;         // simulation only port; simulate device-level clear
    input devpor;          // simulation only port; simulate power-up-reset
    input ctrl_bgpbusy;    // simulation only port; used to control and emulate
                           //  the output behaviour of bgpbusy

// OUTPUT PORT DECLARATION
    output busy;
    output osc;
    output drdout;
    output sbdout;
    output bgpbusy;

// INTERNAL SIGNAL/REGISTER DECLARATION
    // for memory initialization
    reg [(widthdata * (1 << (widthadd - 1)) - 1):0] ufm_initf_sec0;
    reg [(widthdata * (1 << (widthadd - 1)) - 1):0] ufm_initf_sec1;
    reg [(widthdata-1):0] init_word0; // current init word for sector0
    reg [(widthdata-1):0] init_word1; // current init word for sector1
    // for simulation
    reg [(widthdata-1):0] ufm_storage [0:(1<<address_width)-1]; // ufm sector0
                                                                // and sector1
    reg [address_width-1:0] addr_reg;    // internal address register
    reg [address_width-1:0] address_now; // Latest address value
    reg [(widthdata-1):0]  data_reg;     // internal data register
    reg [(widthdata-1):0] data_now;      // Latest data value in register
    reg [(widthdata-1):0] storage_output; // data output from user flash storage
    reg osc_str;                       // store the value of the oscillator
    reg program_pulse;                 // indicate program cycle is running
    reg erase_pulse;                   // indicate erase cycle is running
    reg first_warning;                 // warn the user once about oscillator range
    reg program_reg;                   // program signal must be registered by rising osc edge
    reg erase_reg;                     // erase signal must be registered by rising osc edge

// INTERNAL WIRE DECLARATION
    wire [address_width-1:0] address_tmp;
    wire [(widthdata-1):0] new_read_data;
    wire [(widthdata-1):0] data_tmp;
    wire sys_busy;
    wire gated_arclk;
    wire gated_drclk;
    wire data_reg_msb;
    wire int_osc;                       // internal oscillator

// INTERNAL TRI DECLARATION
    tri0 erase;
    tri0 program;
    tri0 ctrl_bgpbusy;
    tri0 sbdin;
    tri0 drdin;

// Buffer Declaration
    wire i_program;
    wire i_erase;
    wire i_oscena;
    wire i_arclk;
    wire i_arshft;
    wire i_ardin;
    wire i_drclk;
    wire i_drshft;
    wire i_drdin;
    wire i_sbdin;

    buf (i_program, program);
    buf (i_erase, erase);
    buf (i_oscena, oscena);
    buf (i_arclk, arclk);
    buf (i_arshft, arshft);
    buf (i_ardin, ardin);
    buf (i_drclk, drclk);
    buf (i_drshft, drshft);
    buf (i_drdin, drdin);
    buf (i_sbdin, sbdin);

// LOCAL INTEGER DECLARATION
    integer i, j, k, l, n;        // looping index
    integer mem_cnt, bit_cnt;  // looping index
    integer numwords;          // number of UFM words

// DELAY SPECIFICATION

    specify
        (sbdin => sbdout) = (0, 0);

        $setup (arshft, posedge arclk, 0);
        $setup (ardin, posedge arclk, 0);
        $setup (drshft, posedge drclk, 0);
        $setup (drdin, posedge drclk, 0);
        $setup (oscena, posedge program, 0);
        $setup (oscena, posedge erase, 0);

        $hold (posedge arclk, arshft, 0);
        $hold (posedge arclk, ardin, 0);
        $hold (posedge drclk, drshft, 0);
        $hold (posedge drclk, drdin, 0);
        $hold (posedge drclk, program, 0);
        $hold (posedge arclk, erase, 0);
        $hold (negedge busy, program, 0);
        $hold (negedge busy, erase, 0);
        $hold (negedge program, oscena, 0);
        $hold (negedge erase, oscena, 0);

        (posedge program => (busy +: 1'b1)) = (0, 0) ;
        (posedge erase => (busy +: 1'b1)) = (0, 0) ;
        (posedge drclk => (drdout +: data_reg_msb)) = 0;
        (posedge oscena => (osc +: 1'b1)) = (0, 0);

    endspecify

// INITIAL CONSTRUCT BLOCK
    initial
    begin
`ifdef QUARTUS_MEMORY_PLI
		$memory_connect(ufm_storage);
`endif

        first_warning <= 1;

        // Check for invalid parameters
        if (address_width != widthadd)
        begin
            $display("Error! address_width parameter must be equal to %d.", widthadd);
        end
        if (widthdata != 16)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品羞羞答答xxdd| 在线精品国精品国产尤物884a | 久久综合国产精品| 亚洲欧洲一区二区在线播放| 日欧美一区二区| 欧洲精品在线观看| 国产精品国产自产拍在线| 日本欧美一区二区| 在线国产电影不卡| 国产精品久久二区二区| 久久成人羞羞网站| 欧美电影影音先锋| 亚洲综合色在线| voyeur盗摄精品| 久久久久久久免费视频了| 蜜桃一区二区三区在线| 欧美日韩精品一区二区三区| 亚洲视频在线观看三级| 成人视屏免费看| 国产日韩精品一区二区三区| 蜜桃一区二区三区在线| 91麻豆精品国产91久久久久| 亚洲制服丝袜一区| 91国偷自产一区二区使用方法| 久久久综合精品| 国产大陆亚洲精品国产| 久久久午夜精品理论片中文字幕| 久久91精品国产91久久小草| 欧美一级欧美一级在线播放| 蜜臀av亚洲一区中文字幕| 制服丝袜亚洲精品中文字幕| 日本91福利区| 日韩一区二区在线看片| 麻豆91免费看| 精品成人佐山爱一区二区| 激情深爱一区二区| 久久婷婷成人综合色| 成人性生交大片免费看在线播放| 久久精品在这里| 成人午夜免费av| 亚洲精品久久久久久国产精华液| 在线欧美小视频| 日日夜夜免费精品| 欧美成人三级在线| 国产美女在线精品| 国产精品久久看| 欧美午夜电影网| 免费成人av资源网| 欧美国产精品一区二区| 94色蜜桃网一区二区三区| 亚洲一区精品在线| 日韩亚洲欧美成人一区| 国产在线国偷精品产拍免费yy| 国产欧美一区二区精品性色 | 国内成人精品2018免费看| 久久久久国产免费免费| 波多野洁衣一区| 亚洲成人激情av| 久久久久99精品一区| 91浏览器入口在线观看| 日韩制服丝袜先锋影音| 中文字幕高清不卡| 欧美日韩黄视频| 国产成人在线观看| 一区二区视频免费在线观看| 欧美成人a在线| www.欧美色图| 久久精品国产一区二区| 亚洲天堂a在线| 日韩精品一区二区三区中文不卡| av不卡免费电影| 捆绑紧缚一区二区三区视频| 亚洲日本电影在线| 欧美videos中文字幕| 一本色道久久综合亚洲91| 久久成人免费日本黄色| 亚洲免费看黄网站| 久久久久久夜精品精品免费| 欧美揉bbbbb揉bbbbb| 国产99久久久国产精品潘金| 五月天一区二区| 亚洲欧美日韩中文字幕一区二区三区| 日韩一区二区视频在线观看| 色综合久久中文字幕| 国产九色精品成人porny | 亚洲精品ww久久久久久p站| 精品国内片67194| 在线免费观看日韩欧美| 国产91丝袜在线播放九色| 看片的网站亚洲| 天堂成人国产精品一区| 亚洲欧美激情一区二区| 中文字幕精品一区二区精品绿巨人| 欧美男生操女生| 精品视频一区二区三区免费| 91香蕉视频黄| 97久久精品人人做人人爽50路| 国产一区二区0| 国产一区不卡在线| 国内精品第一页| 精品一区二区三区蜜桃| 三级在线观看一区二区| 亚洲电影你懂得| 亚洲一二三四区| 亚洲影院理伦片| 亚洲444eee在线观看| 亚洲一区中文在线| 亚洲va国产va欧美va观看| 亚洲成人777| 日本美女视频一区二区| 日韩专区在线视频| 日本vs亚洲vs韩国一区三区二区| 日韩精品电影一区亚洲| 午夜欧美在线一二页| 亚洲成人精品在线观看| 亚洲h动漫在线| 日精品一区二区| 麻豆91精品视频| 国产精品亚洲一区二区三区在线| 黑人精品欧美一区二区蜜桃| 国产一区福利在线| 成人a级免费电影| 91在线观看成人| 欧美日韩一区二区三区不卡| 欧美日韩国产美女| 欧美哺乳videos| 久久九九99视频| 亚洲精品菠萝久久久久久久| 亚洲国产精品久久人人爱蜜臀| 日韩经典中文字幕一区| 久久国产麻豆精品| 福利视频网站一区二区三区| 99久久综合色| 欧美日韩午夜影院| 精品国产一区二区三区久久久蜜月 | 99国产欧美久久久精品| 91国偷自产一区二区三区成为亚洲经典| 欧美伊人久久久久久午夜久久久久| 欧美日韩在线直播| 欧美大胆一级视频| 欧美极品少妇xxxxⅹ高跟鞋| 一区二区三区成人| 麻豆国产一区二区| 成人美女在线视频| 3atv在线一区二区三区| 久久久精品国产99久久精品芒果 | 久久香蕉国产线看观看99| 国产精品久久久久久久久晋中| 亚洲香肠在线观看| 国产乱码精品一品二品| 在线影院国内精品| 久久亚洲二区三区| 亚洲午夜视频在线观看| 国产美女一区二区三区| 色综合久久久久综合体| 精品999在线播放| 一区二区三区小说| 国产精品一区二区免费不卡 | 亚洲国产高清在线观看视频| 亚洲18女电影在线观看| 成人免费看片app下载| 欧美日韩不卡一区二区| 国产精品电影一区二区三区| 日韩av高清在线观看| 91免费国产在线观看| 久久久久久久综合狠狠综合| 亚洲一级不卡视频| 99在线精品视频| 精品奇米国产一区二区三区| 亚洲五码中文字幕| 91丨国产丨九色丨pron| 欧美精品一区二区久久婷婷| 一区二区久久久久久| 成人少妇影院yyyy| 欧美videossexotv100| 亚洲成人精品一区二区| 色综合欧美在线| 国产精品国产三级国产aⅴ原创| 国产在线不卡视频| 制服丝袜亚洲精品中文字幕| 亚洲无人区一区| 欧美中文字幕一二三区视频| 亚洲国产精品传媒在线观看| 毛片基地黄久久久久久天堂| 欧美性高清videossexo| 亚洲激情六月丁香| 99re这里只有精品视频首页| 国产精品久久福利| 成人毛片在线观看| 中文字幕高清不卡| 成人午夜电影久久影院| 中文字幕av一区二区三区高| 国产精品一区二区黑丝| 久久综合五月天婷婷伊人| 久久成人av少妇免费| 日韩精品一区二区三区四区视频| 人人爽香蕉精品| 日韩精品一区国产麻豆| 久久99精品一区二区三区| 欧美成人一区二区三区在线观看|