第一篇:ASIC设计流程
1.使用语言:VHDL/verilog HDL
2.各阶段典型软件介绍:
输入工具:Summit ,ultraeditSummit公司,ultraedit
仿真工具:VCS, VSSSynopsys 公司
综合器:DesignCompile, BC CompileSynopsys 公司
布局布线工具:Preview 和Silicon EnsembleCadence公司
版图验证工具:Dracula, DivaCadence公司
静态时序分析: Prime TimeSynopsys 公司
测试:DFTCompileSynopsys 公司
3.流程
第一阶段:项目策划
形成项目任务书(项目进度,周期管理等)。流程:【市场需求--调研--可行性研究--论证--决策--任务书】。
第二阶段:总体设计
确定设计对象和目标,进一步明确芯片功能、内外部性能要求,参数指标,论证各种可行方案,选择最佳方式,加工厂家,工艺水准。
流程:【需求分析--系统方案--系统设计--系统仿真】。
第三阶段: 详细设计和可测性设计
分功能确定各个模块算法的实现结构,确定设计所需的资源按芯片的要求,速度,功耗,带宽,增益,噪声,负载能力,工作温度等和时间,成本,效益要求选择加工厂家,实现方式,(全定制,半定制,ASIC,FPGA等);可测性设计与时序分析可在详细设计中一次综合获得,可测性设计常依据需要采用FullScan,PartScan等方式,可测性设计包括带扫描链的逻辑单元,ATPG,以及边界扫描电路BoundScan,测试Memory的BIST。
流程:【逻辑设计--子功能分解--详细时序框图--分块逻辑仿真--电路设计(算法的行为级,RTL级描述)--功能仿真--综合(加时序约束和设计库)--电路网表--网表仿真】。
第四阶段:时序验证与版图设计
静态时序分析从整个电路中提取出所有时序路径,然后通过计算信号沿在路径上的延迟传播,找出违背时序约束的错误(主要是SetupTime 和 HoldTime),与激励无关。在深亚微米工艺中,因为电路连线延迟大于单元延迟,通常预布局布线反复较多,要多次调整布局方案,对布局布线有指导意义。
流程:【预布局布线(SDF文件)--网表仿真(带延时文件)--静态时序分析--布局布线--参数提取--SDF文件--后仿真--静态时序分析--测试向量生成】
第五阶段:加工与完备
流程:【工艺设计与生产--芯片测试--芯片应用】
第二篇:ASIC实验总结报告
ASIC
学院: 班级: 姓名: 学号: 序号:
实验总结报告
HDB3码制变换的功能与时序验证
一、实验目的
1、学习和掌握利用Verilog进行专用集成电路设计的流程与方法。
2、熟悉编写较完整的测试模块进行接近真实的完整测试。
3、熟悉仿真软件Modelsim的使用方法。
二、实验要求
用Verilog HDL进行HDB3解码电路描述,并写出测试文件,电路仿真结果正确。取时钟频率=2M,信号频率=2M。
三、实验原理
1、HDB3码
由功率谱的特性,我们知道,NRZ 单极性不归零码不适合在信道上传输,传号交替反转码(AMI码)为一种双极性码,为了克服AMI 码连零可能较多的缺点,必须提出新的编码方案,对NRZ码中的连零作适当的处理。高密度双极性码就是针对这一问题而提出来的一种编码方案。所谓高密度,是指传输码中“l”码的密度较高,连“0”码的个数最多为n 个,这种码叫HDBn码。在实用中,n 一般等于3,这就是HDB3 码。
当连零数不大于3 时,HDB3 码与AMI 码的编码规则相同。当连零数超过3 时,以四 个连零作为“一节”,分别用不同的取代节取代这四个连零。取代节有两种,分别为“000V” 和“B00V”,这里的B 和V 均为传号脉冲。这样,传输码中的连零数就被控制在3 个以 内。在取代节中,V 叫做破坏点,用它在码流中破坏极性交替这一原则,以便接收端识别。B 码是为了平衡正负极性而加入的一个附加传号,它并不破坏极性交替的原则,因此又称它 为非破坏点。HDB3 码的取代原则为:
(1)出现四个连零用取代节取代;
(2)当相邻破坏点V 中间有奇数个原始传号(不包括B 码)时,用“000V”取代;(3)当相邻破坏点V 中间有偶数个原始传号时,用”B00V'取代;
(4)用“B00V'取代时,B 码和V 码与它们前面一个原始传号(或V 码)极性相反;(5)用”000V'取代时,V 码与它前面的传号极性相同。
可以证明,按照上述原则编出的HDBn码,相邻破坏点V 的极性也是相反的,因此,破坏点的引入不会导致码流的正负不平衡。由于HDB3 码中的V 码破坏了极性交替原则,因此,在收端很容易找到它。在译码时,将破坏点V 检出,包括它前面的三位码一律还原为“0”码就完成了HDB3 码的译码工作。
2、HDB3解码电路
HDB3 译码电路完成编码的反变换,关键之处是检出破坏点,取消“取代节”,即将 “000V”或“B00V”还原成“0000”,其管腿框图如下:
图2 HDB3译码电路管脚图
四、HDB3译码电路模块设计
根据编码规则,解码过程步骤为:首先将同步时钟信号、正整流信号、负整流信号输入解码模块中,然后从正整流信号和负整流信号中可以检测出两路包含V码的信号,将两路V码合成一路信号,再对其进行解码,最后将双相码变换成单相码。示意图如下图所示:
图7 解码流程示意图
1、V码检测
V码检测同时进行正V码检测和负V码检测,这两个检测模块的设计思想类似。当正整流信号上升沿到来时对输入的脉冲进行计数,当计数到1时,输出一个脉冲作为+V脉冲,同时计数器清零。在计数期间,一旦检测到负整流信号脉冲,计数器立即清零,重新从零计数。这是因为在两个正整流信号脉冲之间,如果存在负整流信号脉冲,说明第二个正整流信号脉冲不是+V码,只有在连续两个正整流信号脉冲之间没有负整流信号脉冲,才能说明这两个正整流信号脉冲在HDB3码中是同极性的,达到检测+V码的目的。-V码检测与+V码的检测类似,所不同的是-V码的检测是在正整流信号脉冲的控制下对负整流信号脉冲进行计数、检测和判定。图8是正V码检测的流程图:
图8 正V码检测流程示意图
2、V码和B码解码过程
检测到V码后,根据HDB3编码规则,只需将V码及之前3位码全部置零就可同时完成扣除V码和B码的操作。这里需要使用两组4位移位寄存器实现。扣除V码和B码之后,还需要将双相码变换成单相码,即当输入是“00”时输出“0”,输入是“01”或“10”时输出“1”,这样就完成了HDB3的解码。图9为双相码变单相码流程示意图:
图9 双相码变单相码流程示意图
五、实验结果
交互仿真
综合后的门级电路
门级电路仿真
七、实验总结
通过本次试验,我对verilog有了更加深入的了解,对ASIC设计也有了直观的认识与体验。在实验中,由于HDB3码编码、译码规则的特殊性,本次测试程序并没有采用给随机数进行测试的方式,而是通过给一串典型的固定激励,观察输出结果是否与预期一致。再通过反复多次测量以确保电路功能的准确性,本实验报告中只给出了一组典型测试数据的仿真波形与结果。通过本次实验,我深刻体会到测试程序设计的重要性,它涉及到的问题可能比电路本身还要复杂,需要在以后编写程序时继续深入学习。感谢老师助教们一学期以来的辛勤付出
八、实验代码
1、HDB3译码电路模块设计
module jiema(hdb,hdb_,clk,reset,nrz);input hdb,hdb_,clk,reset;
//define input ports outputnrz;
//define output ports regnrz;reg[1:0] shift_reg[3:0];
//define shift register reg count;
//flag to detect positive V code reg count_;
//flag to detect negtive V code reg[1:0] pole_change;
//polar converting state reg[1:0] flag;
//record input signal
always @(hdb or hdb_)
//detect positive V code and negtive V code begin if(hdb)begin if(count)begin flag=2'b00;count=0;
//clear count flag end else
begin flag=2'b10;count=1;
//set count flag end
count_=0;end else if(hdb_)begin if(count_)begin flag=2'b00;
count_=0;
//clear count_ flag end else begin flag=2'b01;
count_=1;
//set count_ flag end count=0;
end else flag=2'b11;
end
always @(posedgeclk or posedge reset)begin if(reset)begin shift_reg[3]<=0;shift_reg[2]<=0;shift_reg[1]<=0;shift_reg[0]<=0;pole_change<=0;end else begin pole_change<=shift_reg[3];
//shift out data from shift register shift_reg[3]<=shift_reg[2];shift_reg[2]<=shift_reg[1];shift_reg[1]<=shift_reg[0];case(flag)
2'b00:begin shift_reg[3]<=0;
//clear B code and V code shift_reg[0]<=0;
end
2'b01:shift_reg[0]<=2'b01;
2'b10:shift_reg[0]<=2'b10;
2'b11:shift_reg[0]<=2'b00;default:shift_reg[0]<=2'b00;endcase end end
always @(posedgeclk or posedge reset)
//ouput signal nrz begin if(reset)begin nrz<=0;
end else if(pole_change==2'b10 || pole_change==2'b01)nrz<=1;else nrz<=0;end endmodule
2、HDB3译码模块测试程序
// Name:
WangYing/ZhengXueYing/YuHong // Class:
2010211202 // Number:
10211059 // Create Date:
23:43:10 05/14/2012
// Module Name:
HDB3_decoder // Version:
ModelSim SE 6.5c
`timescale 100ns/10ns modulejiema_test;reg hdb,hdb_,clk,reset;
//drive input ports wirenrz;
//test output port reg flag;
//detect first high level integeri;reg[35:0] exp_nrz;
//output expect reg[39:0] judgement;
//judge the accuracy between the output and expect reg[39:0] result;
//show the simulation result Jiamau1(.hdb(hdb),.hdb_(hdb_),.clk(clk),.reset(reset),.nrz(nrz));
//instantiation
initial
//initialize variables and input reset signal begin flag=0;
i=0;exp_nrz=36'b0000_0000_1101_1000_0100_0111_0001_1000_0111;clk=0;reset=0;
#1 reset=1;
#5 reset=0;end
always #2.5 clk=~clk;
//clock signal
initial
//input test signal begin hdb=0;hdb_=0;
#10 hdb=1;hdb_=0;
#5
hdb=0;hdb_=1;
#5
hdb=1;hdb_=0;
#5
hdb=0;hdb_=0;
#15 hdb=1;hdb_=0;
#5
hdb=0;hdb_=1;
#5
hdb=1;hdb_=0;
#5
hdb=0;hdb_=0;
#15 hdb=0;hdb_=1;
#5
hdb=1;hdb_=0;
#5
hdb=0;hdb_=1;
#5
hdb=0;hdb_=0;
#15 hdb=1;hdb_=0;
#5
hdb=0;hdb_=1;
#5
hdb=0;hdb_=0;
#10 hdb=0;hdb_=1;
#5
hdb=1;hdb_=0;
#5
hdb=0;hdb_=1;
#5
hdb=0;hdb_=0;
#5
hdb=1;hdb_=0;
#5
hdb=0;hdb_=1;
#5
hdb=1;hdb_=0;
#5
hdb=0;hdb_=0;
#10 hdb=1;hdb_=0;while(1)begin
#5 hdb=0;hdb_=1;
#5 hdb=0;hdb_=0;
#10 hdb=0;hdb_=1;
#5 hdb=1;hdb_=0;
#5 hdb=0;hdb_=0;
#10 hdb=1;hdb_=0;end end
always @(posedgenrz)begin if(!flag)begin flag<=1;result<=“right”;end end
always @(posedgeclk)
//judge the result and show the information begin if(flag)begin if(i<36)begin if(nrz==exp_nrz[i])judgement<=“right”;else begin judgement<=“wrong”;
result<=“wrong”;end if(i!=0)
$display(“ %s!”,judgement);
$write(“nrz=%b;expect: nrz=%b;”,nrz,exp_nrz[i]);
i<=i+1;
end else begin
$display(“ %s!”,judgement);
$display(“The simulation result is %s!”,result);
$stop;end end end endmodule
3、jiema.tcl 约束文件内容
set LIBRARY /home2/student/lib/train/synopsys
set top jiema set_attr library $LIBRARY/typical.lib read_hdl {jiema.v} elaboratejiema setcyc 20.00 procall_inputs {} {find-port-inputs-no_clocks *} procall_outputs {} {find-port-outputs *} read_sdcjiama.sdc synthesize-to_generic-no_incremental synthesize-to_mapped-eff medium write_hdljiama>jiema.vg write_sdf –design jiema>jiema.sdf write_sdcjiema>jiema.gate.sdc
4、jiema.sdc 文件内容: setsdc_version 1.4 set_units-capacitance 1000.0fF set_units-time 1000.0ps # Set the current design current_design control create_clock-name “clk”-add-period 20.0-waveform {0.0 10.0} [get_portsclk] set_input_delay –clock [get_clocksclk] –add_delay 2.0 [(hdb,hdb_,clk,reset,nrz] set_output_delay –clock [get_clocksclk] –add_delay 2.0 [get_portsyout]
第三篇:设计流程
设计流程
有些人以为设计就是要天马行空,就是要有创意,怎样做的好看就行,实际上这些人还不是真正懂设计的人说的话,有句话说的好“设计是协商,艺术是理想!”我们为什么要这么说呢,从纯粹意义上说,设计不是艺术,也不可以是艺术,即使用“商业”来限定它。但是将设计这种活动艺术化并没有什么错。正如吃饭并不是艺术,但可以艺术地吃饭。
一、研究设计
1、了解商业的计划与目的,并从中寻找到能吸引受众的关键因素。很多时候,设计师要创造这样的因素。
2、了解商业计划针对的群体,掌握他们的生活习惯、文化修养、认知力及审美。此点是设计中最重要的部分。
3、根据以上两条确定用什么样的图形元素与表现手法(设计理念)来完成设计。以上三点可以看出,设计是存在较强的目的性和导向性。反之艺术则不同,而艺术家完全不必考虑这些,尽管以自己的意识去描绘他眼中的自然,这完全是个人化的行为。是艺术家内心的宣泄,艺术家的作品是挂在墙上在那里等着别人来欣赏与认可。而设计作品是送到受众的手上“要求”得到欣赏与认可。
二、设计理念——构思立意
构思立意是设计的第一步,在设计中思路比一切都要重要。理念一向独立于设计之上,通过以下几点可以体现出来。
1、美观:大家都知道所谓的好看就是必须符合普遍的审美标准;
2、新奇:有新意很奇巧,是大家以前没有见过的;
3、有深度:能经得起推巧,合理。有深藏的东西;
4、助销售:作为好的商业作品如果不能达到宣传和增进销售的目的一切都将失去。
三、设计方案
1、甲乙丙三个各自做出提案;
2、把三个提案打印,人手一份,列出优缺点;
3、通过会议讨论,把优点及缺点陈列出来进行筛选、整合;
4、分析整合方案的可行性,是否可以达到预期效果。
四、任务周期
1、任务下达:
2、设计框架:
3、思路融合:
4、补充修改:
5、紧急任务:
6、交稿时间:
五、设计分工
根据任务量大小不同,采用独立作业或流水作业不等。
六、制作样品
1、检查:图形、字体、内文、色彩、编排、比例、出血„„;
2、试制:在核对后进行DIY,找出不足之处进行修改;
3、交稿:DIY一份无误的作品递交,等待方案确定。
七、总结 对此次任务进行进行回顾、分析,并做出客观评价,找到成功及失败之处。为成功找方法,失败找原因。
第四篇:设计流程
设计流程及相关费用标准
1、客服预约(填写设计问卷、提供户型结构图、确定来访时间);
2、到公司考察,与设计师交流设计想法、沟通方案;修改满意前不收任何费用;
3、咨询满意,签订设计测量协议(支付公寓、复式1000元、别墅2000元定金,测量后不退还);
4、实地测量,2-7个工作日出具平面设计方案,双方交流确认(不限修改次数、方案图不外带);
5、平面设计方案满意签订设计合同,支付设计费总额60%,开始整套施工图设计;
6、出齐整套设计施工图(预计1-3周)并双方确认(付清所有设计费),提交预算部出具精确预算;
7、预算校对,双方确认签订施工合同,提交工程部安排项目经理筹备开工;
8、选择吉日开工,设计师提供开工交底水电放样、木工放样、泥工指导、油漆配色、软装跟踪服务;
9、业主自购主材部分(地板,洁具,墙地砖,厨房橱柜,墙纸等)建议及挑选工作并陪购;
10、装修中后期按如下内容顺序:灯具、装饰画、家具、窗帘挑选陪购;
11、最终家具及软装类现场布置摆放设计,毕业照拍摄;
注:如更换资深或主案设计,仅按已付定金或设计费的60%抵入施工工程款,并按新设计师服务标准
1/2
设计流程及相关费用标准
█所提供设计服务承诺█
一、提供的设计图中应有设计说明
二、平立面图
1、原房型图
2、墙体改造图
3、平面家具布置图
4、地面材质图
5、顶面吊顶图、照明配置图
6、水电施工图
7、现场制作的家具立面图(根据实际情况出或者不出)
8、厨房、卫生间局部立面图(定做的除外)
9、门立面图(根据实际情况出或者不出)
10、各类背景或装饰墙立面图
11、其它现场需施工墙面的立面图
三、剖面图
1、应标明材质、用料、颜色等
2、吊顶、背景墙,家具等剖面图
3、特别设计之处剖面图
四、如墙地砖等相关主材应客户要求选样及搭配专业指
五、施工过程跟踪服务
六、工程后期配色服务及软装专业指导。
2/2
第五篇:设计流程
设计流程:
1.我们需要给您的房子现场测量,设计师对空间感受与思考,现场针对性的交流确定功能位置。
2.平面设计构思也很重要,平面设计构思需要整体构思、确定功能、风格定位、风水布局处理、个性化空间设计。
3.构思完成需要出完整的平面方案,附设计整体思路说明,确定后期设计思路是否符合您的要求。
4.我们与您需要不断的交流,设计方案修正直到到满意为止。设计其实是量身定制适合您才是最好的方案
5.平面满意后立面构思确定整体效果,我们将设计出整套图纸包括立面图、顶面图、施工截剖面图、用材说明、效果图等详细图纸,图纸完整施工才会轻松,效果超前感受。
6.图纸设计我们采用设计与审核分开的双向审核制度,团队构思确保每个客户的设计效果(设计总监,工程部经理共同审核)。
7.图纸完成后再次与您交流,让您明确设计效果,不满的地方修正到满意为止。这样才能保证后期施工效果和设计效果一致,以免返工造成不必要的损失。
8.预算跟据图纸计算造价,确保预算造价和施工决算准确率保持在95%以上。
9.预算图纸确认后和您签定施工合同,明确施工进度和保障施工。
①相互认识主动自我介绍。
②看资料图册建立信任。
③询问要求聆听需求。
④重点介绍激发兴趣欲望。
⑤介绍公司操作规范以及流程,企业荣誉建立信任。
谈单关键:信任时及时有效促成,收取定金。