Verilog-VHDL-曼彻斯特编码器

上传人:日度 文档编号:145965752 上传时间:2020-09-25 格式:DOC 页数:9 大小:239.50KB
返回 下载 相关 举报
Verilog-VHDL-曼彻斯特编码器_第1页
第1页 / 共9页
Verilog-VHDL-曼彻斯特编码器_第2页
第2页 / 共9页
Verilog-VHDL-曼彻斯特编码器_第3页
第3页 / 共9页
Verilog-VHDL-曼彻斯特编码器_第4页
第4页 / 共9页
Verilog-VHDL-曼彻斯特编码器_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《Verilog-VHDL-曼彻斯特编码器》由会员分享,可在线阅读,更多相关《Verilog-VHDL-曼彻斯特编码器(9页珍藏版)》请在金锄头文库上搜索。

1、1.5.什么叫“综合”?一般“综合”包含哪些过程? 答:在电子设计领域中“综合”的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 综合包含的过程:对VHDL或Verilog HDL进行处理分析,并将其转换成电路结构或模块,这时不考虑实际器件实现,即完全与硬件无关,这个过程是一个通用电路原理图形成的过程:第2步,对实际实现目标器件的结构进行优化,并使之满足各种约束条件,优化关键路径,等等。2.10 使用Quartus II的 Mega Wizard Plug-In Manager宏功能模块中的PLL设计一个能实现图题2.10波形的电路元件(包括一

2、个VHDL文件和一个*.bsf原理图图标)。其中:inclk0为电路的主频输入端,频率为50MHz;areset为异步置位端,c2和主频inclk0同频率。c1为主频inclk0的倍频输出信号。C0为c2的反相信号。Locked为相位控制信号,也是输出使能控制信号。( 2014am)3.20 试用VHDL 语言设计一个曼彻斯特编码器。已知有时钟信号clk_d、时钟的倍频信号clk及时钟的反相信号clk_dn。串行数据输入为data_s,编码输出为mcode_out,输出使能信号为clk_lock_in,高电平有效(2012am) (2013am) (2014am)提示:曼彻斯特码(Manche

3、ster Code)又称为数字双相码或分相码(Split-phase Code)。它的编 码规则是:用分别持续半个码元周期的正(高)、负(低)电平组合表示信码“1”;用分别持续半个码元周期的负(低) 、正(高)电平组合表示信码“0” 。 图题3.20 用倍频时钟设计Manchester Code图题3.20 用双时钟设计Manchester Code 的仿真结果 hsu_manchester_code_vmodule hsu_manchester_code_v ( clk,clk_d,clk_dn,data_s, clk_lock_in,mcode_out);input clk,clk_d,c

4、lk_dn,data_s,clk_lock_in;output mcode_out;reg mcode_out;reg temp_mcode_out;reg temp_mcode_out_ddn;always ( posedge clk or posedge clk_lock_in )begin if (clk_lock_in=1b1) if (data_s=1b1) temp_mcode_out=clk_d; else temp_mcode_out=1b0; else temp_mcode_out=1b0; end always ( posedge clk or posedge clk_lo

5、ck_in )begin if (clk_lock_in=1b1) if (data_s=1b0) temp_mcode_out_ddn=clk_dn; else temp_mcode_out_ddn=1b0; else temp_mcode_out_ddn=1b0; Endalways ( posedge clk or posedge clk_lock_in ) begin if (clk_lock_in=1b1) mcode_out=temp_mcode_out; temp_mcode_out_ddn; else mcode_out=1b0; end endmodule 3.21 试用VH

6、DL 语言设计一个求两个数中最大值的程序,要求用函数调用的方法设计。其中:data为输入信号,位宽8bit,dataout为最大值输出,位宽8bit。Clk为时钟信号。设计一位控制信号set,当set为低电平时,输出data和peak中的最大值。(2013am) 2014am) 。实体部分LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.ning_bpac.ALL;ENTITY ning_peakdetect IS PORT(data:IN STD_LOGIC_VECTOR(7 DOWNTO 0); clk,set: IN STD_LOGIC;

7、 dataout: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END ning_peakdetect ; ARCHITECTURE peakdetect_behave OF ning_peakdetect IS SIGNAL peak: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN dataout=peak; PROCESS(clk) BEGIN IF(clkEVENT AND clk=1) THEN IF (set=1 ) THEN peak=data; ELSE peakb) THEN temp:=a; ELSE temp:=b; END

8、 IF; RETURN temp; END max;END ning_bpac;3.22 试用VHDL 语言设计一个8位二进制加计数器。其中:qout 为8位二进制输出,cout 为进位输出,clr 为同步清零端,当clr为高电平时清零、低电平时工作。Cipher为8位密码控制输入端,其控制功能如下表所示:(2014am) cipher功能 00001111加计数 11110000减计数 11001100停止计数 11111111停止计数并且输出BCD码要求:1.设计一个计数分频器,输入频率 clk 为50Mhz ,输出频率 newclk 为1hz。 newclk 为计数器的计数频率。2.编写

9、一个把二进制转换为整数的函数。3.当停止计数时,调用上述函数用整数除法把二进制数转换为BCD 码。(2014am)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYUpdowncnt8ISPORT(clk,clr:INSTD_LOGIC;cipher:INSTD_LOGIC_VECTOR(7DOWNTO0);cout:OUTSTD_LOGIC;q:BUFFERINTEGERRANGE0TO15);ENDUpdowncnt8;ARCHITECTUREoneOFUpdowncnt8ISBEGINPROCESS(clk,clr)BEGINIFclkEVENTA

10、NDclk=1THENIFclr=0THENCASEcipherISWHEN00001111=IFq=15THENq=0;cout=0;ELSIFq=14THENq=q+1;cout=1;ELSEqIFq=0THENq=15;cout=0;ELSIFq=1THENq=q-1;cout=1;ELSEqNULL;WHEN11111111= NULL;WHENOTHERS=NULL;ENDCASE;ELSIFclr=1THENq=0;ENDIF;ENDIF;ENDPROCESS;ENDone;4.14 8线-3线优先编码器CD4532功能表如表4.1a所示,试用Verilog HDL语言实现该8线-3线优先编码器。 (2011am) (2011gam)(2012am) (2013am)(2014am)module coder_8(y,a);input7:0 a;output2:0y;reg2:0 y;always (a) begin if(a7) y=b111; else if(a6) y=b110; else if(a5) y=b101; else if(a4) y=b100; else if(a3) y=b011; else if(a2) y=b010; else if(a1) y=b001; else y=b000; endendmodule 表4.1a 8线-3线优先编码器CD

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号