eda电子设计使用verilog语言电子琴实验报告.docx
- 文档编号:27592162
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:45
- 大小:434.94KB
eda电子设计使用verilog语言电子琴实验报告.docx
《eda电子设计使用verilog语言电子琴实验报告.docx》由会员分享,可在线阅读,更多相关《eda电子设计使用verilog语言电子琴实验报告.docx(45页珍藏版)》请在冰豆网上搜索。
eda电子设计使用verilog语言电子琴实验报告
电子设计自动化课程设计报告
院系:
信息工程学院
专业:
电子信息工程
学号:
姓名:
指导教师:
2013年月日
1设计目的………………………………………………………3
2题目描述与要求………………………………………………3
3课程设计报告内容……………………………………………3
设计原理与思路……………………………………………3
操作过程……………………………………………………4
设计和调试过程中出现的问题及解决方法………………7
4设计总结和心得体会…………………………………………8
一、课程设计目的
使用VerilogHDL语言进行前端设计,并使用Quaruts软件在实验箱上实现仿真,实现硬件电子琴。
电子琴要求有8个音阶,使用外部时钟信号32MHz,能同步显示音阶。
二、课程设计题目描述和要求
题目:
简易电子琴的设计
主要功能:
(1)设计一个八音电子琴。
(2)由键盘输入控制音响,同时可自动演奏乐曲。
(3)用户可以将自己编制的乐曲存入电子琴,演奏时可选择键盘输入乐曲或者已存入的乐曲。
三、课程设计报告内容
设计原理与思路
系统由数控分频器、乐曲存储模块以及发声模块组成。
数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。
乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。
由发声模块产生音符对应的频率的信号来使扬声器发音。
(1)模块automusic
模块automsic由auto信号来选择发声的方式,auto=0时系统自动播放内置的音乐,auto=1时由键盘来手动演奏音乐。
(2)模块TONE
模块Tone是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。
(3)模块Speaker
模块Speaker中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speaker由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。
操作过程
新建工程
添加模块
查找对应芯片
调试程序
波形仿真
生成逻辑图
设置管脚
设计和调试过程中出现的问题及解决方法
在初次编写分频模块时候,使用的是比较基本的计数器分频法,编写程序后在modelsim软件中进行了仿真,发现无法观察到分频情况。
经过分析,原因是由于分频比过大,因此在波形图中很难观察到。
而且由于预分频的占空比很小,更难以观察到高电平。
在原因找到后,为了考察程序的性能,我们将输入频率减小。
同时适当缩小分频比,这样就得到了模块仿真中的分频波形。
四、设计总结和心得体会
通过这次课程设计发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。
这个实验十分有意义我获得很深刻的经验。
通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性,,也从中得知了很多书本上无法得知的知识。
学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。
学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。
这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。
参考文献:
(五号,宋体加粗)
[1]潘松,《EDA实用教程》,科学出版社,2004年
附录:
(源程序)
moduletop(clk32MHz,handTOauto,code1,index1,high1,spkout);
inputclk32MHz,handTOauto;//32MHz系统时钟,键盘输入/自动演奏
input[7:
0]index1;//键盘输入信号
output[6:
0]code1;//音符显示信号
outputhigh1,spkout;//高低音节信号,音频信号
wire[10:
0]tone;
wire[7:
0]indx;
automusicu0(.clk(clk32MHz),.index2(index1),.index0(indx),.auto(handTOauto));
toneu1(.index(indx),.tone0(tone),.code(code1),.high(high1));
speakeru2(.clk1(clk32MHz),.tone1(tone),.spks(spkout));
Endmodule
moduleautomusic(clk,auto,index2,index0);//实现自动演奏功能。
inputclk,auto;//系统时钟;键盘输入/自动演奏
input[7:
0]index2;//键盘输入信号
output[7:
0]index0;//音符信号输出
reg[7:
0]index0;
reg[4:
0]count0;
regclk2;
reg[22:
0]count;
always@(clk,auto)//此过程完成对系统时钟8M的分频,得到4Hz的信号clk2
begin
if(auto)
begin
count=23'd0;
clk2<=1'b1;
end
elseif(clk)
begin
count=count+1'b1;
if(count==23'd4000000)clk2<=1'b1;
elseif(count==23'd8000000)beginclk2<=1'b0;count=23'd0;end
end
end
always@(posedgeclk2)//此过程完成自动演奏部分曲的地址累加
begin
if(count0==5'd31)
count0<=5'd0;
else
count0<=count0+1'b1;
end
always@(count0,auto,index2)
begin
if(!
auto)
case(count0)//此case语句:
存储自动演奏部分的曲
5'd0:
index0<=8'b00000100;//3
5'd1:
index0<=8'b00000100;
5'd2:
index0<=8'b00000100;
5'd3:
index0<=8'b00000100;
5'd4:
index0<=8'b00010000;//5
5'd5:
index0<=8'b00010000;
5'd6:
index0<=8'b00010000;
5'd7:
index0<=8'b00100000;//6
5'd8:
index0<=8'b10000000;//8
5'd9:
index0<=8'b10000000;
5'd10:
index0<=8'b10000000;
5'd11:
index0<=8'b00000100;
5'd12:
index0<=8'b00000010;//2
5'd13:
index0<=8'b00000010;
5'd14:
index0<=8'b00000001;//1
5'd15:
index0<=8'b00000001;
5'd16:
index0<=8'b00010000;//5
5'd17:
index0<=8'b00010000;
5'd18:
index0<=8'b00001000;//4
5'd19:
index0<=8'b00001000;
5'd20:
index0<=8'b00001000;
5'd21:
index0<=8'b00000100;
5'd22:
index0<=8'b00000010;
5'd23:
index0<=8'b00000010;
5'd24:
index0<=8'b00010000;
5'd25:
index0<=8'b00010000;
5'd26:
index0<=8'b00001000;
5'd27:
index0<=8'b00001000;
5'd28:
index0<=8'b00000100;
5'd29:
index0<=8'b00000100;
5'd30:
index0<=8'b00000010;
5'd31:
index0<=8'b00000010;
default:
;
endcase
elseindex0<=index2;//键盘输入音符信号输出
end
Endmodule
moduletone(index,code,high,tone0);//音阶发生器程序。
input[7:
0]index;//音符输入信号
output[6:
0]code;//音符显示信号
outputhigh;//高低音显示信号
output[10:
0]tone0;//音符的分频系数
reghigh;
reg[6:
0]code;
reg[10:
0]tone0;
always@(index)//此过程完成音符到音符的分频系数译码,音符的显示,高低音阶
begin
case(index)
8'b00000001:
begintone0=11'd773;code=6'b1001111;high=1'b1;end
8'b00000010:
begintone0=11'd912;code=6'b0010010;high=1'b1;end
8'b00000100:
begintone0=11'd1116;code=6'b1001100;high=1'b1;end
8'b00010000:
begintone0=11'd1197;code=6'b0100100;high=1'b1;end
8'b00100000:
begintone0=11'd1290;code=6'b0100000;high=1'b0;end
8'b01000000:
begintone0=11'd1372;code=6'b0001111;high=1'b0;end
8'b10000000:
begintone0=11'd1410;code=6'b0000000;high=1'b0;end
default:
begintone0=11'd2047;code=6'b0000001;high=1'b0;end
endcase
end
endmodule
modulespeaker(clk1,tone1,spks);//实现数控分频
inputclk1;//系统时钟
input[10:
0]tone1;//音符分频系数
outputspks;//驱动扬声器的音频信号
reg[10:
0]tone2;
regspks;
regpreclk,fullspks,count2;
reg[3:
0]count;
reg[10:
0]count11;
always@(posedgeclk1)//此过程对系统时钟进行4分频
begin
count=count+1'b1;
if(count==4'h2)
preclk<=1'b1;
else
if(count==4'h4)
begin
preclk<=1'b0;
count=4'h0;
end
end
always@(posedgepreclk)//此过程按照tone1输入的分频系数对8MHz的脉冲再次分频,得到所需要的音符频率
begin
if(count11 begin count11=count11+1; fullspks<=1'b1; end else begin count11<=0; fullspks<=1'b0; end end always@(posedgefullspks)//此进程对fullspks进行2分频 begin count2=~count2; if(count2) spks<=1'b1; else spks<=1'b0; end Endmodule 原文已完。 下文为附加文档,如不需要,下载后可以编辑删除,谢谢! 施工组织设计 本施工组织设计是本着“一流的质量、一流的工期、科学管理”来进行编制的。 编制时,我公司技术发展部、质检科以及项目部经过精心研究、合理组织、充分利用先进工艺,特制定本施工组织设计。 一、工程概况: 西夏建材城生活区27#、30#住宅楼位于银川市新市区,橡胶厂对面。 本工程由宁夏燕宝房地产开发开发,银川市规划建筑设计院设计。 本工程耐火等级二级,屋面防水等级三级,地震防烈度为8度,设计使用年限50年。 本工程建筑面积: 27#m2;30#m2。 室内地坪±m为准,总长27#m;30#m。 总宽27#m;30#m。 设计室外地坪至檐口高度18.600m,呈长方形布置,东西向,三个单元。 本工程设计屋面为坡屋面防水采用防水涂料。 外墙水泥砂浆抹面,外刷浅灰色墙漆。 内墙面除卫生间200×300瓷砖,高到顶外,其余均水泥砂桨罩面,刮二遍腻子;楼梯间内墙采用50厚胶粉聚苯颗粒保温。 地面除卫生间200×200防滑地砖,楼梯间50厚细石砼1: 1水泥砂浆压光外,其余均采用50厚豆石砼毛地面。 楼梯间单元门采用楼宇对讲门,卧室门、卫生间门采用木门,进户门采用保温防盗门。 本工程窗均采用塑钢单框双玻窗,开启窗均加纱扇。 本工程设计为节能型住宅,外墙均贴保温板。 本工程设计为砖混结构,共六层。 基础采用C30钢筋砼条形基础,上砌MU30毛石基础,砂浆采用M10水泥砂浆。 一、二、三、四层墙体采用M10混合砂浆砌筑MU15多孔砖;五层以上采用M混合砂浆砌筑MU15多孔砖。 本工程结构中使用主要材料: 钢材: I级钢,II级钢;砼: 基础垫层C10,基础底板、地圈梁、基础构造柱均采用C30,其余均C20。 本工程设计给水管采用PPR塑料管,热熔连接;排水管采用UPVC硬聚氯乙烯管,粘接;给水管道安装除立管及安装IC卡水表的管段明设计外,其余均暗设。 本工程设计采暖为钢制高频焊翅片管散热器。 本工程设计照明电源采用BV-铜芯线,插座电源等采用BV-4铜芯线;除客厅为吸顶灯外,其余均采用座灯。 二、施工部署及进度计划 1、工期安排 本工程合同计划开工日期: 2004年8月21日,竣工日期: 2005年7月10日,合同工期315天。 计划2004年9月15日前完成基础工程,2004年12月30日完成主体结构工程,2005年6月20日完成装修工种,安装工程穿插进行,于2005年7月1日前完成。 具体进度计划详见附图-1(施工进度计划)。 2、施工顺序 ⑴基础工程 工程定位线(验线)→挖坑→钎探(验坑)→砂砾垫层的施工→基础砼垫层→刷环保沥青→基础放线(预检)→砼条形基础→刷环保沥青→毛石基础的砌筑→构造柱砼→地圈梁→地沟→回填工。 ⑵结构工程 结构定位放线(预检)→构造柱钢筋绑扎、定位(隐检)→砖墙砌筑(+50cm线找平、预检)→柱梁、顶板支模(预检)→梁板钢筋绑扎(隐检、开盘申请)→砼浇筑→下一层结构定位放线→重复上述施工工序直至顶。 ⑶内装修工程 门窗框安装→室内墙面抹灰→楼地面→门窗安装、油漆→五金安装、内部清理→通水通电、竣工。 ⑷外装修工程 外装修工程遵循先上后下原则,屋面工程(包括烟道、透气孔、压顶、找平层)结束后,进行大面积装饰,塑钢门窗在装修中逐步插入。 三、施工准备 1、现场道路 本工程北靠北京西路,南临规划道路,交通较为方便。 场内道路采用级配砂石铺垫,压路机压。 2、机械准备 ⑴设2台搅拌机,2台水泵。 ⑵现场设钢筋切断机1台,调直机1台,电焊机2台,1 台对焊机。 ⑶现场设木工锯,木工刨各1台。 ⑷回填期间设打夯机2台。 ⑸现场设塔吊2台。 3、施工用电 施工用电已由建设单位引入现场;根据工程特点,设总配电箱1个,塔吊、搅抖站、搅拌机、切断机、调直机、对焊机、木工棚、楼层用电、生活区各配置配电箱1个;电源均采用三相五线制;各分支均采用钢管埋地;各种机械均设置接零、接地保护。 具体配电箱位置详见总施工平面图。 3、施工用水 施工用水采用深井水自来水,并砌筑一蓄水池进行蓄水。 楼层用水采用钢管焊接给水管,每层留一出水口;给水管不置蓄水池内,由潜水泵进行送水。 4、生活用水 生活用水采用自来水。 5、劳动力安排 ⑴结构期间: 瓦工40人;钢筋工15人;木工15人;放线工2人;材料1人;机工4人;电工2人;水暖工2人;架子工8人;电焊工2人;壮工20人。 ⑵装修期间 抹灰工60人;木工4人;油工8人;电工6人;水暖工10人。 四、主要施工方法 1、施工测量放线 ⑴施工测量基本要求 A、西夏建材城生活区17#、30#住宅楼定位依据: 西夏建材城生活区工程总体规划图,北京路、规划道路永久性定位 B、根据工程特点及<建筑工程施工测量规程>DBI01-21-95,4、3、2条,此工程设置精度等级为二级,测角中误差±12,边长相对误差1/15000。 C、根据施工组织设计中进度控制测量工作进度,明确对工程服务,对工程进度负责的工作目的。 ⑵工程定位 A、根据工程特点,平面布置和定位原则,设置一横一纵两条主控线即27#楼: (A)轴线和 (1)轴线;30#楼: (A)轴线和 (1)轴线。 根据主轴线设置两条次轴线即27#楼: (H)轴线和(27)轴线;30#楼: (H)轴线和(27)轴线。 B、主、次控轴线定位时均布置引桩,引桩采用木桩,后砌一水泥砂浆砖墩;并将轴线标注在四周永久性建筑物或构造物上,施测完成后报建设单位、监理单位确认后另以妥善保护。 C、控轴线沿结构逐层弹在墙上,用以控制楼层定位。 D、水准点: 建设单位给定准点,建筑物±.500m。 ⑶基础测量 A、在开挖前,基坑根据平面布置,轴线控制桩为基准定出基坑长、宽度,作为拉小线的依据;根据结构要求,条基外侧1100mm为砂砾垫层边,考虑放坡,撒上白灰线,进行开挖。 B、在垫层上进行基础定位放线前,以建筑物平面控制线为准,校测建筑物轴线控制桩无误后,再用经纬仪以正倒镜挑直法直接投测各轴线。 C、标高由水准点引测至坑底。 ⑷结构施工测量 A、首层放线验收后,主控轴一引至外墙立面上,作为以上务层主轴线竖身高以测的基准。 B、施工层放线时,应在结构平面上校投测轴线,闭合后再测设细部尺寸和边线。 C、标高竖向传递设置3个标高点,以其平均点引测水平线折平时,尽量将水准仪安置在测点范围内中心位置,进行测设。 2、基坑开挖 本工种设计地基换工,夯填砂砾垫层1100mm;根据此特点,采用机械大开挖,留200mm厚进行挖工、铲平。 开挖时,根据现场实际土质,按规范要求1: 0.33放坡,反铲挖掘机挖土。 开挖出的土,根据现场实际情况,尽量留足需用的好土,多余土方挖出,避免二次搬运。 人工开挖时,由技术员抄平好水平控制小木桩,用方铲铲平。 挖掘机挖土应该从上而下施工,禁止采用挖空底脚的操作方法。 机械挖土,先发出信号,挖土的时候,挖掘机操作范围内,不许进行其他工作,装土的时候,任何人都不能停留在装土车上。 3、砌筑工程 ⑴材料 砖: MU15多孔砖,毛石基础采用MU30毛石。 砂浆: ±0.00以下采用M10水泥砂浆,一、二、三、四层采用M10混合砂浆,五层以上采用M7.5混合砂浆。 ⑵砌筑要求 A、开工前由工长对所管辖班组下发技术交底。 B、砌筑前应提前浇水湿润砖块,水率保持在10%-15%。 C、砌筑采用满铺满挤“三一砌筑法“,要求灰浆饱满,灰缝8-12mm。 D、外墙转角处应同时砌筑,内外墙交接处必须留斜槎,槎子长度不小于墙体高度的2/3,槎子必须平直、通顺。 E、隔墙与墙不同时砌筑又不留成斜槎时可于墙中引出阳槎或在墙的灰缝中预埋拉结筋,每道不少于2根。 F、接槎时必须将表面清理干净,浇水湿润,填实砂浆,保持灰缝平直。 G、砖墙按图纸要求每50mm设置2φ6钢筋与构造柱拉结,具体要求见结构总说明。 H、施工时需留置临时洞口,其侧边离交接处的墙面不少于500mm,顶部设边梁。 4、钢筋工程 ⑴凡进场钢筋须具备材质证明,原材料须取样试验,经复试合格后方可使用。 ⑵钢筋绑扎前应仔细对照图纸进行翻样,根据翻样配料,施工前由工长对所管辖班组下发技术交底,准备施工工具,做好施工的准备工作。 ⑶板中受力钢筋搭接,I级钢30d,II级钢40d,搭接位置: 上部钢筋在跨中1/3范围内,下部钢筋在支座1/3范围内。 ⑷钢筋保护层: 基础40mm,柱、梁30mm,板20mm。 保护层采用50mm×50mm的水泥砂浆块。 板上部钢筋用马凳按梅花状支起。 ⑸所有钢筋绑扎,须填写隐检记录,质评资料及目检记录,验收合格后方可进行下道工序。 5、砼工程 ⑴水泥进场后须做复试,经复试合格后由试验室下达配合比。 施工中严格掌握各种材料的用量,并在搅拌机前进行标识,注明每立方米、每盘用量。 同时搅拌时,须车车进磅,做好记录。 ⑵浇筑前,对模板内杂物及油污、泥土清理干净。 ⑶投料顺序: 石子→水泥→砂子。 ⑷本工程均采用插入式振捣器,一次浇筑厚度不宜超过振捣器作用部分长度的倍,捣实砼的移动间距不宜大于振捣器作用半径的倍。 ⑸砼浇筑后1昼夜浇水养护,养护期不少于7d,砼强度未达到MPa之前不得上人作业。 6、模板工程 ⑴本工程模板采用钢木混合模板。 模板支搭的标高、截面尺寸、平整度、垂直度应达到质量验收标准,以满足其钢度,稳定性要求。 ⑵模板支撑应牢固可靠,安装进程中须有防倾覆的临时固定措施。 ⑶本工程选用851脱模剂,每拆除一次模板经清理后涂刷脱模剂,再重新组装,以保证砼的外观质量。 6、架子工程 ⑴本工程采用双排架子防护,外设立杆距墙2m,里皮距墙50cm,立杆间距,顺水间距,间距不大于1m。 ⑵架子底部夯实,垫木板,绑扫地杆。 ⑶为加强架子的稳定性,每七根立杆间设十字盖,斜杆与地面夹角60o。 ⑷为防止脚平架外倾,与结构采用钢性拉接,拉接点间距附和“垂四平六“的原则。 ⑸外防护架用闭目式安全网进行封闭,两平网塔接和网下口必须绑孔紧密。 ⑹结构架子高出作业层1m,每步架子满铺脚手板,要求严密牢固并严禁探头板。 7、装饰工程 装饰工程施工前,要组织质监部门、建设、设计、施工单位四方参加的主体结构工程核验收,对已完全体分部工程进行全面检查、发现问题及时处理,清除隐患,并做好装饰前材料、机具及技术准备工作。 1、根据预算所需材料数量,提出材料进场日期,在不影响施工用料的原则下,尽量减少施工用地,按照供料计划分期分批组织材料进场。 2、将墙面找方垂直线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eda 电子设计 使用 verilog 语言 电子琴 实验 报告