本节将使用VHDL和Verilog HDL描述有符号和无符号整数的除法运算。整数除法运算块的符号描述如图3.13所示。
图3.13 整数除法运算块的符号描述
图3.14 无符号数进行除法运算的过程
两个无符号二进制数(11001) 2 =(25) 10 和(101) 2 =(5) 10 进行除法运算的过程如图3.14所示。在进行完除法运算后,产生商和余数。本小节将使用HDL描述无符号数的除法运算。
本部分给出了无符号数除法运算的VHDL描述,如代码清单3-13所示。
代码清单3-13 top.vhd
注 :读者可以定位到本书所提供资料的\intel_dsp_example\example_3_13路径中,用Quartus P rime P ro 2019.4集成开发环境打开该设计。
本部分给出了无符号数除法运算的Verilog HDL描述,如代码清单3-14所示。
代码清单3-14 top.v
注 :读者可以定位到本书所提供资料的\intel_dsp_example\example_3_14路径中,用Quartus P rime P ro 2019.4集成开发环境打开该设计。
使用ModelSim-INTEL FPGA STARTER EDITION 2019.2仿真工具对无符号数的除法运算进行仿真,其结果如图3.15所示。
图3.15 无符号数除法运算的仿真结果(反色显示)
思考与练习3-13 :对无符号数除法运算的仿真结果进行分析。
思考与练习3-14 :使用HDL语言描述无符号数除法运算的优势体现在哪些方面?
思考与练习3-15 :在Quartus Prime Pro 2019.4集成开发环境下,分别对无符号数除法运算的VHDL和Verilog HDL设计进行Analysis Synthesis,然后用Technology Map Viewer(Post-Mapping)打开所生成的网表结构,并对该结构进行分析。
本小节将使用HDL描述有符号数的除法运算。
本部分给出了有符号数除法运算的VHDL描述,如代码清单3-15所示。
代码清单3-15 top.vhd
注 :读者可以定位到本书所提供资料的\intel_dsp_example\example_3_15路径中,用Quartus P rime P ro 2019.4集成开发环境打开该设计。
本部分给出了有符号数除法运算的Verilog HDL描述,如代码清单3-16所示。
代码清单3-16 top.v
注 :(1 )读者可以定位到本书所提供资料的\intel_dsp_example\example_3_16路径中,用Quartus P rime P ro 2019.4集成开发环境打开该设计。
(2)对于VHDL和Verilog HDL而言,a rem ( % )b结果的符号由a的符号确定。
使用ModelSim-INTEL FPGA STARTER EDITION 2019.2仿真工具对有符号数的除法运算进行仿真,其结果如图3.16所示。
图3.16 有符号数除法运算的仿真结果(反色显示)
思考与练习3-16 :对有符号数除法运算的仿真结果进行分析。
思考与练习3-17 :使用HDL语言描述有符号数除法运算的优势体现在哪些方面?
思考与练习3-18 :在Quartus Prime Pro 2019.4集成开发环境下,分别对有符号数除法运算的VHDL和Verilog HDL设计进行Analysis Synthesis,然后用Technology Map Viewer(Post-Mapping)打开所生成的网表结构,并对该结构进行分析。