用quartus2软件Verilog HDL语言怎么实现三角波形的产生

2024-12-31 10:34:49
推荐回答(5个)
回答1:

哈哈,简单
首先
用matlab
做一个周期的正弦函数,得到一个周期的在每个角度的sin数据,然后将这些数据存到一个mif文件中。
其次,在quartus
II中执行如下步骤,将mif文件转成rom存储文件,这个文件就相当于rom,然后再写个读rom程序把数据读出来,正弦函数就随之度除了
mif转rom步骤如下
quartus
:
1
tools/megawizard
pulg_in
manager
2
creat
a
new....
---->next
3
memory
compiler/
rom
1-port
--->
verilog
hdl---->输入文件名自己定----->next
4
根据要求选择
rom位数
地址数
---->next
5
q
output
port
根据左面图和自己要求可选可不选
---->next
6
选择ye
,....
,将mif文件
brows
进去
,---->next
7--finish

回答2:

module trigle(
input wire clk,
input wire rst_n,
output wire [15:0] out)
parameter period=300, //设定三角波周期=2*period*Tclk
reg state;
always @(posedge clk)
begin
if(!rst_n) begin
out<=0;
state<=0;
end
else begin
case (state)
'b0: begin
out<=out+1;
if(out==period) begin
state<=1;
end
end
'b1: begin
out<=out-1;
if(out==0) begin
state<=0;
end
end
endcase
end
end
endmodule

回答3:

用DDS
基本思想就是ROM查表。或者用NCO都=也可以会比DDS难一些

回答4:

用生成ROM
计算出数值 填进去
一个周期加一 加一

回答5:

加减计数器