10

随笔分类 -  fpga

fpga基础
手工改变Quartus II软件的编译速度[转载]
摘要:Quartus II的编译速度一直是个问题:太慢!尤其在进行FPGA调试时,加入SignalTAP II后编译时间明显延长,一次就要15分钟(对我当前的机器配置和设计来说)。 使用Quartus II快5年了,这是一个很深刻的体会,也带来几个好处。1. 我在等待编译结果时不得不翻翻书、看看文档,由此也多学了许多知识。2. 我不得不尝试提高使用SignalTAP II的效率,尽量减少重复编译的次数,... 阅读全文

posted @ 2013-05-13 14:00 believe 阅读(5548) 评论(0) 推荐(1)

FPGA中逻辑复制(转)
摘要:在FPGA设计中经常使用到逻辑复制,逻辑复制也用在很多场合。 1. 信号驱动级数非常大,扇出很大,需要增加驱动力 逻辑复制最常使用的场合时调整信号的扇出。如果某个信号需要驱动后级很多单元,此时该信号的扇出非常大,那么为了增加这个信号的驱动能力,一种办法就是插入多级Buffer,但是这样虽然能增加驱动能力,但是也增加了这个信号的路径延时。 为了避免这种情况这时可以复制生成这个信号的逻辑,用多... 阅读全文

posted @ 2012-05-25 18:27 believe 阅读(442) 评论(1) 推荐(0)

导航

/* * Name: SyntaxHighlighter.brushes.Verilog * Author: Yuphone Chang * Email: yuphone@qq.com/ * Create Date: 5.18, 2010 */ SyntaxHighlighter.brushes.Verilog = function() { var datatypes = 'reg integar unsigned ' + 'wire tri wand triand tri0 tri1 supply0 supply1 trireg ' + 'parameter specparam defparam event '; var primitives = 'and nand or nor xor xnor ' + 'buf not ' + 'bufif0 bufif1 notif0 notif1 ' 'pullup pulldown ' + 'pmos rpmos nmos rnmos '; var keywords = 'module endmodule ' + 'input output inout ' + 'begin end ' + 'assign deassign always initial genvar ' + 'forever repeat disable wait ' + 'function endfunction' + 'task ' + 'endtask ' + 'generate endgenerate ' + 'specify endspecify ' + 'posedge negedge ' + 'if else for while ' + 'case casex casez endcase default ' + 'include timescale ' + 'ifdef endif ' + 'celldefine endcelldefine ' + 'attribute ' 'fork join '; var functions = 'display displayb displayo displayh ' + 'write writeb writeo writeh ' + 'strobe strobeb strobeh strobeo ' + 'monitor monitorb monitoro monitorh ' + 'fopen fclose ' + 'readmemb readmemh ' + 'finish stop ' + 'time stime realtime timeformat ' + 'printtimescale ' + 'setup hold setuphold skew recovery period width '; this.regexList = [ // one line comments { regex: SyntaxHighlighter.regexLib.singleLineCComments,css: 'comments' }, // multiline comments { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // double quoted strings { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // single quoted strings { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // constants { regex: new RegExp("[0-9]+['][bBoOdDhHeEfFtT][0-9a-fA-FzZxX_]+", 'g'), css: 'constants' }, // datatypes { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'color1 bold' }, // primitives { regex: new RegExp(this.getKeywords(primitives), 'gm'), css: 'color2 bold' }, // keywords { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword bold' }, // functions { regex: new RegExp(this.getKeywords(functions), 'gm'), css: 'functions bold' } ]; }; SyntaxHighlighter.brushes.Verilog.prototype = new SyntaxHighlighter.Highlighter(); SyntaxHighlighter.brushes.Verilog.aliases = ['verilog', 'v'];