MIG葡京网上娱乐场 IP控制DDR3读写测试

  本文设计思想拔取明德扬至简设计法。在快捷信号处理场地下,很短期内就要缓存大量的数额,这时片内存储资源已经远远不够了。DDR
SDRAM因其极高的性价比几乎是每一款中高档FPGA开发板的首选外部存储芯片。DDR操作时序分外复杂,之所以在FPGA开发中用途如此广泛,都要得意于MIG
IP核。网上有关MIG控制DDR的素材很多,由此本文只讲述个人觉得较首要的情节。由于MIG
IP核用户接口时序较复杂,这里给出扩张接口模块用于进一步简化接口时序。

五天的绍兴践学之行,一个问题一贯雾绕在心,终于在巨大和先行者们的体面中逐年地破开了迷障。

  大家从IP核配置初始说起。Controller
Options这页最为重大,其中包括时钟策略和表面DDR芯片参数配置。首先时钟周期接纳为400MHz,此时PHY
to Controller Clock
Ratio只好是4:1,也就是说MIG用户侧时钟为100MHz。下半部分是选项适用的DDR芯片型号和参数,要反复肯定无误。

共产党人是谁?至少是,应该是一个纯粹的人!

葡京网上娱乐场 1

一个纯粹的人,是用毕生去信仰的人。

   Memory
Options那页输入时钟周期选拔为200MHz,依照Controller
Options页的选项,该时钟经过PLL分频和倍频后的钟表分别作为用户侧时钟100MHz和DDR接口时钟100MHz。

方志敏烈士铜像

葡京网上娱乐场 2

1924年二月,方志敏同志在温尼伯进入了中共。他新生写道:“这是我生命史上一件最可回忆的事!……从此,我的全部,直至我的生命都付出党去了!”

   这里有个参考时钟选项,如若Memory
Options页PLL输入时钟频率选为200MHz,此处能够直接采取Use System
Clock,从而简化接口。

肃立方志敏墓前,重温入党誓言之际,我深入地感觉到,他是这般想、这样写,也是这么去做的,而且是用一生去信仰,用毕生去践行,至死不渝,虽死无悔!

葡京网上娱乐场 3

对党的事业,方志敏殚精竭虑,是上马能领军打仗、下马能治民理政的帅才。她统领起义农民百折不挠游击战争,进行土地革命,建立肉色政权,组建了中国工农红军第10军,创造了赣东北革命遵照地,领导军民举行了艰辛的反“围剿”斗争。

   以上是MIG
IP核配置过程中相比首要的有些,实际上上述配置也可透过修改工程代码中参数来重定义。IP核配置完成,打开example
design工程顶层文件,我们来第一关注下用户侧接口效率和时序。

他以无产阶级战略家、战略家的胆量与才干,运筹帷幄,把环境恶劣、紧缺外援的闽浙赣苏区建设成“苏维埃模范省”,所倡导的苏维埃的五种饱满(民主精神、创制精神、进步精神、勤苦精神、自我批评精神)成为苏区的榜样。1931年一月,中华苏维埃第一次全国代表大会决定,授予方志敏同志先进勋章一枚,并授红10军全勤官兵奖旗一面。这是什么的雅观,是党对方志敏至高的自然!

葡京网上娱乐场 4

对党的决定,方志敏坚决彻底,是顺从服务大局、甘为全军先遣的英雄。在解放军建设中,他既强调作育和录取本地干部,也注重培训和录取“空降”干部;在反“围剿”斗争中,他出任,积极扶持和配合其他革命依据地的奋斗;在主力红军扩军工作中,他不说二话,同意调走地面部队,重新组建和发展新的军旅。

  这是自身写的注释,更实际清晰的辨证或者要查看官方文档UG586.接下来看看写多少和读数据的接口时序图(时钟比例4:1,burst
length = 8为例):

1934年3月,新红10军与以老红10军为底子的红7军团等部组成的北上抗日先遣队合编成红10军团近万人,方志敏同志任军政委员会主席,主题的天职就是持续号称“红军北上抗日先遣队”举行东征,在皖浙边界开辟新的苏区,实为混淆视听,牵制调兵国民党军以珍重中心主力红军之用。

  指令通道:

在国民党十几万雄师的围追堵截下,先遣队寡不敌众,方志敏在包围中奋战脱险,但为接应后续部队又突入重围,于1935年2月作战中被捕。这是什么样的大局,是党对方志敏最大的亲信!

葡京网上娱乐场 5

图表源于网络

  写数据:

对党的利益,方志敏克己奉公,是服从革命气节、誓将革命到底的斗士。他写下的“清贫,洁白朴素的活着,正是革命者可以战胜许多困难的地点”,就是他忠实生活的写照。虽为党的最紧要官员干部,方志敏与常常工作人士一样,过着极为清贫的生活。搜查他的仇敌惊讶地发现,作为红军的大头目,方主席身上除了一支钢笔和一块旧表,竟然什么值钱的东西都未曾。方志敏就义之后,同志们也仍然找不出一帧他与太太或孩子的合影。

葡京网上娱乐场 6

方志敏同志是这般写的,“为着阶级和中华民族的解放,为着党的事业的成功,我毫不希罕这华丽的高楼,却宁愿居住在卑陋潮湿的草屋;不希罕美味的西餐大菜,宁愿吞嚼刺口的苞粟和菜根;不希罕舒服柔软的钢丝床,宁愿睡在猪栏狗窠似的住所……我能吐弃一切,不过不可以丢弃党,放任阶级,抛弃革命事业。”这是怎么样的丰采,是方志敏对党最深沉的爱!

 

对党的命宫,方志敏忧心忡忡,是一身浩然正气、为党忠心耿耿的先烈。在狱中,他想得最多的是要趁早把革命斗争中的经验教训、狱中斗争情形和投机的指出意见报告给党协会。他把监狱当战场,用笔墨作钢枪,向党汇报自己的合计,向老百姓宣传自己的信教。在牺牲前的100两个日夜里,方志敏夜以继日,奋笔疾书,用生命与忠诚写下了《我从事革命斗争的略述》《可爱的华夏》《狱中纪实》和《清贫》等不朽的巨章。

  从时序图可以见见,指令地址和数量采纳两套时序,互相互相独立。为了便利设计,直接将两套时序严厉对齐(意况1)也可以健康工作。

习近平同志曾深情地说:“我频繁读方志敏烈士在狱中写下的《清贫》。这里面表达了前辈共产党人的爱和憎,回答了怎么着是实在的穷和富,什么是人生最大的赏心悦目,什么是革命者的巨大信仰,人究竟什么样活着才有价值,每一回读都遭逢启迪、受到教育、受到刺激。”这是怎么的高风亮节,是方志敏对党最珍爱的财富!

  读数据:

1935年二月6日,方志敏同志在兰州见义勇为阵亡,时年36岁。面对仇敌的屠刀,他大义凛然,“敌人只可以拿下大家的脑袋,决不可能动摇大家的笃信!因为我们信仰的学说,乃是宇宙的真谛!为着共产主义牺牲,为着苏维埃流血,这是大家丰裕宁愿的哎!”方志敏的一生一世是短跑的。可是,他的归依永放光芒,他的业绩永垂青史!

葡京网上娱乐场 7

走向纯粹的人会有为数不少例外的道路,但主旨的就是“信仰”。无论是基于道德的信奉如梁启超、章太炎、陈寅格、钱穆、季羡林等国学大师,仍然佛教、天主教、基督教、伊斯兰教等教徒信众基于宗教的信教,还有最最纯粹的遵照真理的归依,就如方志敏等革命先烈对共产主义的归依。

 

一个能用一生去信仰,去践行所信的人,才会不忘初心,不惑当下,不畏以后,才会是一个彻头彻尾的人。

  为何说“时钟比例4:1,burst length =
8为例”?这一点专门首要。此时用户时钟周期是DDR接口时钟周期的4倍,也就是一个用户时钟信号上升沿对应8个DDR时钟边沿。burst
length可以知晓为MIG连续操作DDR地址的个数,故在4:1时钟比例下,一个用户时钟周期正好对8个地方举行了读/写操作,256bit数据分8次(32bit)写入DDR中。由此分析,在写多少时让app_wdf_end
= app_wdf_wren即可,并且读/写操作时地址递增步长为8.

一个纯粹的人,是免疫了猥琐欲望的人。

葡京网上娱乐场 8

图表来自网络

  即便MIG
IP核提供了用户接口,但读写指令通道复用且需要实时关注五个rdy信号造成了时序操作上的不便于。为此大家需要对接口进一步封装,保证写操作时只关注:写使能user_wdata_en
写地址user_waddr
写数据user_wdata和写准备妥当信号user_wdata_rdy,读操作时只关注:读使能user_rdata_en
读地址user_raddr 读数据user_rdata
读数据有效user_rdata_vld和读操作准备就绪user_rdata_rdy。

站在八一潍坊起义记念馆里周恩来同志年轻帅气的照片前,总理的百年不觉体现在脑际。

  利用增添接口模块,将读通道和写通道接口分离,并分别例化一个FIFO缓存地址和数量。当读/写指令同时有效时,通过MIG侧的先期级轮换逻辑轮流读取其中一个FIFO,每一次选一个FIFO读取直至FIFO为空再重新采纳。其工程结构和主旨代码如下:

他毕生军事起家,大革命时期26岁的黄埔军校政治部官员并牵头建立党平昔首席执行官的变革武装“叶挺独立团”,27岁领导国民革命军两遍东征统一黑龙江全境,28岁任中共中心军委书记,29岁领导打响武装反抗国民党反动派第一枪的福州起义,第一次国共内战出席了中心苏区历次反围剿战争并指挥长征,作为人民军队的创造者,建国后出任中国人民革命军事委员会副主席,却未封上校。

葡京网上娱乐场 9  读侧逻辑焦点代码:

她平生甘为辅相,平素稳居中共最高领导层,无论谁坐大都有一席之地,无论毛泽东处于何种程度始终给予最强大的支撑,却尚未陷入权力的斗争。

 1 //读侧--------------------------------------------------------------
 2 
 3 always @(posedge clk or negedge rst_n )begin 
 4     if(rst_n==0) begin
 5         rd_flag <= (0)  ;
 6     end
 7     else if(rd_flag == 0 && mig_rdy && mig_wdf_rdy && !rdempty1 && (rdempty0 || (!rdempty0 && priority == 0)))begin
 8         rd_flag <= (2'b01)  ;//读取 写指令FIFO
 9     end 
10     else if(rd_flag == 0 && mig_rdy && !rdempty0 && (rdempty1 || (!rdempty1 && priority == 1)))begin
11         rd_flag <= (2'b10)  ;//读取 读指令FIFO
12     end 
13     else if((rd_flag == 2'b01 && rdempty1)||(rd_flag == 2'b10 && rdempty0))
14         rd_flag <= 0;
15 end
16 
17 //同时非空时轮换优先级
18 always @(posedge clk or negedge rst_n )begin 
19     if(rst_n==0) begin
20         priority <= (0)  ;
21     end
22     else if(rd_flag == 0 && !rdempty0 && !rdempty1)begin
23         priority <= (!priority)  ;
24     end 
25 end

她平生倾心婚姻,年轻有为的资深民国美男子,却唯为革命采用配偶,而且终生只有一位妻子。

  为了方便测试,设计样式生成模块与恢弘接口模块用户侧接连,不断向一段地址写入一定数据系列并在一段时间后读回。

她终生执意为烈士留后,战争年代千方百计搜寻遗孤接送安全地点抚养,自己却膝下无子。

  1 `timescale 1ns / 1ps
  2 /*
  3 该模块功能:
  4 周期性向一段地址执行读写操作 产生固定样式待写入数据用户测试目的
  5 测试完毕后删除该模块,开发用户接口
  6 
  7 具体为:
  8 1 写从0开始之后的10个用户地址(80个DDR地址):0~9递增序列
  9 2 等待20个时钟周期
 10 3 读取写入的10个用户地址
 11 4 等待20个时钟周期
 12 5 重复上述步骤
 13 
 14 说明:
 15 1 每个步骤之间有一个时钟周期空闲
 16 2 由于burst_len = 8 4:1时钟模式下一个用户时钟周期写入数据对应同样时间内8个DDR时钟边沿写入数据,
 17 因此地址递增步长为8
 18 */
 19 module traffic_gen
 20 #(parameter DATA_WIDTH = 32,
 21             ADDR_WIDTH = 29)
 22 (
 23     input                           clk   ,
 24     input                           rst_n ,
 25 
 26     output reg                      gen_wdata_en ,
 27     output reg [ ADDR_WIDTH-1:0]    gen_waddr    ,
 28     output reg [ DATA_WIDTH-1:0]    gen_wdata ,
 29     input                           gen_wdata_rdy ,//写指令和数据通道准备就绪
 30 
 31     output reg                      gen_rdata_en ,
 32     output reg [ ADDR_WIDTH-1:0]    gen_raddr    ,
 33     input      [ DATA_WIDTH-1:0]    gen_rdata     ,
 34     input                           gen_rdata_vld ,
 35     input                           gen_rdata_rdy //读指令通道准备就绪
 36 );
 37 
 38    
 39 reg [ (8-1):0]  cnt0     ;
 40 wire        add_cnt0 ;
 41 wire        end_cnt0 ;
 42 reg [ (2-1):0]  cnt1     ;
 43 wire        add_cnt1 ;
 44 wire        end_cnt1 ;
 45 
 46 reg [ DATA_WIDTH-1:0]  gen_rdata_r     ;
 47 reg   gen_rdata_vld_r     ;
 48 reg    com_flag     ;
 49 
 50 wire wri_state;
 51 wire rd_state;
 52 wire com_change_t;
 53 
 54 //操作周期计数器,计数值为欲操作用户地址段长度+1(需要一个时钟周期空闲)
 55 always @(posedge clk or negedge rst_n) begin 
 56     if (rst_n==0) begin
 57         cnt0 <= 0; 
 58     end
 59     else if(add_cnt0) begin
 60         if(end_cnt0)
 61             cnt0 <= 0; 
 62         else
 63             cnt0 <= cnt0+1 ;
 64    end
 65 end
 66 assign add_cnt0 = (com_flag == 0 && gen_wdata_rdy) || (com_flag == 1 && gen_rdata_rdy);
 67 assign end_cnt0 = add_cnt0  && cnt0 == (30)-1 ;
 68 
 69 //指令标志位 先是0--写 再是1--读
 70 always @(posedge clk or negedge rst_n )begin 
 71     if(rst_n==0) begin
 72         com_flag <= (0)  ;
 73     end
 74     else if(com_change_t)begin
 75         com_flag <= (!com_flag)  ;
 76     end 
 77 end
 78 
 79 assign com_change_t = add_cnt0 && cnt0 == 10 - 1;
 80 
 81 //写操作---------------------------------------------
 82 always @(posedge clk or negedge rst_n )begin 
 83     if(rst_n==0) begin
 84         gen_wdata_en <= (0)  ;
 85     end
 86     else if(wri_state)begin
 87         gen_wdata_en <= (1'b1)  ;
 88     end 
 89     else begin
 90         gen_wdata_en <= (0)  ;
 91     end 
 92 end
 93 
 94 assign wri_state = add_cnt0 && cnt0 <= 10-1 && com_flag == 0;
 95 assign rd_state  = add_cnt0 && cnt0 <= 10-1 && com_flag == 1;
 96 
 97 always @(posedge clk or negedge rst_n )begin 
 98     if(rst_n==0) begin
 99         gen_wdata <= (0)  ;
100     end
101     else begin
102         gen_wdata <= (cnt0)  ;
103     end 
104 end
105 
106 always@(posedge clk or negedge rst_n)begin
107     if(rst_n == 0)
108         gen_waddr <= 0;
109     else if(wri_state)
110         gen_waddr <= gen_waddr + 29'd8;
111     else 
112         gen_waddr <= 0;
113 end
114 //读操作----------------------------------------------
115 
116 always @(posedge clk or negedge rst_n )begin 
117     if(rst_n==0) begin
118         gen_rdata_en <= (0)  ;
119     end
120     else if(rd_state)begin
121         gen_rdata_en <= (1'b1)  ;
122     end 
123     else begin
124         gen_rdata_en <= (0)  ;
125     end 
126 end
127 
128 always@(posedge clk or negedge rst_n)begin
129     if(rst_n == 0)
130         gen_raddr <= 0;
131     else if(rd_state)
132         gen_raddr <= gen_raddr + 29'd8;
133     else 
134         gen_raddr <= 0;
135 end
136 
137 always @(posedge clk or negedge rst_n )begin 
138     if(rst_n==0) begin
139         gen_rdata_r <= (0)  ;
140     end
141     else begin
142         gen_rdata_r <= (gen_rdata)  ;
143     end 
144 end
145 
146 always @(posedge clk or negedge rst_n )begin 
147     if(rst_n==0) begin
148         gen_rdata_vld_r <= (0)  ;
149     end
150     else if(gen_rdata_vld)begin
151         gen_rdata_vld_r <= (1'b1)  ;
152     end 
153     else begin
154         gen_rdata_vld_r <= (0)  ;
155     end 
156 end
157 
158 endmodule

她一生举轻若重,夙兴夜寐,事无巨细,可能是天底下睡眠和休养最少的人,起居饮食却卓殊简便。

   将traffic_gen和extend_interface模块例化在MIG的example
design中,利用ILA抓取MIG IP核用户接口信号。

她终生鞠躬尽瘁,以惊人的灵性谋局新生中国的破冰前行,用好人岂有此理的大力苦撑文化大革命极端环境下的危局,身患绝症却坚强工作直至去世。

 葡京网上娱乐场 10

她终生劳苦功高,不但赢得了中华百姓的拥护,十里长街送总理,也取得了国际社会的认同,联合国为之降下半旗,却遗体病了然剖,连火化的骨灰都没有留下。

葡京网上娱乐场 11

图表来自网络

 葡京网上娱乐场 12

千秋两周公,古今一完人。周总理的生平,是宏伟的、光辉的百年,是为庶人服务全心全意的、纯粹的一生一世。

  向地址8~80写入数据0~9,再从此段地址中读回数据,0~9被正确读出,MIG
IP核控制DDR3读写测试截止。

正如网上一个关于周总理帖子上评论的:这是唯一没有喷子的留言,只有周总理的帖子才会让我们这样团结一致,没有年龄界限,总有一种无比崇敬的心思油可是生。

欲望,是小聪明之种,也是罪大恶极之源。人类有欲望,才有了人类的升华,而个人膨胀的欲念,却一定是走向毁灭。

用作人,天生就是欲望的动物,因为欲望而改造了和睦、成立了山清水秀,而与此同时,他又因欲望的泛滥变得不再纯粹,肆意妄为地蚕食着自然,甚至毁灭着性子。

一个免冠了名缰利锁、不为周遭环境吸引的人,一个脱离了低级趣味、道德情操高尚的人,无论做哪个种类工作、无论在哪个地点从业服务于人类社会提高事业,就是一个彻头彻尾的人。


乌鲁木齐践学感记(一)

南宁践学感记(三)