您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > SOC原理及应用实验指导书(修订实验5)
《SOC原理及应用》实验指导书1实验五基于模块多层次引用的结构化电路设计一、实验目的1.了解复杂电路与系统的“top-down”设计思想;2.掌握简单多层次电路的描述方法。二、实验原理多层次结构电路的设计复杂数字系统可采用“top-down”的方法进行设计:首先把系统分为几个模块,每个模块在分为几个子模块,依次类推,知道易于实现为止。这种“top-down”的方法能够把复杂的设计分为许多简单的设计来实现,同时也适合于多人进行合作开发。多层次结构电路的描述既可以采用文本方式,也可以采用图形和文本混合设计的方式。被调用模块的指定方式:1)文件复制方式;2)使用`include语句;3)库管理方式。三、实验仪器序号名称型号与规格数量备注1计算机系统(PC机)Intel奔腾系列,1G内存12Quarues6.0以上1四、实验内容多层次结构电路的设计复杂数字系统可采用“top-down”的方法进行设计:首先把系统分为几个模块,每个模块在分为几个子模块,依次类推,知道易于实现为止。这种“top-down”的方法能够把复杂的设计分为许多简单的设计来实现,同时也适合于多人进行合作开发。多层次结构电路的描述既可以采用文本方式,也可以采用图形和文本混合设计的方式。被调用模块的指定方式:1)文件复制方式;2)使用`include语句;3)库管理方式。设计实例分析这个实例的功能是将并行数据转化为串行数据送交外部电路编码,并将解码后得到的串行数据转化为并行数据交由CPU处理。显而易见,这实际上是两个独立的逻辑功能,分别设计为独立的模块,然后再合并为一个模块显得目的明确、层次清晰。模块源代码//----------------p_to_s.v---------------------------------modulep_to_s(D_in,T0,data,SEND,ESC,ADD_100);《SOC原理及应用》实验指导书2outputD_in,T0;//D_in是串行输出,T0是移位时钟并给//CPU中断,以确定何时给出下个数据。input[7:0]data;//并行输入的数据。inputSEND,ESC,ADD_100;//SEND、ESC共同决定是否进行并到串//的数据转化。ADD_100决定何时置数。wireD_in,T0;reg[7:0]DATA_Q,DATA_Q_buf;assignT0=!(SEND&ESC);//形成移位时钟。.assignD_in=DATA_Q[7];//给出串行数据。always@(posedgeT0ornegedgeADD_100)//ADD_100下沿置数,T0上沿移位。beginif(!ADD_100)DATA_Q=data;elsebeginDATA_Q_buf=DATA_Q1;//DATA_Q_buf作为中介,以令综合器DATA_Q=DATA_Q_buf;//能辨明。endendendmodule在p_to_s.v中,由于移位运算虽然可综合,但是不是简单的RTL级描述,直接用DATA_Q=DATA_Q1的写法在综合时会令综合器产生误解。另外,在该设计中,由于时钟T0的频率较低,所以没有象以往那样采用低电平置数,而是采用ADD_100的下降沿置数。//---------------------s_to_p.v---------------------------modules_to_p(T1,data,D_out,DSC,TAKE,ADD_101);outputT1;//给CPU中断,以确定CPU何时取转化//得到的并行数据。output[7:0]data;inputD_out,DSC,TAKE,ADD_101;//D_out提供输入串行数据。DSC、TAKE//共同决定何时取数。wire[7:0]data;wireT1,clk2;reg[7:0]data_latch,data_latch_buf;assignclk2=DSC&TAKE;//提供移位时钟。assignT1=!clk2;assigndata=(!ADD_101)?data_latch:8'bz;always@(posedgeclk2)begindata_latch_buf=data_latch1;//data_latch_buf作缓冲data_latch=data_latch_buf;//,以令综合器能辩明。《SOC原理及应用》实验指导书3data_latch[0]=D_out;endendmodule将上面的两个模块合并起来的sys.v的源代码://-------------------sys.v---------------------------`include./p_to_s.v`include./s_to_p.vmodulesys(D_in,T0,T1,data,D_out,SEND,ESC,DSC,TAKE,ADD_100,ADD_101);inputD_out,SEND,ESC,DSC,TAKE,ADD_100,ADD_101;inout[7:0]data;outputD_in,T0,T1;p_to_sp_to_s(.D_in(D_in),.T0(T0),.data(data),.SEND(SEND),.ESC(ESC),.ADD_100(ADD_100));s_to_ps_to_p(.T1(T1),.data(data),.D_out(D_out),.DSC(DSC),.TAKE(TAKE),.ADD_101(ADD_101));endmodule仿真波形:《SOC原理及应用》实验指导书4《SOC原理及应用》实验指导书5五、思考题多层次结构电路的描述采用什么方式?
本文标题:SOC原理及应用实验指导书(修订实验5)
链接地址:https://www.777doc.com/doc-2849867 .html