数字电路设计讲座new

数字电路设计讲座new

ID:18511684

大小:126.50 KB

页数:12页

时间:2018-09-18

数字电路设计讲座new_第1页
数字电路设计讲座new_第2页
数字电路设计讲座new_第3页
数字电路设计讲座new_第4页
数字电路设计讲座new_第5页
资源描述:

《数字电路设计讲座new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数字电路设计讲座必须掌握的技能u如何运用VerilogHDL语言进行电路设计u怎样实现层次化/结构化设计u怎样编写测试激励(test_bench)u怎样调试电路代码和进行电路仿真(Debbusy、Modelsim)(一)verilog语言简介(通过几个实例来说明)1,帧头检测电路moduleframe_head_detect(clk,reset,cout,cin);inputclk,reset,cin;outputcout;reg[7:0]temp;always@(posedgeclkorposedgereset)if

2、(reset)temp<=8'b0;elsetemp<={temp[7:0],cin};assigncout=(temp==8'b01111110);endmodule说明:1,电路模块以module开始,以endmodule结束。2,电路模块由名称、端口信号、端口信号说明、程序体等组成。3,程序体由中间信号、语句等组成。4,语句主要有always和assign语句。边沿触发和电平触发。5,信号有wire和reg(register)之分。它们可以互换,没有本质区别。6,改写temp<={temp[7:0],cin};7

3、,改写assigncout=(temp==8'b01111110);2,查找表电路modulerom_data8(addr,data,parity);input[2:0]addr;output[3:0]data;outputparity;reg[4:0]mem[0:7];wire[4:0]data_temp;assigndata_temp=mem[addr];assigndata=data_temp[4:1];assignparity=data_temp[0];initial$readmemh("D:/rom_cof.

4、hex",mem);endmodule问题:在这个模块中,data_temp定义为wire,所以用assign语句赋值,如何改成always语句的赋值方式?3,随机数产生器发送和接收电路//***********************************************************************//file:prbs15_tx.v//functions:Completeprbs15transmitfunction.//author:YaoYafeng//version1.02010-

5、09-12//************************************************************************moduleprbs15_tx(//inputreset,clk2m,phaseinv,//outputprbsdata);Inputreset;Inputclk2m;Inputphaseinv;//测试码反相使能,1表示发送码流反相Outputprbsdata;//产生15位的M序列Reg[14:0]shift_buf;always@(posedgeclk2mo

6、rposedgereset)if(reset)shift_buf<=15'b100100100000000;//设定初始值elsebeginshift_buf[0]<=shift_buf[13]^shift_buf[14];//15级M序列编码规则shift_buf[1]<=shift_buf[0];shift_buf[2]<=shift_buf[1];shift_buf[3]<=shift_buf[2];shift_buf[4]<=shift_buf[3];shift_buf[5]<=shift_buf[4];shi

7、ft_buf[6]<=shift_buf[5];shift_buf[7]<=shift_buf[6];shift_buf[8]<=shift_buf[7];shift_buf[9]<=shift_buf[8];shift_buf[10]<=shift_buf[9];shift_buf[11]<=shift_buf[10];shift_buf[12]<=shift_buf[11];shift_buf[13]<=shift_buf[12];shift_buf[14]<=shift_buf[13];endregdatatmp

8、;always@(posedgeclk2morposedgereset)if(reset)datatmp<=#10;elsedatatmp<=#1shift_buf[14];wireprbsdatatmp;assignprbsdatatmp=(phaseinv)?(!datatmp):datatmp;regprbsdata;alw

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。