日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用FPGA解一道初中數(shù)學(xué)題

Q4MP_gh_c472c21 ? 來源:電子電路開發(fā)學(xué)習(xí) ? 作者:wcc149 ? 2022-05-13 14:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前幾天和同事聊天,他說他上初中的兒子做出了一道很難的數(shù)學(xué)題,想考考我們這些大學(xué)生看能不能做得出來?

題目很簡單:

b04b8f86-d273-11ec-bce3-dac502259ad0.jpg

數(shù)學(xué)題目

大家先嘗試做一下?我沒想出怎么算的,只是用排除法確定了a和b的范圍,然后再逐個(gè)嘗試。

1.對4361進(jìn)行開方計(jì)算,得到結(jié)果最大為66,則a,b的值均小于等于66。

2.對4361/2進(jìn)行開方計(jì)算,則得到結(jié)果為46,則a,b兩者,一個(gè)是1-46,一個(gè)是46-66之間的數(shù)。

3.由平方和4361末尾為1,再根據(jù)整數(shù)平方和的幾種可能,計(jì)算出僅有0+1和5+6這兩種可能,而且平方之后的個(gè)位數(shù)為0/1/5/6,這樣就進(jìn)一步縮小了范圍,通過多次計(jì)算嘗試可以得出結(jié)果。

不過我懶得算了,就簡單寫了個(gè)C語言程序,計(jì)算出了結(jié)果:

#include
#include
#include

intmain(void)
{
intnum;
inta,b,n;
intresult;
intsqr;

printf("pleaseenteranumber:");//4361
scanf("%d",&num);
printf("inputnum:%d
",num);

sqr=sqrt(num);
for(a=1;a<=?sqr;?a++)????????//可以設(shè)置1-46
{
for(b=1;b<=?sqr;?b++)????//可以設(shè)置46-66
{
result=pow(a,2)+pow(b,2);
if(result==num)
{
printf("a=%2d,b=%2d,a+b=%d
",a,b,a+b);
n++;
}
}
}
if(n==0)
printf("Thereisnoanswer!
");

return0;
}

其實(shí)可以設(shè)置一個(gè)數(shù)的循環(huán)范圍是:1-46,一個(gè)數(shù)的循環(huán)范圍是46-66,這樣會(huì)減少循環(huán)次數(shù)。

運(yùn)行結(jié)果:

b06ff7ea-d273-11ec-bce3-dac502259ad0.jpg運(yùn)行結(jié)果

而且這種方式還適用于解的個(gè)數(shù)不唯一的情況,比如7605:

b0e66cfe-d273-11ec-bce3-dac502259ad0.jpg運(yùn)行結(jié)果

作為一個(gè)野生FPGA開發(fā)者,我在想能不能用FPGA的編程思想來實(shí)現(xiàn)呢?也就是如何用Verilog來實(shí)現(xiàn)兩個(gè)循環(huán)的嵌套呢?抄起鍵盤就是干!

verilog源文件fpga_math.v:

modulefpga_math(
//inputs
inputclk,
inputrst_n,

//outputs
outputreg[13:0]a,b,
outputreg[14:0]result,
outputok
);

parameterSUM=4361;
parameterSQR=67;//sqrt(SUM);

reg[13:0]tmp_a;
reg[13:0]tmp_b;
regflag;

assignok=(tmp_a*tmp_a+tmp_b*tmp_b==SUM);

always@(posedgeclk)
begin
if(!rst_n)
tmp_b<=0;
elseif(tmp_b==SQR)
tmp_b<=?0;
elseif(tmp_a!=SQR)
tmp_b<=?tmp_b?+?1;
end

always@(posedgeclk)
begin
if(!rst_n)
flag<=0;
elseif(tmp_b==SQR)
flag<=?1;
else
flag<=?0;
end

always@(posedgeclk)
begin
if(!rst_n)
tmp_a<=0;
elseif((tmp_a!=SQR)&flag)
tmp_a<=?tmp_a?+?1;
end

always@(posedgeclk)
begin
if(!rst_n)
begin
a<=0;
b<=?0;
result<=?0;
end
elseif(ok)
begin
a<=tmp_a;
b<=?tmp_b;
????????result?=?tmp_a?+?tmp_b;
????end
end

endmodule

為了驗(yàn)證這個(gè)模塊的正確性,我們需要對這個(gè)模塊進(jìn)行仿真,即給一個(gè)激勵(lì)輸入信號(hào),看輸出是否正確。

新建testbench文件fpga_math_tb.v:

`timescale1ns/100ps

modulefpga_math_tb;

parameterSUM=4361;
parameterSQR=67;//sqrt(4361)

parameterSYSCLK_PERIOD=10;//100MHZ

wire[13:0]a,b;
wire[14:0]result;

regSYSCLK;
regNSYSRESET;

initial
begin
SYSCLK=1'b0;
NSYSRESET=1'b0;

#(SYSCLK_PERIOD*10)
NSYSRESET=1'b1;
#(SYSCLK_PERIOD*(SQR*SQR+500))
$stop;
end

/*generateclock*/
always@(SYSCLK)
#(SYSCLK_PERIOD/2.0)SYSCLK<=?!SYSCLK;???????

/*instancemodule*/
fpga_math#(
.SUM(SUM),
.SQR(SQR)
)fpga_math_0(
//inputs
.clk(SYSCLK),
.rst_n(NSYSRESET),

//outputs
.a(a),
.b(b),
.result(result),
.ok(ok)
);

endmodule

ModelSim仿真波形:

b115143c-d273-11ec-bce3-dac502259ad0.jpg仿真波形

仿真工具除了使用各大FPGA廠商IDE帶的ModelSim等,也可以使用小巧開源的全平臺(tái)仿真工具:iverilog+gtkwave,使用方法可以參考:

全平臺(tái)輕量開源verilog仿真工具iverilog+GTKWave使用教程

如果使用iverilog進(jìn)行仿真,需要在TB文件中添加以下幾行語句:

/*iverilog*/
initial
begin
$dumpfile("wave.vcd");//生成的vcd文件名稱
$dumpvars(0,fpga_math_tb);//tb模塊名稱
end
/*iverilog*

首先,對Verilog源文件進(jìn)行編譯,檢查是否有語法錯(cuò)誤,這會(huì)在當(dāng)前目錄生成wave目標(biāo)文件:

iverilog-owave*.v

然后通過vvp指令,產(chǎn)生仿真的wave.vcd波形文件:

vvp-nwave-lxt2

使用gtkwave打開波形文件:

gtkwavewave.vcd

當(dāng)然,以上命令也可以寫成批處理文件:

echo"開始編譯"
iverilog-owave*.v
echo"編譯完成"
echo"生成波形文件"
vvp-nwave-lxt2
echo"打開波形文件"
gtkwavewave.vcd

以文本方式存儲(chǔ)為build.bat文件即可,雙擊即可自動(dòng)完成編譯、生成波形文件、打開波形文件操作。

仿真波形:

b134afc2-d273-11ec-bce3-dac502259ad0.jpg仿真波形

可以看出,和使用ModelSim仿真是一樣的結(jié)果。

總結(jié)

從仿真波形圖中,可以得到計(jì)算的結(jié)果,a+b的值為91,如果要在真實(shí)的FPGA芯片硬件上實(shí)現(xiàn),還需要添加其他功能模塊,把結(jié)果通過串口輸出,或者在數(shù)碼管等顯示屏上進(jìn)行顯示,這里只是簡單介紹使用FPGA計(jì)算方法的實(shí)現(xiàn)。

作為純數(shù)字電路的FPGA,實(shí)現(xiàn)平方根是比較復(fù)雜的,這里采用直接人為輸入平方根結(jié)果的方式,而不是像C語言那樣調(diào)用sqrt函數(shù)自動(dòng)計(jì)算平方根。

FPGA中不僅有觸發(fā)器和查找表,而且還有乘法器、除法器等硬核IP,所以在涉及到乘除法、平方根運(yùn)算時(shí),不要直接使用*/等運(yùn)算符,而是要使用FPGA自帶的IP核,這樣就不會(huì)占用大量的邏輯資源,像Xilinx的基于Cordic算法的Cordic IP核,不僅能實(shí)現(xiàn)平方根計(jì)算,而且還有sin/cos/tan/arctan等三角函數(shù)。

END 審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1664

    文章

    22528

    瀏覽量

    640004
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7649

    瀏覽量

    146277
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3725

    瀏覽量

    97478

原文標(biāo)題:如何用FPGA解一道初中數(shù)學(xué)題?

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    MAX9286:四通1.5Gbps GMSL串器的技術(shù)解析

    MAX9286:四通1.5Gbps GMSL串器的技術(shù)解析 在電子設(shè)計(jì)領(lǐng)域,高速數(shù)據(jù)傳輸和處理直是關(guān)鍵需求。今天我們要介紹款非常實(shí)用的器件——MAX9286四通
    的頭像 發(fā)表于 05-12 17:50 ?372次閱讀

    芯片的“第一道體檢”:文讀懂CP測試,半導(dǎo)體人必看!

    在芯片從晶圓到成品的漫長旅程里,有一道看不見卻至關(guān)重要的關(guān)卡——CP測試。它被稱為芯片良率的“守門員”、封裝成本的“節(jié)流閥”,更是半導(dǎo)體產(chǎn)業(yè)鏈里前端制造與后端封測之間的關(guān)鍵樞紐。今天這篇,通俗
    的頭像 發(fā)表于 04-17 10:03 ?640次閱讀
    芯片的“第<b class='flag-5'>一道</b>體檢”:<b class='flag-5'>一</b>文讀懂CP測試,半導(dǎo)體人必看!

    EOL測試系統(tǒng)——電池包下線前的最后一道品質(zhì)防線

    在儲(chǔ)能電池包的生產(chǎn)線上,EOL測試系統(tǒng) 是產(chǎn)品交付前的最后一道關(guān)口,也是最重要的品質(zhì)防線。EOL測試的全面性與可靠性,直接決定了流入市場的儲(chǔ)能產(chǎn)品是否存在早期失效風(fēng)險(xiǎn)。 個(gè)完整的電池包EOL測試
    的頭像 發(fā)表于 03-23 16:40 ?473次閱讀
    EOL測試系統(tǒng)——電池包下線前的最后<b class='flag-5'>一道</b>品質(zhì)防線

    SGM7300AN:高性能2通2:1復(fù)用/復(fù)用開關(guān)

    SGM7300AN:高性能2通2:1復(fù)用/復(fù)用開關(guān) 在高速串行接口應(yīng)用領(lǐng)域,款性能卓越的開關(guān)器件能為系統(tǒng)帶來更穩(wěn)定、高效的信號(hào)傳輸。今天,我們就來深入了解下SGMICRO推出
    的頭像 發(fā)表于 03-17 16:30 ?241次閱讀

    紅區(qū)破局之道:為什么防逆流裝置是“第一道防線”?

    當(dāng)之無愧的“第一道防線”。它不像四可裝置那樣兼具“可觀可測、可控可調(diào)”的全鏈條能力,卻能以最直接、最精準(zhǔn)的方式,守住紅區(qū)光伏并網(wǎng)的安全底線,為后續(xù)精細(xì)化管控、高效消納筑牢基礎(chǔ)——沒有這道防線,紅區(qū)光伏的合規(guī)運(yùn)營、收益保障都將無從談起。
    的頭像 發(fā)表于 03-16 15:32 ?816次閱讀
    紅區(qū)破局之道:為什么防逆流裝置是“第<b class='flag-5'>一道</b>防線”?

    智慧礦山能耗監(jiān)測新模式!投入減半,運(yùn)維0成本!

    國家“雙碳”戰(zhàn)略的發(fā)條越擰越緊。對于礦山、化工、建材等高耗能行業(yè)來說,這不再是一道“加分”,而是一道“生死”。尤其是礦石選別環(huán)節(jié),破碎、篩分、磨礦三大工序的電耗占比往往超過全廠的7
    的頭像 發(fā)表于 02-04 17:02 ?603次閱讀
    智慧礦山能耗監(jiān)測新模式!投入減半,運(yùn)維0成本!

    SCAN926260:六通1:10總線LVDS串器的深度剖析

    SCAN926260:六通1:10總線LVDS串器的深度剖析 在電子設(shè)計(jì)領(lǐng)域,數(shù)據(jù)傳輸?shù)母咝院头€(wěn)定性至關(guān)重要。今天,我們要深入探討款功能強(qiáng)大的串器——SCAN926260,它
    的頭像 發(fā)表于 12-30 15:05 ?443次閱讀

    3秒響應(yīng)、實(shí)時(shí)告警!智能井蓋如何成為城市安全的“第一道防線”?

    IP68防護(hù)、-40℃~80℃寬溫運(yùn)行及10年超長續(xù)航,支持自定義報(bào)警閾值與多級(jí)告警機(jī)制,大幅降低誤報(bào)率。作為城市物聯(lián)網(wǎng)感知層的關(guān)鍵節(jié)點(diǎn),智能井蓋已融入智慧城管與應(yīng)急管理體系,成為守護(hù)市民腳下安全的“第一道防線”。
    的頭像 發(fā)表于 12-09 11:57 ?511次閱讀
    3秒響應(yīng)、實(shí)時(shí)告警!智能井蓋如何成為城市安全的“第<b class='flag-5'>一道</b>防線”?

    不間斷電源(UPS):電力保障的“最后一道防線”

    (UninterruptiblePowerSupply,簡稱UPS)作為電力保障的“最后一道防線”,通過儲(chǔ)能裝置與智能轉(zhuǎn)換技術(shù),在市電中斷時(shí)實(shí)現(xiàn)零切換時(shí)間供電,成為現(xiàn)代社會(huì)的“電力守護(hù)者”。、UP
    的頭像 發(fā)表于 10-29 09:02 ?2077次閱讀
    不間斷電源(UPS):電力保障的“最后<b class='flag-5'>一道</b>防線”

    鉛酸蓄電池在線監(jiān)測:為關(guān)鍵基礎(chǔ)設(shè)施筑牢“最后一道防線”

    在數(shù)據(jù)中心、通信基站、軌道交通等關(guān)鍵應(yīng)用場景中,蓄電池組往往是供電系統(tǒng)的“最后一道屏障”。旦蓄電池出現(xiàn)故障,可能導(dǎo)致系統(tǒng)斷電、數(shù)據(jù)丟失甚至設(shè)備損壞,帶來不可估量的經(jīng)濟(jì)損失和安全風(fēng)險(xiǎn)。因此,對蓄電池
    的頭像 發(fā)表于 09-23 09:31 ?828次閱讀
    鉛酸蓄電池在線監(jiān)測:為關(guān)鍵基礎(chǔ)設(shè)施筑牢“最后<b class='flag-5'>一道</b>防線”

    【賽補(bǔ)充說明】2025全國大學(xué)生FPGA創(chuàng)新設(shè)計(jì)競賽紫光同創(chuàng)杯賽

    【賽發(fā)布】2025年全國大學(xué)生FPGA創(chuàng)新設(shè)計(jì)競賽紫光同創(chuàng)杯賽邀您鴻圖展翼共赴芯程!【賽知多少】紫光同創(chuàng)賽答疑專場|2025年全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計(jì)競賽
    的頭像 發(fā)表于 09-12 16:03 ?2591次閱讀
    【賽<b class='flag-5'>題</b>補(bǔ)充說明】2025全國大學(xué)生<b class='flag-5'>FPGA</b>創(chuàng)新設(shè)計(jì)競賽紫光同創(chuàng)杯賽

    【賽教程】基于RK3568+PG2L50H實(shí)現(xiàn)八路視頻輸入?yún)⒖挤桨?/a>

    【賽發(fā)布】2025年全國大學(xué)生FPGA創(chuàng)新設(shè)計(jì)競賽紫光同創(chuàng)杯賽邀您鴻圖展翼共赴芯程!重磅!全國FPGA大賽紫光同創(chuàng)杯提交作品即送FPGA開發(fā)板!【賽
    的頭像 發(fā)表于 09-12 16:03 ?1851次閱讀
    【賽<b class='flag-5'>題</b>教程】基于RK3568+PG2L50H實(shí)現(xiàn)八路視頻輸入?yún)⒖挤桨? />    </a>
</div>                              <div   id=

    頂堅(jiān)國產(chǎn)防爆手持終端如何成為石化企業(yè)安全生產(chǎn)的第一道防線

    頂堅(jiān)國產(chǎn)防爆手持終端之所以能成為石化企業(yè)安全生產(chǎn)的第一道防線,源于其通過防爆設(shè)計(jì)、功能集成、實(shí)時(shí)交互與系統(tǒng)協(xié)同,從物理安全、功能安全、管理安全、應(yīng)急安全等維度,覆蓋了安全生產(chǎn)的全流程(預(yù)防、監(jiān)測
    的頭像 發(fā)表于 08-26 10:31 ?1030次閱讀
    頂堅(jiān)國產(chǎn)防爆手持終端如何成為石化企業(yè)安全生產(chǎn)的第<b class='flag-5'>一道</b>防線

    國產(chǎn)替代最優(yōu) 易沖半導(dǎo)體推出12/16通ADB大燈LED矩陣控制器

    國產(chǎn)替代最優(yōu) 易沖半導(dǎo)體推出12/16通ADB大燈LED矩陣控制器
    的頭像 發(fā)表于 08-08 16:21 ?2.7w次閱讀
    國產(chǎn)替代最優(yōu)<b class='flag-5'>解</b> 易沖半導(dǎo)體推出12/16通<b class='flag-5'>道</b>ADB大燈LED矩陣控制器

    【賽知多少】 紫光同創(chuàng)賽答疑專場|2025年全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計(jì)競賽FPGA賽道

    紫光同創(chuàng)賽道答疑專場來啦!2025年全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計(jì)競賽報(bào)名已拉開帷幕,FPGA賽道的挑戰(zhàn)與創(chuàng)新并存。近期,我們收到許多關(guān)于賽的咨詢,小眼睛科技團(tuán)隊(duì)第時(shí)間整理了大家的疑問,并帶來
    的頭像 發(fā)表于 08-06 11:02 ?3891次閱讀
    【賽<b class='flag-5'>題</b>知多少】 紫光同創(chuàng)賽<b class='flag-5'>題</b>答疑專場|2025年全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計(jì)競賽<b class='flag-5'>FPGA</b>賽道
    邳州市| 晋州市| 堆龙德庆县| 夏河县| 太谷县| 泸州市| 霍山县| 长春市| 涞水县| 新平| 西宁市| 南岸区| 祁东县| 开封县| 临沂市| 南江县| 武宁县| 宝应县| 上蔡县| 肥西县| 台北市| 芦山县| 永新县| 普陀区| 射阳县| 桐庐县| 蒙城县| 商河县| 潍坊市| 五大连池市| 卓资县| 宿州市| 德州市| 东安县| 阿荣旗| 龙州县| 芦山县| 古浪县| 遂川县| 莱阳市| 嘉禾县|