²é¿´: 380  |  »Ø¸´: 0

zhangyuque

гæ (ÕýʽдÊÖ)

[ÇóÖú] verilogС°×ÇóÖú´óÉñ

ÀûÓÿéRAMʵÏÖa,bÁ½Â·Êý¾ÝÑÓ³Ù£¬abÁ½Â·µÄÊý¾Ýλ¿í¶¼ÊÇ32bit£¬ËÙÂʶ¼ÊÇ61.44Mb/s¡£ÒªÇóa·ÑÓʱ16 ¸öʱÖÓÖÜÆÚ£¬b·ÑÓʱ8¸öʱÖÓÖÜÆÚ£¬ÎªÊ²Ã´addrb1µÄ³õʼֵÊÇ32£¿Íû´óÉñ½â»ó!
module bram_delay(clk_122p88MHz,a,b,a_delay,b_delay);
  input clk_122p88MHz;
  input [31:0] a;
  input [31:0] b;
  output [31:0] a_delay;
  output [31:0] b_delay;

  reg [31:0] a_delay;
  reg [31:0] b_delay;
  wire[5:0] addra,addrb;
  wire[31:0] douta,doutb;
  reg[5:0] addra1=0;
  reg[5:0] addra2=0;
  reg[5:0] addrb1=32;
  reg[5:0] addrb2=32;
  reg wea=0;
  reg web=0;
  reg flag=0;

  always@(posedge clk_122p88MHz)
    begin
           flag<= !flag;
                  if(flag ==1'b1)               
                  begin                     
                    a_delay<=a_delay;
                         b_delay<=b_delay;      
                         wea<=1'b1;
                         web<=1'b1;
                         addra2<=addra2;
                         addrb2<=addrb2;
                         if(addra1==31)
                           addra1<=0;
                         else
                           addra1<=addra1+1'b1;
                         if(addrb1==63)
                           addrb1<=32;
                         else
                           addrb1<=addrb1+1'b1;
                  end
                 else
                   begin
                          wea<=1'b0;            
                          web<=1'b0;
                          a_delay<=douta;
                          b_delay<=doutb;
                          addra1<=addra1;
                          addrb1<=addrb1;
                          if(addra1<=15)        //¿ØÖÆA·ÑÓ³ÙµÄʱ¼ä
                            addra2<=addra1+16;  
                          else
                            addra2<=addra1-16;
                          if(addrb1<=39)       //¿ØÖÆB·ÑÓ³ÙµÄʱ¼ä
                            addrb2<=addrb1+8;//........................
                          else
                            addrb2<=addrb1-8;
                        end
         end
         assign addra=!flag?addra1:addra2;
         assign addrb=!flag?addrb1:addrb2;
         
         bram_16 bram_16 (
  .clka(clk_122p88MHz), // input clka
  .wea(wea), // input [0 : 0] wea
  .addra(addra), // input [3 : 0] addra
  .dina(a), // input [31 : 0] dina
  .douta(douta), // output [31 : 0] douta
  .clkb(clk_122p88MHz), // input clkb
  .web(web), // input [0 : 0] web
  .addrb(addrb), // input [3 : 0] addrb
  .dinb(b), // input [31 : 0] dinb
  .doutb(doutb) // output [31 : 0] doutb
);

endmodule
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ zhangyuque µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 292Çóµ÷¼Á +3 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-25 3/150 2026-03-25 07:45 by ms629
[¿¼ÑÐ] ÉϺ£µçÁ¦´óѧ²ÄÁÏ·À»¤ÓëвÄÁÏÖØµãʵÑéÊÒÕÐÊÕµ÷¼ÁÑо¿Éú£¨²ÄÁÏ¡¢»¯Ñ§¡¢µç»¯Ñ§£¬»·¾³£© +4 ÎÒ°®Ñ§µç³Ø 2026-03-23 4/200 2026-03-25 00:59 by 1027_324
[¿¼ÑÐ] ²ÄÁÏѧÇóµ÷¼Á +6 Stella_Yao 2026-03-20 6/300 2026-03-25 00:37 by baoball
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +6 Æ¥¿Ëi 2026-03-23 6/300 2026-03-24 21:09 by greychen00
[¿¼ÑÐ] 0854È˹¤ÖÇÄÜ·½ÏòÕÐÊÕµ÷¼Á +3 ÕÂСÓã567 2026-03-24 3/150 2026-03-24 19:46 by zhouxuan..
[¿¼ÑÐ] 0854 ¿¼Ñе÷¼Á ÕÐÉúÁË£¡AI ·½Ïò +5 pk3725069 2026-03-19 17/850 2026-03-24 17:30 by zhouxuan..
[¿¼ÑÐ] ×ÊÔ´Óë»·¾³ µ÷¼ÁÉêÇë(333·Ö) +7 holy J 2026-03-21 7/350 2026-03-24 17:24 by xiaohai104
[¿¼ÑÐ] 307Çóµ÷¼Á +3 ÓàÒâÇä 2026-03-21 6/300 2026-03-24 15:03 by ÓàÒâÇä
[¿¼ÑÐ] 277·ÖÇóµ÷¼Á£¬¿çµ÷²ÄÁÏ +3 ¿¼Ñе÷¼Álxh 2026-03-24 3/150 2026-03-24 13:52 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á +7 Ê®Èý¼ÓÓÍ 2026-03-21 7/350 2026-03-23 23:48 by ÈÈÇéɳĮ
[¿¼ÑÐ] 308Çóµ÷¼Á +3 īīĮ 2026-03-21 3/150 2026-03-22 16:54 by i_cooler
[¿¼ÑÐ] 289Çóµ÷¼Á +7 »³èªÎÕè¤l 2026-03-20 7/350 2026-03-22 15:57 by ColorlessPI
[¿¼ÑÐ] 298Çóµ÷¼ÁÒ»Ö¾Ô¸211 +3 Éϰ¶6666@ 2026-03-20 3/150 2026-03-22 15:50 by ColorlessPI
[¿¼ÑÐ] 318Çóµ÷¼Á +4 plumÀî×Ó 2026-03-21 7/350 2026-03-22 14:17 by ColorlessPI
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤£¨0856£©304ÇóBÇøµ÷¼Á +3 Çñgl 2026-03-20 7/350 2026-03-21 19:05 by 15709483992
[¿¼ÑÐ] ÄϾ©´óѧ»¯Ñ§376Çóµ÷¼Á +3 hisfailed 2026-03-19 6/300 2026-03-20 23:43 by hisfailed
[¿¼ÑÐ] Ò»Ö¾Ô¸Î人Àí¹¤²ÄÁϹ¤³Ìר˶µ÷¼Á +9 Doleres 2026-03-19 9/450 2026-03-20 22:36 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸ËÕÖÝ´óѧ²ÄÁÏÇóµ÷¼Á£¬×Ü·Ö315£¨Ó¢Ò»£© +5 sbdksD 2026-03-19 5/250 2026-03-20 22:10 by luoyongfeng
[¿¼ÑÐ] ÕÐÊÕµ÷¼Á˶ʿ +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[¿¼ÑÐ] 085600²ÄÁÏÓ뻯¹¤µ÷¼Á 324·Ö +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û