原创 [转贴]引导语句“//……”在synopsys DC中的用途

2007-5-31 15:55 6301 6 7 分类: FPGA/CPLD

转自http://www.tianyablog.com/blogger/post_show.asp?blogid=234374&postid=3286533


以前一直没弄懂,以为就是个简单的注释完事,原来还可以用来引导综合过程:


设计者在写设计代码时,有时可能针对仿真写一些语句,这些语句可能是不为DC所接受,也不希望DC接受;设计者如果不对这些语句进行特殊说明,DC读入设计代码时就会产生语法错误。


另一种情况是,设计者在写设计代码,有些设计代码是为专有的对象写的(如公司内部),这些专有的设计代码可能不希望被综合。


Synopsys提供了引导语句,设计者可以使用这些引导语句控制DC综合的对象。
在设计代码中,引导语句“// synopsys translate_off”后直到“// synopsys translate_on”之间的语句被DC忽略。下面的例子给出了这两个引导语句的用法。

举例:
// synopsys translate_off
`ifdef ZTEIC
// synopsys_translate_on
    `define VENDOR_ID 16'h0083
// synopsys_translate_off
`else
    `define VENDOR_ID 16'h0036
`endif
// synopsys_translate_on



parallel_case 和full_case引导格式
一般情况下,DC把case语句综合成选择器电路,但也可能把case语句综合成优先权译码电路。有时,优先权译码电路是不必要的,这是可以使用“// synopsys parallel_case”引导语句强迫DC把case语句综合成选择器电路。这种引导格式在case状态声明没有完全列举时应用较多。

举例:
always @(cs_state)
begin
    case(cs_state) // synopsys parallel_case
          2'b00: next_state = 2'b01;
          2'b01: next_state = 2'b00;
          2'b10: next_state = 2'b10;
          default: next_state = 2'b00;
    endcase
end

在case语句中,如果列举的条件不完全,DC将生成不必要的锁存单元。在状态机描述中,可能没有一些状态,此时如果不加声明,DC将认为条件没有完全列举。在这种情况下,设计者可以使用full_case引导语句。



举例:
always @(cs_state)
begin
    case(cs_state) // synopsys full_case
        2'b00: next_state = 2'b01;
        2'b01: next_state = 2'b00;
        2'b10: next_state = 2'b10;
    endcase
end


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

ash_riple_768180695 2007-6-3 13:31

// synopsys translate_off

// synopsys translate_on

在altera的LPM模块调用中经常见到,可能能够让modelsim忽略两句之间的语句或者连线错误。

相关推荐阅读
用户1049668 2010-12-28 15:56
多时钟域设计和触发器的亚稳态
    目前正在做的东西必须跨时钟域(crossing clock domain),信号非同步的问题很让人头疼。在读资料的时候了解到触发器(flip-flopper)输出会出现亚稳态(meta-sta...
用户1049668 2010-12-17 16:09
为何DC综合后网表文件包含assign语句,如何去除assign语句。
Question:问题:I have a feedthrough in my circuit, and the netlist is showing an assign statement for t...
用户1049668 2010-12-17 14:55
group_path
synopsis DC命令使用group_path可以是DC在编译时使用不同的代价比重。如下命令可以使编译器在编译时对输入端口到寄存器,寄存器到输出端口,输入端口到输出端口三中情况分别做优化。grou...
用户1049668 2010-12-17 14:45
DC compile命令
2.  Synopsys Commands                                        Command Reference                      ...
用户1049668 2010-12-10 10:30
dia软件的逻辑图形库 Logic shapes for DIA
This package is the newly updated logic shapes used in DIA, a opensource diagram program. Unpack the...
用户1049668 2010-11-13 22:52
PLL jitter
Jitter Definitions and Specifications 时钟抖动的定义和规定Jitter is a random variation of the output clock. It...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条