数字系统设计实践(电信)

上传人:ning****hua 文档编号:243120919 上传时间:2024-09-16 格式:PPT 页数:67 大小:1.38MB
返回 下载 相关 举报
数字系统设计实践(电信)_第1页
第1页 / 共67页
数字系统设计实践(电信)_第2页
第2页 / 共67页
数字系统设计实践(电信)_第3页
第3页 / 共67页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数字系统设计实践,倪海燕,Email:hyeneo,Phone:688481,Office:227,Lab:401,参考书目,马建国等,电子系统设计,.,高等教育出版社,.2003,年,杨刚等,电子系统设计与实践,电子工业出版社,.2004,年,包明等,EDA,技术与数字系统设计,.,北京航空航天大学出版社,.2001,年,诸振勇等,FPGA,设计及应用,(,第二版,),西安电子科技大学出版社,.2006,年,李洪伟等,.,基于,Quartus,II,的,FPGA/CPLD,设计,.,电子工业出版社,2006,年,其他电子系统设计类书籍,回顾,上学期数电实验中的综合实验之一,,多功能数字钟,电路,如何分析思考?,如何实现?,多功能数字钟,一、基本要求:,a,)计数显示功能,分、秒:,60,进制,二位数码管显示(十进制);,时:,24,进制,二位数码管显示(十进制)。,b,)具有清零功能,复位键按下,系统复位,显示皆为,0,。,c,)校时功能,时校准键:小时递增循环;,分校准键:分钟递增循环;,秒校准键:秒递增循环。,二、,进阶要求:,a,)具有整点报时功能,整点报时的同时,LED,灯花样显示;,b,)具有闹铃(闹,10s,)功能,通过按键可以任意设置闹铃时间;,c,)具有,12,小时和,24,小时二种制式,按键切换;,d,)秒表功能,精度,0.01s,。,电子系统和数字系统,现代电子系统一般是由模拟电子系统,数字电子系统和微处理器,以及他们之间的接口构成,模拟系统一般是对目标信号进行采集,放大和对目标最后控制执行,微处理器是核心处理机构 ,对信号进行运算,输出结果,数字系统一般是微处理器的周边设备,辅助微处理器运算;在小型系统中有时可以直接取代微处理器,这里的接口狭义讲就是是模,/,数,数,/,模变换的部分,广义的接口指的是不同设备之间连接的部件,用数字信号完成对数字量进行,算术运算,和,逻辑运算,的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称,数字逻辑电路,。,电子系统分类,测量与测控系统:如各种电量非电量的测量仪表,航天飞机轨道控制系统,生产控制系统,通信系统:如数字通信,微波通信,手机等,计算机系统:单机,网络系统等,智能家居家电系统:智能楼宇,数字电视,音视频录放设备,汽车电子系统:汽车导航,汽车控制等,医疗电子系统:现代各种医疗检查设备,其他电子系统:如,GPS,系统等,电子系统设计,完整的电子设计过程包括概念级、功能级和技术级设计,以及针对多种设计在制造和使用阶段的反馈信息的再设计(升级设计),早期的设计手段主要靠手工和图纸完成,如今可以使用计算机进行辅助设计和模拟,更加方便快捷。,电子系统实践,把设计的系统通过具体的硬件电路和器件变成实际的东西,实现手段有,SSI,MSI,LSI,VSLI(FPGA,ASIC),实验室里不可能完全产品化,但是可以模拟实现实际需求的性能要求(原型机)。通过实验室里的设计和实验可以达到开发产品的目的。,电子系统设计方法,自上而下:总体分模块的方法,有的模块是需要自己设计的,有的模块可以重复利用的或者是标准化的(比如单片机系统中的单片机最小系统是核心模块,在很多系统中可以重复利用,又如编码器,译码器模块在数字电路中经常用到,已经变成了标准化模块等等),最常用的方法,自下而上:模块搭起的方法,中间碰头:总体分块与模块制作同时进行,自上而下的设计方法,用户的功能,指标要求,总体框架,子系统构成,子功能模块,由粗到细,由模糊到清晰,由整体到局部,为了加快设计过程,尽量寻找已标准化或可重用的子模块,以设计计算机系统为例,数字系统的特点,只能对数字量或者逻辑量进行处理和运算,数字电路可以用各种方法进行描述,真值表,卡诺图,逻辑表达式,状态图,逻辑图,*流程图(,算法流程图,,ASM,图,,,MDS,图等),*硬件描述语言,HDL,(,VHDL,,,Verilog,HDL,),实现简单,系统可靠,集成度,高,功能实现容易,受控器和控制器模型,是数字系统较常见的一种组成结构,也是分析和设计数字系统首选的基本方法,受控器,又称为数据子系统,主要完成数据采集,存储,运算处理和传输,主要由存储器,运算器,数据选择器等部件组成;其操作是在控制器的控制信号下进行的。,控制器,又称控制子系统,是执行算法的核心,一般是一个时序系统,且较常见的是一个有限状态机系统,数据子系统,控制子系统,数据输入,数据输出,控制与条件信号,时钟,外部控制信号,CPU,内部结构,多功能时钟,自上而下的设计步骤,1,明确设计要求,把要求罗列成条,且无二义性,画出简单方框图,标明输入、输出信号和指标,2,确定设计方案,方案比较权衡,常用方框图,流程图或描述语言进行描述系统,必要时画出时序图,3,受控器设计,设计得到受控器电路原理图,4,控制器,分析控制器的时序构成,必要时设计一个或多个有限状态机,5,仿真优化,使用,EDA,软件进行波形仿真,必要时修改设计,6,硬件实现,下载到实验箱,测试指标能否满足要求,必要时修改设计,算法流程图,算法流程图由工作块、判别块、条件块、开始结束块以及指向线组成,工作块,判别块,算法流程图,条件块,开始块和结束块,乘法电路举例,ASM,图,状态块,ASM,图,判断块,ASM,图,条件输出块,举例乘法器,算法流程图,ASM,图,例、交通灯控制器,1,明确设计要求,东西,-,南北向交通灯控制系统,东西向灯:绿,(40s),黄,(20s),红,(60s),南北向灯:红,(60s) ,绿,(40s),黄,(20s),同时各方向倒计时(,601,401,201,循环),警察有权随时指定系统停在某个状态,确保某个方向的车辆畅通;此时红绿灯保持不变,倒计时数字全变为,0,;直到警察取消操作。,2,确定系统方案,画出简单流程图,3,确定系统方案,画出详细流程图,4,确定控制器、受控器分离模型,5,确定受控器方案,6,分析控制器时序和状态,7,确定实现方式,独立芯片实现,单片机实现,FPGA,实现(图形输入,文本编程),ASIC,实现,8,波形仿真,特别检查控制器的波形是否符合时序要求,9,下载实验箱,检查最后的输入输出是否符合要求,科技报告写作,科技报告是描述科学技术研究的进展和成果,或技术研制实验和评价的结果,或陈述科学技术问题的现状和发展的文件。,科技报告一般分为科技考察报告、技术报告、科技实验报告、科技政策报告等几种,比平时的实验报告要求更加高一些,但又比论文要求低一些,可以要求说处于 实验报告和论文之间。我们一般用在电子设计竞赛中。,科技报告的基本要求,技术报告是科技工作者围绕某一专题从事研究、实验工作或处理某项技术问题时所撰写的阶段报告、成果报告或总结报告。它是科技人员用来交流自己研究工作成果的重要手段,是科研人员,(,或学生、参赛选手,),向主管部门,(,或指导教师、评委,),汇报研究过程、阶段成果和最终成果的正式技术文件。它的内容比较深、专业性强,通常都有一些数据、图表和公式等。,电子竞赛技术报告是科技报告的类型之一。,技术报告可参照科技论文的格式,即:题目、著者、摘要、关键词、引言、正文、结论、致谢、附录、参考文献。,报告的几点建议,(1),期刊上发表的科技论文由于受到版面的限制,字数一般控制在,3000,字,5000,字之间,而技术报告可放宽对字数的限制。鉴于电子竞赛等都是系统级的题目,需要编写的内容多,有的还需要附上程序清单或元件清单,因此其字数应相应增多。,(2),科技论文结构严谨、行文规范,是科技写作的基础,在撰写技术报告时可以学习并效仿,对于科技论文的格式要求,应灵活运用,例如:摘要、关键词、附录、参考文献、致谢等要目要用文字注明,而题目、著者、引言、正文、结论等要目不要用文字注明,只是作为撰写编排技术报告的步骤。在这些步骤中,有的是可以省略的,(3),技术报告的封面应十分明确地注明标题,占,l,行,2,行,标题应直截了当、醒目,例如:“简易数字存储示波器的设计与制作技术报告”。有时可视需要加副标题。标题之下应注明作者、所在单位(班级)、指导教师、日期等。,(4),技术报告的重点是正文部分,也是耗费笔墨最多之处。正文部分应涵盖二级、三级标题,(,或栏目,),VHDL,和,Verilog,HDL,比较,VHDL,为类,ADA,语言,语法,/,结构比较严格,因而编写出的模块风格,比较清晰;,比较适合由较多的设计人员合作完成的特大型项目(一百万门以上),学术界和高校用的较多,Verilog,HDL,较多的第三方工具的支持,语法结构比,VHDL简单,为类,C,语言,较易入门,,学习起来比VHDL容易,企业界使用的更加广泛,简单的,Verilog,HDL,模块举例,module adder (,count,sum,a,b,cin,); /,端口信息,input 2:0,a,b,; /,输入输出说明,input,cin,;,output count;,output 2:0 sum;,assign ,count,sum,=,a+b+cin,; /,功能定义,endmodule,模块的结构,从上面的例子可以看出:,-,Verilog,模块结构完全嵌在,module,和,endmodule,声明语句之间;,-,每个,Verilog,程序包括四个主要部分:端口定义、,I/O,说明、内部信号声明、功能定义。,Verilog,HDL,模块中的功能逻辑表示,在Verilog 模块中有三种方法可以生成逻辑电路:,- 用 assign 语句:,assign cs = ( a0 ,- 用 元件的实例调用:,and and_inst ( q, a, b);,- 用 always 块:,always (posedge clk or posedge clr),begin if (clr) q= 0; else if (en) q= d;,end,并行和顺序,逻辑关系的表示,如在模块中逻辑功能由下面三个语句块组成 :,assign cs = ( a0 / -1,and and_inst ( q,out, a, b); / -2,always (posedge clk or posedge clr) /-3,begin if (clr) q= 0; else if (en) q= d;,end,三条语句是并行的,它们产生独立的逻辑电路;,而在 always 块中: begin 与 end 之间是顺序执行,Verilog,模块中的信号,只有两种主要的信号类型:,-,寄存器类型:,reg,在always 块中被赋值的信号,,往往,代表,触发器,但不一定是触发器。,- 连线类型: wire,用 assign 关键词指定的组合逻辑的信号,或连线,Verilog,中两种不同的赋值语句,非阻塞(,non-blocking) 赋值语句:,always (posedge clk),begin,b = a ;,c = b;,end,clk,DFF,c,D,Q,D,Q,a,b,DFF,Verilog,中两种不同的赋值语句,阻塞(,blocking) 赋值语句:,always (posedge clk),begin,b = a ;,c = b;,end,clk,DFF,c,D,Q,a,b,两种不同的赋值语句区别要点,非阻塞(,non-blocking) 赋值语句 ( b= a),:,-,块内的,赋值语句同时赋值;,- b 的值被赋成新值 a 的操作, 是与块内其他,赋值语句同时完成的;,- 一般在时序逻辑的模块中使用非,阻塞,赋值。,阻塞(,blocking) 赋值语句 ( b = a),:,- 完成该赋值语句后才能做下一句的操作;,- b 的值立刻被赋成新值 a;,- 一般在组合逻辑的模块中使用阻塞赋值,。,组合逻辑设计要点,组合逻辑的两种,Verilog,HDL,表示,:,-,用,assign,语句:,assign q = (al=1?) d,:,0,;,-,用,always,块:,always (al or d),begin,if (al=1) q = d ;,else q = 0;,end,时序逻辑设计要点,时序逻辑的,Verilog,HDL,表示,:,-,用,always,:,如:,always (,posedge,clock),begin,if(!reset,),do_reset,;,else,case(state,),state_1: do_state_1;,state_2: do_state_2;,state_3: do_state_3;,state_4: do_state_4;,state_5: do_state_5;,default: state =xx;,end,语法详细讲解,空格,和注释,Verilog,是一种格式很自由的语言。,空格在文本中起一个分离符的作用,,别的没有其他用处。,单行注释符用,/*,与,C,语言一致,多行注释符用,/* - */,与,C,语言一致,语法详细讲解,数值,Verilog,语言中数值表示:,可以标明位数也可以不标明位数,表示方法:,其中,表明该数用二进制的几位来表示,可以是二(,b,)、,八(,o,)、,十(,d,),或,十六(,h,),进制,可以是所选基数的任何合法的值包括,不定值,x,位和高阻值,z,。,如,:64hff01 8b1101_0001 h83a(,位数默认为,32,位),常数,-,参数类型,parameter,常用参数来声明运行时的常数。,举例说明:,module md1();,.,parameter s0=2b00,s1=2b01,s2=2b10,s3=2b11;,.,always (state),case(state,),s0:,s1:,s2:,s3:,default:,endcase,endmodule,标识符,所谓标识别符就是用户为程序描述中的,Verilog,对象所起的名字。,标识符必须以英语字母(,a-z, A-Z,),起头,或者用下横线符(,_,)起头。其中可以包含数字、,$,符和下横线符。,标识符最长可以达到,1023,个字符。,模块名、端口名和实例名都是标识符。,Verilog,语言是大小写敏感的,因此,sel,和,SEL,是两个不同的标识符。,合法的:,shift_reg_a,busa_index,bus263,非法的:,34net,/,不能用数字开头,a*,b_net,/,不能含有非字母符号*,n263,/,不能含有非字母符号,Verilog,是大小写敏感的。所有的,Verilog,关键词都是小写的。,操作符,单目:,-,符号取反,,!,逻辑取反,,按位取反,,&,缩位与,,&,缩位与非,缩位或,,|,缩位或非,,缩位异或,,缩位同或,双目:*乘,,/,除,,%,取余,,+,加,,-,减,,右移,,小于,,大于,,=,大于 等于,,=,等于,,!=,不等于,,=,严格等于,,!=,严格不等于,,&,按位与,,&,按位与非,,按位异或,,按位同或,,|,按位或,,|,按 位或非,,&,逻辑与,,|,逻辑或;,三目:,?:,条件,设计示例一,用门级结构描述,D触发器:,设计示例一,module,flop(data,clock,clear,q,qb,);,inputdata,clock,clear;,output,q,qb,;,nand,#10nd1(a,data,clock,clear),nd2(b,ndata,clock),nd4(d,c,b,clear),nd5(e,c,nclock),nd6(f,d,nclock),nd8(qb,q,f,clear);,nand,#9nd3(c,a,d),nd7(q,e,qb);,not#10iv1(ndata,data),iv2(nclock,clock);,endmodule,设计示例二,由已设计的模块来构成高一级的模块,clr,d,q,clk,clr,d,q,clk,clr,d,q,clk,q0,d0,clr,d,q,clk,d3,d2,q2,q3,q1,d1,clrb,clk,f4,f3,f2,f1,四位寄存器电路结构图,设计示例二,module,hardreg(d,clk,clrb,q,);,input,clk,clrb,;,input3:0 d;,output3:0q;,flopf1(d0,clk,clrb,q0,),f2(d1,clk,clrb,q1,),f3(d2,clk,clrb,q2,),f4(d3,clk,clrb,q3,);,endmodule,Verilog,HDL,设计示例三,有限状态机的设计,-,有限状态机是由寄存器组和组合逻辑构成的,硬件时序电路,;,- 其状态(即由寄存器组的1,和,0的组合状态所,构成的有限个状态)只能在,同一,时钟跳变沿,的,情况下才能从一个状态转向另一个状态,;,-,究竟转向哪一状态不但取决于各个输入值,,,还取决于当前状态,。,-,状态,机可用于产生在时钟跳变沿时刻开关的,复杂的控制逻辑,是数字逻辑的控制核心。,设计示例三 (续),设计示例三 (续),module,fsm(Clock,Reset,A,F,G,);,input,Clock,Reset,A,;,output F,G;,reg,F,G;,reg,1:0 state ;,parameter Idle=2b00,Start=2b01,Stop=2b10,Clear=2b11;,always (,posedge,Clock),if (!Reset),begin,state=,Idle;F,=0;G=0;,end,else,case (state),idle:,begin,if (A) state=Start;,G=0;,end,start:,if(!A,) state=Stop;,Stop:,begin,if (A) state=Clear;,F=1;,end,Clear:,begin,if (!A) state =Idle;,F=0; G=1;,end,endcase,endmodule,设计示例三 (续),还可以用另一个,Verilog,HDL,模型来表示同一个,有限状态,,,见下例:,Module,fsm(Clock,Reset,A,F,G,);,input Clock, Reset, A;,output F,G;,reg,F,G;,reg,3:0 state ;,parameter,Idle=4b1000,Start=4b0100,Stop=4b0010,Clear=4b0001;,always (,posedge,clock),if (!Reset),begin,state=,Idle;F,=0;G=0;,end,else,case(state,),Idle: begin,if (A) state=Start;,G=0;,end,Start:if(!A)state,=Stop;,Stop:begin,if(A)state,=Clear;,F = 1;,end,Clear: begin,if (!A) state =Idle;,F=0; G=1;,end,default: state =Idle;,endcase,endmodule,设计示例三 (续),我们还可以用另一种风格的,Verilog,HDL,模型来表示同一个,有限状态,。,在这个模型中,我们,把,用,always,语句在时钟沿触发条件下的状态变化放在一个独立的块中, 而把在状态控制下的两个开关分两个独立的,组合逻辑,always,块,来描述,。,见下例:,module,fsm(Clock,Reset,A,F,G,);,input,Clock,Reset,A,;,output F,G;,reg,1:0 state ;,reg,F,G;,parameter Idle = 2b00, Start = 2b01,Stop = 2b10, Clear = 2b11;,设计示例三 (续),always (,posedge,Clock),if (!Reset),state = Idle;,else,case (state),Idle: if (A) state=Start;,Start: if (!,A)state,=Stop;,Stop: if (,A)state,=Clear;,Clear: if (!,A)state,=Idle;,default: state=2,bxx,;,endcase,always (state or Reset or A),begin,if( !,Reset)F,=0;,else,if(state,=,Stop)F,=1;,end,always (state or Reset or A),begin,if(!Reset)G,=0;,else,if(state,=,Clear)G,=1;,end,endmodule,实验一、含“,1”,统计电路设计,基本要求:,1.,采用控制器受控器模型;,2.,串行数据位数:,16,位,利用按键输入;,3.,系统时钟、启动信号等由按键手动输入;,4. “1”,的个数由数码管显示(十六进制);,5.,给出系统仿真结果。,6.,实现方法自选,实验二、简易,DDS,波形发生器设计,主要内容:,利用,DDS,原理和,FPGA,、,DAC,、,OA,等设计任意波形发生器,基本要求:,掌握,DDS,原理,初步掌握数字系统设计方法,DDS,直接数字频率合成器,DDS,(,Direct Digital Synthesizer,)是从相位概念出发直接合成所需波形的一种频率合成技术。一个,DDS,由相位累加器,加法器,波形存储,ROM,,,D/A,转换器和低通滤波器(,LPF,)构成。,DDS,组成和原理,频率控制字,K,累加器,波形,存储器,D/A,转换器,低通,滤波器,N,位,N,位,S,(n),D,位,S,(t),f,c,加法器,加法器,N,位,N,位,相位控制字,P,波形控制字,W,实验三、等精度频率测量系统设计,基本内容:,用等精度方法设计数字频率计,基本要求:,掌握频率测量系统的设计,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!