3.2 3 |
您所在的位置:网站首页 › flash模块ip › 3.2 3 |
3-8译码器设计和IP核
1 译码器的实现1.1 功能表分析1.2 真值表分析1.3 代码分析1.4 RTL分析1.5 仿真文件1.6 约束文件1.7 综合1.8 下载到实验板
2 设计译码器IP核2.1 设计译码器IP核步骤2.2 属性设置2.2.1 Identification身份2.2.2 Compatibility兼容性2.2.3 File Groups2.2.4 Ports and Interfaces2.2.5 Customization GUI界面定制2.2.6 Review and Package
该文档的MOOC的视频教程 1 译码器的实现 1.1 功能表分析o表示低有效(即0有效),用bubble命名;c 是高位 新建一个工程。或者从设计好的工程(多数表决器工程)开始,将工程另存为名称为p_74x138的工程。 ① 模块定义 ② 模块输入输出声明 ③ 变量定义 ④ always 块,如果有输入发生变化,执行 ⑤ 如果使能有效 ⑥ 根据输入端的值进行译码 ⑦ 如果使能无效 ⑧ Always 块结束 ⑨ 模块结束 module v74x138(g1,g2a_l,g2b_l,a,y_l); input g1,g2a_l,g2b_l; input [2:0] a; output [7:0] y_l; reg [7:0] y_l=0; always @ (g1 or g2a_l or g2b_l or a) begin if (g1 && ~g2a_l && ~g2b_l) //逻辑与,全部使能有效 case (a) 7:y_l=8'b01111111; 6:y_l=8'b10111111; 5:y_l=8'b11011111; 4:y_l=8'b11101111; 3:y_l=8'b11110111; 2:y_l=8'b11111011; 1:y_l=8'b11111101; 0:y_l=8'b11111110; default:y_l=8'b11111111; endcase else y_l=8'b11111111; end endmodule 1.4 RTL分析① 通过RTL分析,得到RTL分析的原理图如图 ② 使用RAM实现的译码逻辑 ③ 使能组合逻辑 ④ If语句使用多路选择器实现 ① 模块定义 ② 变量定义 ③ 调用被仿真模块 ④ 初始化 ⑤ always 块 ⑥ 模块结束
编译后下载到电路板,拨动拨码开关,当使能无效时,所有的LED点亮,因为输出全为1。 使能有效时,对输入进行译码,对应的LED熄灭。 需要注意,应根据板子的说明或通过查看板子上拨码开关和LED的标识实现约束文件,在完成约束文件后需重新实现(Implement)和生成比特流文件,然后再下载。 IP核,全称知识产权核(Intellectual Property core),是指某一方提供的、形式为逻辑单元的可重用模块。 IP核通常已经通过了设计验证,设计人员以IP核为基础进行设计,可以缩短设计所需的周期。 IP核可以通过协议由一方提供给另一方,或由一方独自占有。 IP核的概念源于产品设计的专利证书和源代码的版权等。设计人员能够以IP核为基础进行FPGA的逻辑设计,以减少设计周期。在VIVADO下设计和使用IP核必须遵循VIVADO的步骤。 Vivado的IP核 VIVADO提倡的积木式设计,积木就是IP核。用户可以将功能模块设计做成一个一个IP核,然后“组装”起来成为产品。 VIVADO本身提供了很多IP核可供用户使用,例如数学运算(乘法器、除法器、浮点运算器等)、信号处理(FFT、DFT、DDS等)。 用户也可以使用第三方的IP核来加快设计,例如使用第三方提供的神经网络处理IP核。 开发者也可以开发自己的IP核,自己在各个工程中调用或提供给第三方使用。 2.1 设计译码器IP核步骤验证功能正确后,就可以生成IP核了,最后生成的IP核和约束文件无关。 在当前工程环境下,点击菜单栏Tools,在弹出的子菜单上找到并点击Create and Package IP,在弹出的窗口上直接点击Next。(Tools->Create and Package New IP) Identification(身份)需要填写这两项名称,供应商显示名称、公司URL显示名称 端口和接口不需要更改 逻辑符号以图形的方式展示了该IP的输入输出借口 修改之后,需要重新生成IP核 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |