[转帖]FPGA--Vivado

来源:http://home.eeworld.com.cn/my/space-uid-639749-blogid-267593.html

一般的,在Verilog中最常用的编码方式有二进制编码(Binary)、格雷码(Gray-code)编码、独热码(One-hot)编码。

二进制码和格雷码是压缩状态编码。 若使用格雷编码,则相邻状态转换时只有一个状态位发生翻转,这样不仅能消除状态转换时由多条状态信号线的传输延迟所造成的毛刺,又可以降低功耗。

   二进制编码也可称连续编码,也就是码元值的大小是连续变化的。如S0=3'd0,S1=3'd1,S2=3'd2,S3=3'd3....


   格雷码的相邻码元值间只有一位是不同的,如S0=3'b000,S1=3'b001,S2=3'b011,S3=3'b010....

独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。虽然使用较多的触发器,但由于状态译码简单,可减少组合逻辑且速度较快, 这种编码方式还易于修改,增加状态或改变状态转换条件都可以在不影响状态机的其它部分的情况下很方便地实现。另外,它的速度独立于状态数量。与之相比,压缩状态编码在状态增加时速度会明显下降。

   独热码值每个码元值只有一位是'1',其他位都是'0',如S0=3'b001,S1=3'b010,S2=3'b100

 

问题:USB升级FPGA程序完成后,给板子通电,发现启动FLASH中程序非常的慢,等了超长时间LED灯才有反应。

用Xilinx下载线直接将MCS的FPGA程序固化到FLASH也出现同样的问题。

 解决方法是在Vivado工具中设置配置FLASH时钟,默认是3MHZ,可改成50MHZ。

方法是先open implemented design,待打开实现设计窗口后,再Tools下拉菜单选择Edit Device Properties,该选项下Configuration中Configuration Rate(MHz).

 

Cypress赛普拉斯 Spansion  Micron公司关系  存储器市场

来源:http://bbs.eetop.cn/viewthread.php?tid=386148

关于altera fpga 时钟切换(clk mux) 的讨论
首先我用fpga是 altera cyclone II:  里面有个时钟mux: 一个时钟来自 pll , 一个时钟来自tck (jtag)
// 需要不同时钟的debug_ram。
debug_ram
debug_ram_inst (.address (clk_sw ? jtag_addr : rom_addr),
                                .clken   (jtag_wr|~rom_rd_n            ),

                        .clock   (debug_ram_clk                ),

                        .data    (jtag_data                    ),

                        .wren    (jtag_wr                      ),

                        .q       (rom_data                     )

                                                               );


(1)如果直接用rtl作逻辑选择:assign debug_ram_clk = clk_sw ? tck : clk;  //使用此逻辑综合要报rom_addr hold violation 时序warning(估计是因为做时钟切换clk时钟延时太长,看时序报告rom_addr hold需要2点几纳钞)
  (2) 如果使用quartus ii 里的 ip, altclkctrl :clk_ctrl
u_clk_ctrl(.clkselect( clk_sw            ),

                                                                              .inclk0x  ( clk                  ),

                                                                              .inclk1x  ( tck                 ),

                                                                              .outclk   ( debug_ram_clk)

                                                                                                                  );
        会报如此错:Error: inclk[0] port of Clock Control Block "clk_ctrl:u_clk_ctrl|clk_ctrl_altclkctrl_8af:clk_ctrl_altclkctrl_8af_component|clkctrl1" is driven by PLL LL_inst|altpll:altpll_component|_clk0, but must be driven by a clock pin
                         Error: inclk[1] port of Clock Control Block "clk_ctrl:u_clk_ctrl|clk_ctrl_altclkctrl_8af:clk_ctrl_altclkctrl_8af_component|clkctrl1" is driven by altera_internal_jtag~TCKUTAP, but must be driven by a clock pin
         //不知道为什么会报错,还在查资料中,也请大神赐教。。。。

(3)使用时钟mux代码如下:
module clk_mux#(parameter num_clk = 2      )
               (input  [num_clk-1:0] clk    ,

//input  [num_clk-1:0] clk_rst,

input  [num_clk-1:0] clk_sel,

output clk_o

                                   );
genvar i;
reg  [num_clk-1:0] ena_r0;
reg  [num_clk-1:0] ena_r1;
reg  [num_clk-1:0] ena_r2;
wire [num_clk-1:0] qualified_sel;

// A look-up-table (LUT) can glitch when multiple inputs
// change simultaneously. Use the keep attribute to
// insert a hard logic cell buffer and prevent
// the unrelated clocks from appearing on the same LUT.
wire [num_clk-1:0] gated_clks /* synthesis keep */;
wire [num_clk-1:0] tmp_mask[0:num_clk-1];

generate
  for (i=0; i<num_clk; i=i+1)
  begin : lp0
    assign tmp_mask = {num_clk{1'b1}} ^ (1 << i);
    assign qualified_sel = clk_sel & (~|(ena_r2 & tmp_mask));
    always @(posedge clk) begin
    ena_r0 <= qualified_sel;
    ena_r1 <= ena_r0;
  end
  always @(negedge clk) begin
  ena_r2 <= ena_r1;
  end
  assign gated_clks = clk & ena_r2;
end
endgenerate
// These will not exhibit simultaneous toggle by construction
assign clk_o = |gated_clks;
endmodule
电路如下:
test2.jpg

下载 (25.8 KB)
2013-3-29 20:05



再实例化:clk_mux u_clk_mux({tclk,clk},{clk_sw,~clk_sw},debug_ram_clk); // 则这样就不会报错

(4)还有一种方法是动态配置pll(有些altera fpga支持),可是有一个时钟不是来自pll,故不能使用此方法了

前三种方法,暂时只有(3)不报错





Clock Control Block (ALTCLKCTRL) Megafunction资料上有如此表格:

test.jpg

下载 (69.93 KB)
2013-3-28 22:18




下有如此一段话:The global clock network allows a clock signal (or other global signals) to reach all parts of the chip with a similar amount of skew. The regional clock network allows a signal to reach one quadrant of the chip (though half of the chip can be reached by driving two quadrants). The external clock-out path represents the clock path from the outputs of the phase-locked loop (PLL) to the dedicated PLL_OUT pins. The ALTCLKCTRL megafunction also provides glitch-free implementation for multiple clock input signals.

好像:cyclone II 只支持(1)global clock network ,(2) Dedicated External Clock Out Path , 但是选择(2)又无法支持时钟的mux,如下图:
test2.jpg

下载 (66.13 KB)
2013-3-28 22:24



完全无语呀,限制真心多


纠正:其实(3)也会报rom_addr相对clk的hold violation的WARNING(原因是之类代码有点问题)


欢迎大家多多讨论,不知道大家一般在fpga中怎么做clk的mux呢。。。

来源:http://bbs.elecfans.com/jishu_219906_1_1.html

为什么FPGA时钟频率不高,却适合做高速处理?Filed Programmable Gate Array  现场可编辑逻辑阵列

我在我的同学面前炫耀FPGA是做高速处理的,可是,当人家问我,我的时钟频率能达到多少时,我说利用PLL能拉到200MHz,他说,这么低啊?我的手机频率都是1.5G的呢。
我无语。。。
后来才了解到,他的1.5G要想完成一个运算的话,因为是串行处理,所以要n个时钟周期啊,而FPGA虽然起点(时钟频率慢),可是通过并行,处理数据的能力极大提高。

FPGA要实现高速的并行处理数据,那也得看处理什么数据!如果相关性比较大的一堆数据,那你是无法实现很好的并行性的。因此,FPGA更适合处理图像、视频等相关性不大的数据。

全同步的数字电路设计,一般使用一个全局时钟,作为驱动所有时序逻辑的主时钟。但如果设计比较复杂,可能会引入多个主时钟,即多时钟域的设计。这时,FPGA系统时钟频率约束就默认对应于所有主时钟的频率约束。如果希望设定不同的时钟频率约束,就必须单独给每个主时钟设定约束。

模拟(Emulation)是试图模仿一个设备的内部设计;仿真(Simulation)是试图模仿一个设备的功能。

http://china.xilinx.com/training/vivado/index.htm Vivado的视频辅导资料

企业用verilog_代码风格规范》来源:http://www.docin.com/p-602544098.html

 Verilog HDL 华为入门教程
http://wenku.baidu.com/view/1de5f06527d3240c8447ef95.html

Verilog典型电路设计 华为
http://wenku.baidu.com/view/daf2690e52ea551810a687e9.html

华为fpga设计规范(Verilog Hdl)
http://wenku.baidu.com/view/2c07b8e9856a561252d36f25.html

 

Vivado HLS全称是High Level Synthesis高层次综合。从以器件为中心的开发上升到以IP和系统为中心的开发。‘All Programmable’器件。嵌入ARM Cortex-A9双核的Zynq7000器件。

VBO与LVDS互转的厂家有Himax和THine。

LVDS转VBO的芯片:Himax家HX6512-A, 00DFAG-B,351GNBGC

VBO转LVDS的芯片:THime家0845TN43, THCV215 ES4

来源:http://china.xilinx.com/training/vivado/vivado-design-methodology.htm

HDL 代码建议目标硬件、约束生成和验证最佳方法、使用物理约束的规划和分析工具,如时钟和引脚规划,以及最佳性能的布局规划。

来源:http://wenku.baidu.com/link?url=ChCiOJWKLyD95VFd_s2K8QiUBjmWzqu21sBDlfjTI7r3vRV1dhSeVW7wx1w-R4_FdjoTPxsJZslwKxF9OojWTdVml5CNzAN12cOiegk5B1S

 

转载于:https://www.cnblogs.com/zlh840/p/4225399.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国内5G工程建设面临的6大挑战

来源&#xff1a;5G产业圈摘要&#xff1a;2019年被很多人认为是5G建设元年&#xff0c;但是&#xff0c;5G建设要面临的这些难题&#xff0c;你清楚几个&#xff1f;1、网络云化带来的规划和运维挑战5G网络全面云化&#xff0c;在带来功能灵活性的同时&#xff0c;也带来很多技…

QT中的滚动条QScrollArea

QT里的滚动条操作&#xff0c; 我理解的QScrollArea对象的使用为&#xff0c;把某个widget绑定到该QScrollArea对象&#xff0c;scrol->setWidget(widget); 绑定的widget对象的长宽超过边界时&#xff0c;会有滚动条的效果。 #include <QtGui/QApplication> #include…

iis5.1/6.0/7.0+ 配置url重写 无扩展名伪静态

最近在搞url重写 遇到iis 无扩展名及html映射问题 供后人查看 因为考虑功能比较多(URLRewriter组件有些功能满足不了要求)所以就用了HttpModule方法重写 iis5.1中 添加应用程序映射 .* (注意 这种方法只有5.1中可以)到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_i…

无人驾驶重塑竞争生态圈

来源&#xff1a;智车科技摘要&#xff1a;中国有可能成为L4技术以及相关应用的世界领导者&#xff1b;在2030年&#xff0c;中国极有可能成为世界最大的无人驾驶市场&#xff1b;无人驾驶L4生态会是“共生”的&#xff0c;价值链将趋向扁平化&#xff1b;传统汽车领城的公司需…

5G的3大应用场景落地开花,中国或将引领全球5G产业发展

来源&#xff1a;易观智库摘要&#xff1a;2019年2月11日&#xff0c;易观发布了《中国5G应用市场数字化专题2018》的专题分析。5G是指“第五代移动通信计划”&#xff0c;不同于以往通信计划的更迭主要在于提升数据传输速率&#xff0c;5G的网络特点强调数据传输速率的提升、降…

一个简单的parser

所有的内容基于《两周自制脚本语言》。 原文中使用Java编写。鉴于本人不怎么会写Java&#xff08;书里面有好奇怪的语法&#xff0c;不懂&#xff08;逃&#xff09;&#xff09;&#xff0c;便用C#写了一个简单的parser。 代码输入格式&#xff1a; 1: i23*3/(4-2)2: i1; if(i…

向机器理解人类行为迈出一小步

一名被试人员正在键盘上打字来源&#xff1a;《中国科学报》摘要&#xff1a;近日&#xff0c;《中国科学报》采访了CCF优秀博士学位论文奖获奖者、清华大学博士易鑫及其导师史元春教授&#xff0c;深入报道了他们对人机自然交互研究的最新进展。随着信息技术的发展&#xff0c…

邬贺铨院士:工业互联网ICT的新挑战来(附PPT照片)

来源&#xff1a;走向智能论坛摘要&#xff1a;2月21日&#xff0c;由中国信息通信研究院、工业互联网产业联盟、中国通信学会联合主办的2019工业互联网峰会在北京召开。中国工程院院士邬贺铨做题为“工业互联网ICT的新挑战”的主旨演讲。尊敬的苗部长、赵院长、张总&#xff0…

计算机视觉及智能影像报告:未来规模超200亿美元

来源&#xff1a;网易智能近日&#xff0c;Forrester咨询公司对中国计算机视觉及智能影像市场进行了调查&#xff0c;访问了包括研究机构、科研院校、投资机构以及部分互联网企业&#xff0c;视频行业企业&#xff0c;针对以视频行业为代表的文娱产业中人工智能的应用趋势、面临…

权威报告丨2018-2019 新型互联网生态研究报告摘要

来源&#xff1a;商业伙伴摘要&#xff1a;核心观点&#xff1a;1、传统ICT企业与互联网企业&#xff0c;正在相互进入对方业务领地&#xff1b;2、新型互联网企业既有互联网的基因&#xff0c;又专注于B端企业级市场&#xff1b;3、政府、金融与制造是新型互联网市场规模最大的…

【杂】如何修复视频--> Wondershare Repairit

近日换宿舍&#xff0c;从一个校区搬到另一个校区&#xff0c;突发奇想决定用相机录一点视频~ 浅浅尝试一下录vlog才发现做短视频也并非想象中那般容易&#xff0c;尤其是构思内容和文案&#xff0c;并且实施起来也会有很多问题&#xff0c;比如手拿着相机录真的很抖o((⊙﹏⊙)…

中国独角兽企业总榜发布:百亿超级独角兽达13家(附榜单)

来源&#xff1a;悟空智能科技摘要&#xff1a;这份榜单中的独角兽企业均为2018年有外部融资且估值超10亿美元的优秀企业&#xff0c;中国共有203家企业上榜。这203家独角兽企业涉及金融、文化娱乐、汽车交通、企业服务、物流、硬件、本地生活、医疗健康、电子商务、房产服务、…

一文读懂图像传感器

来源&#xff1a;传感器技术图像传感器是各种工业及监控用相机、便携式录放机、数码相机&#xff0c;扫描仪等的核心部件。目前&#xff0c;这个快速增长的市场现在已经延伸到了玩具、手机、PDA、汽车和生物等领域。图像传感器图像传感器定义及种类图像传感器应用成像物镜将外界…

MyEclipse配置Tomcat 6

打开首选项 禁用MyEclipse自带的Tomcat 6 下载apache-tomcat-6.0.29.tar.gz 地址&#xff1a;http://yunpan.cn/cKg6kq2RmjdUB 提取码 986a 地址&#xff1a;http://pan.baidu.com/s/1kTDqZiv 下载后只需要解压即可使用。 配置下载的Tomcat 6地址 转载于:https://www.cnblogs.…

一文读懂5G:颠覆生活资费天价?

来源&#xff1a;网易手机当我们还在习惯于用非智能机慢速浏览web网页的时候&#xff0c;3G网络悄然而至&#xff0c;当我们认为3G已经能够满足日常所需的时候&#xff0c;4G已经走入了我们的生活&#xff0c;而当我们直到今天&#xff0c;依然感叹于4G的快速时&#xff0c;更加…

6分钟完成ImageNet训练,NVIDIA创下六项AI性能新记录!

来源&#xff1a;智东西自AlphaGo引爆人工智能大潮以来&#xff0c;其中的大热门——机器学习&#xff0c;不仅在计算机视觉、语音处理等领域不断突破技术的瓶颈&#xff0c;而且开始快速普及到安防、金融、医疗等多个传统行业。从刷脸支付到个性化推荐&#xff0c;机器学习已经…

一文看尽2019 MWC十大新机

来源&#xff1a;网易智能、网易手机一年一度的世界移动通信大会&#xff08;MWC 2019&#xff09;在巴塞罗那正式拉开了帷幕&#xff0c;今年的MWC因为有了折叠屏的加入&#xff0c;看点更足&#xff0c;同时随着5G技术与5G设备的推进&#xff0c;整场大会逛下来&#xff0c;相…

新型人造DNA结构信息密度加倍

来源&#xff1a;中国科学报脱氧核糖核酸&#xff08;DNA&#xff09;中存储着遗传代码。它由4种核苷酸组成&#xff0c;以4个不同字母表示。美国研究人员最新合成一种由8个字母组成的新型DNA结构。其信息存储密度加倍&#xff0c;未来有望应用于合成生物等领域。DNA是存储及传…

未来的农业没有农民

来源 &#xff1a; science robotics作者 &#xff1a;Senthold Asseng、Frank Asche编译&#xff1a;机器之能 微胖摘要&#xff1a;本文取自最新一期Science Robotics 的Future farms without farmers 一文。文章认为&#xff0c;未来农场的所有组成部分已经存在。随着时间的…

模式识别与机器学习笔记(一)

本系列博文是对研一课程《模式识别与机器学习》的随堂笔记&#xff0c;希望将老师所讲的与自己的见解记录下来&#xff0c;方便加深自己的理解以及以后复习查看&#xff0c;笔记完全按照老师所讲顺序&#xff0c;欢迎交流。 一、模式识别与机器学习的基本问题 机器学习主要解…