synopsys简易教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以.cshrc 及用户根目录下的.synopsys_vss.setup .synopsys_dc.setup 已经配置为前提)1.创建工作目录;

2.编写vhdl源程序;

3.编写.synopsys_vss.setup 和.synopsys_dc.setup文件;

4.编译vhdl源程序;

5.运行vhdldbx 仿真器;

6.运行synopsys的综合器;

7.完成综合后的门级仿真;

以一个一位加法器为例,进行具体说明(用户界面为CDE):

1)创建adder 目录:

可以在资源管理器中完成,也可以在unix环境下完成:mkdir adder;

2)在adder目录下创建work目录;

3)编写.synopsys_vss.setup文件并存入adder目录;.synopsys_vss.setup的内容如下:WORK >DEFAULT

DEFAULT:work

TIMEBASE = NS

4)编写一位加法器的源程序(adder1.vhd)并存入adder目录下:

library ieee;

use ieee.std_logic_1164.all;

entity adder1 is

port(din1 : in std_logic;

din2 : in std_logic;

cin : in std_logic;

dout: out std_logic;

cout: out std_logic);

end adder1;

architecture rtl of adder1 is

begin

dout <= din1 xor din2 xor cin;

cout <= (din1 and din2) or (cin and (din1 xor din2));

end rtl;

5)编写一位加法器的测试基准(即test_bench)并存入adder目录下:(tb_adder1.vhd)library ieee;

use ieee.std_logic_1164.all;

entity tb_adder1 is

end tb_adder1;

architecture rtl of tb_adder1 is

component adder1 is

port(din1 : in std_logic;

din2 : in std_logic;

cin : in std_logic;

dout: out std_logic;

cout: out std_logic);

end component ;

signal din1 : std_logic:='1';

signal din2 : std_logic:='0';

signal cin : std_logic;

signal dout : std_logic;

signal cout : std_logic;

for all : adder1 use entity work.adder1(rtl);

begin

u1 : adder1 port map(din1,din2,cin,dout,cout);

din1 <= not din1 after 10 ns;

din2 <= not din2 after 20 ns;

cin <= '0','1' after 40 ns;

end rtl;

configuration test_adder1 of tb_adder1 is

for rtl

end for;

end test_adder1;

6)编译源程序:

有两种方法可供使用:

A:使用命令vhdlan adder1.vhd tb_adder1.vhd

B:用批处理文件。如analyze.sh

vhdlan –noevent \

adder1.vhd \

tb_adder1.vhd

保存文件analyze.sh,并将其属性(property)改为可执行。方法如下:可以在文件管理器中修改,也可以用unix命令:chmod 755 analyze.sh

7)模拟(仿真):

使用仿真命令:vhdldbx &

注:在仿真器中常用的命令如下:trace,step,next,monitor,run,list,lv (-v),quit等;具体用法参考相应的文档资料。

8)综合:

使用命令:design_analyzer &

注:(1)综合器中常用的命令如下:read,clock_specify,design_enviroment,optimization 等;具体用法参考相应的文档资料。

(2)如果有自己的工艺库,则应将根目录下的.synopsys_dc.setup 修改为:

search path :

link library =

target library =

symbol library =

9)保存文件:

将文件保存为vhdl格式,如adder_syn.vhd

10)修改原来的testbench:

将tb_adder1.vhd 中的for all : adder1 use entity work.adder1(rtl);改为:for all : adder1 use entity work.adder(syn_rtl);(syn_rtl为adder_syn.vhd中,adder1的结构体名)。

11)编译:与第6步相同。

12)仿真:与第7步相同。

注:若须打印波形,则应将其存为.ps文件(如:wave.ps);然后使用打印命令,选择打印选项为文件形式,并写入文件名(如:wave.ps)。

相关文档
最新文档