音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

一個(gè)很沒有道理的程序Verilog,10K10 EAB的異步讀寫,附圖和Code!

作者:wag 欄目:EDA技術(shù)
一個(gè)很沒有道理的程序Verilog,10K10 EAB的異步讀寫,附圖和Code!
    程序說明,以下是我寫的EAB讀寫完整的程序,程序的確很亂,不過通過了仿真,可是很多東西我自己都不明白為什么,如果哪位DX有時(shí)間可以仿真看看。
    以下是不明白的地方:
    這里我有兩個(gè)問題想先請教:
      問題1:
      為什么可以初始化addr而不能初始化data(最后的default分支也一樣)
                8'h00 :
             begin
                    we=1;
                    addr=0;
                    //data=0;
             end
       問題2:
       假如我把下面的分支從case分支中刪除,仿真結(jié)果也不一樣,我就不知道為什么,我看了verilog的語法是否這樣是沒有問題的,那究竟為什么呢?
                 8'h09:
             begin
                    d3=bus_data;
             end
//==========================================================================    
MODULE a (wr,bus422,bus_addr,bus_data,q,a1,a2,a3,led,d1,d2,d3);

    input           wr;
    input   [5:0]   bus422;
    input   [7:0]   bus_addr;
    OUTPUT  [15:0]  q;
    OUTPUT  [7:0]   a1,a2,a3;
    OUTPUT          led;
    OUTPUT  [7:0]   d1,d2,d3;
      
    input   [7:0]   bus_data;
   
    reg     [7:0]   TEMP;  
    reg     [15:0]  data;
    wire    [5:0]   address;
    reg     [5:0]   addr;
    reg             we;
    reg     [7:0]   a1,a2,a3;
    reg     [7:0]   d1,d2,d3;
    reg             led;
    reg             ab;

    assign address=we?addr:bus422;   //讀出

    lpm_ram_dq    lpm_ram_dq_component (.address (address),.data (data),.we (we),.q (q));
    defparam
        lpm_ram_dq_component.lpm_width = 16,
        lpm_ram_dq_component.lpm_widthad = 6,
        lpm_ram_dq_component.lpm_indata = "UNREGISTERED",
        lpm_ram_dq_component.lpm_address_control = "UNREGISTERED",
        lpm_ram_dq_component.lpm_outdata = "UNREGISTERED",
        lpm_ram_dq_component.lpm_hint = "USE_EAB=ON";

    always @(posedge wr)    //寫入
     begin
       case (bus_addr)
              8'h00 :
              begin
                     we<=1;
                     addr<=0;
                     //data<=0;
              end
              8'h01:
              begin
                     led<=~led;
              end
              8'h02 :
              begin   
                     TEMP<=bus_data;
                     addr<=addr+1;
              end
              8'h03 :
              begin
                     data<={bus_data,TEMP}; //從單元1開始
              end
              
              8'h04:
              begin
                     a1<=bus_data;ab=0;
              end
              8'h05:
              begin
                     a2<=bus_data;ab=1;
              end
              8'h06:
              begin
        
2樓: >>參與討論
wag
??
    我在ALTERA網(wǎng)站下載的FLEX 10K DATASHEET上只有沒有使用輸入寄存器的異步EAB讀寫,那么有寄存器輸入的EAB讀寫的時(shí)序圖呢?

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
求教
64位MIPS CPU設(shè)計(jì)
10K10 內(nèi)部EAB異步讀寫之痛苦篇!附圖片,知道的指點(diǎn)指點(diǎn)謝謝!
請問32位寬EMIF數(shù)據(jù)總線同雙口的36位寬數(shù)據(jù)總線怎么連接?
請問關(guān)于MOV @DPTR,A一條寫外部RAM的指令,F(xiàn)PGA的EAB?
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號