集成电路实习报告1Word文件下载.docx
- 文档编号:22352789
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:21
- 大小:203.91KB
集成电路实习报告1Word文件下载.docx
《集成电路实习报告1Word文件下载.docx》由会员分享,可在线阅读,更多相关《集成电路实习报告1Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
一、题目:
设计一个密勒解码器电路
二、输入信号:
1.DIN:
输入数据
2.CLK:
频率为2MHz的方波,占空比为50%
3.RESET:
复位信号,低有效
三、输入信号说明:
输入数据为串行改进密勒码,每个码元持续时间为8μs,即16个CLK时钟;
数据流是由A、B、C三种信号组成;
A:
前8个时钟保持“1”,接着5个时钟变为“0”,最后3个时钟为“1”。
B:
在整个码元持续时间内都没有出现“0”,即连续16个时钟保持“1”。
C:
前5个时钟保持“0”,后面11个时钟保持“1”。
改进密勒码编码规则如下:
如果码元为逻辑“1”,用A信号表示。
如果码元为逻辑“0”,用B信号表示,但以下两种特例除外:
如果出现两个以上连“0”,则从第二个“0”起用C信号表示;
如果在“通信起始位”之后第一位就是“0”,则用C信号表示,以下类推;
“通信起始位”,用C信号表示;
“通信结束位”,用“0”及紧随其后的B信号表示。
“无数据”,用连续的B信号表示。
输入数据信号示例如下:
(S代表“通信起始位”,E代表“通信结束位”)
注意:
当DIN为“1”时,CLK信号为连续的2MHz方波;
当DIN为“0”时,CLK信号为“0”。
输入数据信号总是在CLK信号的下降沿变化。
为便于理解,特将A信号图示如下:
DIN:
CLK:
四、输出信号:
1.DOUT:
输出数据
2.DATA_EN:
输出数据使能信号
3.BIT_EN:
码元使能信号
五、输出信号规定:
DATA_EN:
DOUT:
0100101
BIT_EN:
DATA_EN信号从“0”变为“1”到变回“0”,表示收到一帧完整的数据,DOUT和BIT_EN只有在DATA_EN为“1”时才是有效的;
BIT_EN信号为“1”时,DOUT的值即为当前码元。
上图表示解码结果为0100101。
注意,“通信起始位”和“通信结束位”在输出信号中必须消去。
六、设计要求
●设计一个密勒解码电路,输入信号为如下4帧数据:
10010110、00010100、10100101、00100111(与前面输入数据信号示例相同),正确完成解码,并使输出信号符合规定。
●可不考虑错码。
●请首先提供书面设计方案
1.总体设计框图
图1-1:
总体设计框图
2.总体设计思路说明
整个系统分为两个模块:
检测模块和解码模块。
检测模块主要完成从输入串行序列判断出A,B或C信号,并分别输出脉冲标志脉冲串Signal_A,Signal_B和Signal_C;
同时,当检测到任一信号时,BIT_EN_temp输出一个高脉冲。
解码模块根据检测模块输出的三个标志脉冲进行0/1解码,输出最终的密勒解码数据DOUT;
同时,输出DATA_EN和BIT_EN两个标志信号。
3.各个模块设计及时序关系说明
3.1检测模块
由于时钟不完整,我们只能计算高电平个数,假设count为输入数据低电平之间高电平的个数;
分析发现,根据前一个信号状态与count的值可以判定下一个信号状态,如下表所示:
表一:
计数值与对应信号状态
当前信号
Count值
下一个信号
C
11
C
19
A
>
19(27/35/>
35)
B(BC/BA/BB)结束
11(19/27/>
27)
B(BC/BA/BB)
B
19(从A转入)
27(从A转入)
A
27
B结束
其中AC两信号相连不存在,CB或BB代表一帧数据结束。
因此检测模块处理流程包含三个部分:
计数部分,信号状态转移部分和检测输出部分。
计数部分:
系统复位后处于B状态,设定一个5位寄存器count_temp,每个CLK上升沿进行计数,记满后保持原值不变(此时必定处于无效状态);
当DIN=0时,一次计数完成,将count_temp的值赋给count保存,同时count_temp清零,准备下一次计数;
count值送入“信号状态转移部分”,与当前信号一起判断下一个信号状态。
这里要注意,当下一状态为B时,状态改变了但计数值没有清零(DIN=0时count才清零),如对于A状态,如果count>
12(则下个状态是B),则将count_temp的值先保存,以得到B状态。
然后再在B状态中根据count_temp最终的值,判断下一个状态。
信号状态转移部分:
如图2-1所示(参考表一)
图2-1:
信号状态转移图
检测输出部分:
若状态为A或C时,且在下一CLK上升沿,count_temp变为1,说明count_temp先被清零了,已经检测到一次A或C,因此Signal_A或Signal_B输出一次高脉冲;
若状态为B,且count_temp>
12或count_temp>
20表示count_temp还未清零,检测到一次B,信号Signal_B输出一次高脉冲。
3.2解码模块
与检测模块思想一致,根据本次状态和上次状态来判断是开始位,有效数据位或停止位。
因此,我们可以设计一个三状态的有限状态机分别代表开始状态start,数据状态data或停止状态idle。
A,B,C三个信号两两组合共有9组信号,其中AC信号不存在,BB,CB信号表示停止(参看表一);
在idle状态下如果检测到BC则表示数据传输开始,进入start状态,即start状态前一个状态为C,若当前状态为B,则进入idle状态,若当前状态为A或C则进入data状态。
在data状态中有AB,AA,BA,BC,CA,CC六种有效状态,若状态变为BB或CB则表示数据传输结束,进入idle状态。
整个状态转移图如图3-1所示。
在有效状态下,DATA_EN置高,输出DOUT根据miller编码思想和输入状态来决定,如输入A则DOUT=1,输入B/C,DOUT=0。
BIT_EN可由BIT_EN_temp与DATA_EN相与得到。
图3-1:
有效数据状态转移图
4.附件
4.1文件清单及目录结构
本文档清单如下:
“源代码”文件夹:
miller_decode.v顶层模块
miller_decode_tb.v顶层模块测试程序
Signal_detect.v检测模块
Signal_detect_tb2.v检测模块测试程序
decode.v解码模块
decode_tb.v解码模块测试程序
“结果波形文件夹”:
miller_decode_1.bmp密勒解码器总体输入输出波形图
miller_decode_2.bmp密勒解码器总体输入输出波形局部放大图
Signal_detect_1.bmp密勒解码器检测模块输入输出波形图
Signal_detect_2.bmp密勒解码器检测模块输入输出波形局部放大图
decode.bmp密勒解码器解码部分波形图
4.2源代码及说明
“源代码”文件夹包含了设计的全部源程序,共记六个程序。
其中miller_decode.v是设计的顶层文件,它调用了其他两个模块:
Signal_detect.v和decode.v。
Signal_detect.v主要完成信号A,B,C的检测,decode.v主要完成解码,输出0/1码。
4.3测试说明
miller_decode_tb.v,Signal_detect_tb2.v以及decode_tb.v分别为miller_decode.v,Signal_detect.v和decode.v三个程序块的测试文件。
(1)检测模块(Signal_detect_tb2.v)
在检测模块中,我们输入四帧信号:
frame1:
1001_0110,密勒编码为:
C,A,B,C,A,B,A,A,B,C,B
frame2:
0001_0100,密勒编码为:
C,C,C,C,A,B,A,B,C,C,B
frame3:
1010_0101,密勒编码为:
C,A,B,A,B,C,A,B,A,B,B
frame4:
0010_0111,密勒编码为:
C,C,C,A,B,C,A,A,A,B,B
其中第一个C为起始位,最后C,B或B,B为停止位,中间八位为有效数据位
我们将这四帧信号每帧后面加入两个B,作为“无数据”状态,存入一个寄存器frame_total中,然后每来一个2MHz(完整时钟)时钟的下降沿就输出一个bit位,作为该模块的输入信号。
如下式所示:
always@(negedgeclock)
begin
din<
=frame_total[847];
//847=4*16*11+16*9-1
frame_total<
=(frame_total<
<
1);
end
不完整的时钟信号clk可以通过一个完整的2MHz时钟与din相与得到,如下式所示:
always@(clock)//dinorclock
clk=din&
clock;
例化检测模块Signal_detect.v即可观测输出数据是否表征了输入的A,B,C信号。
该部分仿真结果如图4.4-1所示。
(2)解码模块(decode_tb.v)
在解码模块中,我们参考第一帧信号:
根据它的编码,人为的置sig_a,sig_b或sig_c一个个脉冲,例化解码模块decode.v即可观测输出数据是否就是实际的0/1码,从而判断程序的正确性。
该模块仿真结果如图4.4-2所示。
(3)顶层模块(miller_decode_tb.v)
顶层模块例化检测模块和解码模块,该部分仿真结果如图4.4-3所示。
详细的设计流程请直接参考源程序。
4.4波形及说明
(1)检测模块
如图4.4-1所示为检测模块的仿真波形图,图中输入数据为:
"
1001_0110"
(CABCA_BAAB_CB),输出信号sig_a,sig_b,sig_c的顺序正好显示着
CABCA_BAAB_CB,由此可以判断检测模块按设计预想完成了从输入序列中正确检测A,B,C信号的功能。
图4.4-1:
检测模块仿真波形图
(2)解码模块
如图4.4-2为解码模块仿真波形图,图中输入数据为根据第一帧编码后的A,B,C信号的顺序(CABCA_BAAB_CB)。
输出信号dout显示为“10010110”,这正是输入信号的密勒解码,由此可以判断出解码模块按设计预想从输入A,B,C顺序中解出了0/1码,正确完成了预想功能。
图4.4-2:
解码模块仿真波形图
(3)顶层模块
顶层模块的输入与检测模块相同,输出要与解码模块一致。
如图4.4-3所示为顶层模块仿真波形图,从中可以看出,当输入序列为“CABCA_BAAB_CB”时,输出信号为:
。
由此说明了本文总体设计满足了题目设计密勒解码器的要求,正确实现了从密勒编码序列中解码的功能。
顶层模块仿真波形图
五.英文资料
Anapplication-specificintegratedcircuit(ASIC)isanintegratedcircuit(IC)customizedforaparticularuse,ratherthanintendedforgeneral-purposeuse.Forexample,achipdesignedsolelytorunacellphoneisanASIC.IntermediatebetweenASICsandindustrystandardintegratedcircuits,likethe7400orthe4000series,areapplicationspecificstandardproducts(ASSPs).
Asfeaturesizeshaveshrunkanddesigntoolsimprovedovertheyears,themaximumcomplexity(andhencefunctionality)possibleinanASIChasgrownfrom5,000gatestoover100million.ModernASICsoftenincludeentire32-bitprocessors,memoryblocksincludingROM,RAM,EEPROM,Flashandotherlargebuildingblocks.SuchanASICisoftentermedaSoC(system-on-a-chip).DesignersofdigitalASICsuseahardwaredescriptionlanguage(HDL),suchasVerilogorVHDL,todescribethefunctionalityofASICs.
Field-programmablegatearrays(FPGA)arethemodern-daytechnologyforbuildingabreadboardorprototypefromstandardparts;
programmablelogicblocksandprogrammableinterconnectsallowthesameFPGAtobeusedinmanydifferentapplications.Forsmallerdesignsand/orlowerproductionvolumes,FPGAsmaybemorecosteffectivethananASICdesigneveninproduction.Thenon-recurringengineeringcostofanASICcanrunintothemillionsofdollars.
History
TheinitialASICsusedgatearraytechnology.Ferrantiproducedperhapsthefirstgate-array,theULA(UncommittedLogicArray),around1980.AnearlysuccessfulcommercialapplicationwastheULAcircuitryfoundinthe8-bitZX81andZXSpectrumlow-endpersonalcomputers,introducedin1981and1982.ThesewereusedbySinclairResearch(UK)essentiallyasalow-costI/Osolutionaimedathandlingthecomputer'
sgraphics.SomeversionsofZX81/TimexSinclair1000usedjustfourchips(ULA,2Kx8RAM,8Kx8ROM,Z80ACPU)toimplementanentiremass-marketpersonalcomputerwithbuilt-inBASICinterpreter.
Customizationoccurredbyvaryingthemetalinterconnectmask.ULAshadcomplexitiesofuptoafewthousandgates.Laterversionsbecamemoregeneralized,withdifferentbasediescustomisedbybothmetalandpolysiliconlayers.SomebasediesincludeRAMelements.
Standardcelldesign
Mainarticle:
standardcell
Inthemid1980sadesignerwouldchooseanASICmanufacturerandimplementtheirdesignusingthedesigntoolsavailablefromthemanufacturer.Whilethirdpartydesigntoolswereavailable,therewasnotaneffectivelinkfromthethirdpartydesigntoolstothelayoutandactualsemiconductorprocessperformancecharacteristicsofthevariousASICmanufacturers.Mostdesignersendedupusingfactoryspecifictoolstocompletetheimplementationoftheirdesigns.AsolutiontothisproblemthatalsoyieldedamuchhigherdensitydevicewastheimplementationofStandardCells.EveryASICmanufacturercouldcreatefunctionalblockswithknownelectricalcharacteristics,suchaspropagationdelay,capacitanceandinductance,thatcouldalsoberepresentedinthirdpartytools.StandardCelldesignistheutilizationofthesefunctionalblockstoachieveveryhighgatedensityandgoodelectricalperformance.StandardcelldesignfitsbetweenGateArrayandFullCustomdesignintermsofbothitsNRE(Non-RecurringEngineering)andrecurringcomponentcost.
Bythelate1990s,logicsynthesistoolsbecameavailable.SuchtoolscouldcompileHDLdescriptionsintoagate-levelnetlist.Thisenabledastyleofdesigncalledstandard-celldesign.Standard-cellIntegratedCircuits(ICs)aredesignedinthefollowingconceptualstages,althoughthesestagesoverlapsignificantlyinpractice.
Thesesteps,implementedwithalevelofskillcommonintheindustry,almostalwaysproduceafinaldevicethatcorrectlyimplementstheoriginaldesign,unlessflawsarelaterintroducedbythephysicalfabricationprocess.
1.Ateamofdesignengineersstartswithanon-formalunderstandingoftherequiredfunctionsforanewASIC,usuallyderivedfromRequirementsanalysis.
2.ThedesignteamconstructsadescriptionofanASICtoachievethesegoalsusinganHDL.Thisprocessisanalogoustowritingacomputerprograminahigh-levellanguage.ThisisusuallycalledtheRTL(Registertransferlevel)design.
3.Suitabilityforpurposeisverifiedbyfunctionalverification.Thismayincludesuchtechniquesaslogicsimulation,formalverification,emulation,orcreatinganequivalentpuresoftwaremodel(seeSimics,forexample).Eachtechniquehasadvantagesanddisadvantages,andoftenseveralmethodsareused.
4.LogicsynthesistransformstheRTLdesignintoalargecollectionoflower-levelconstructscalledstandardcells.Theseconstructsaretakenfromastandard-celllibraryconsistingofpre-characterizedcollectionsofgates(suchas2inputnor,2inputnand,inverters,etc.).ThestandardcellsaretypicallyspecifictotheplannedmanufactureroftheASIC.Th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集成电路 实习 报告