最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

數(shù)字IC手撕代碼-半加器、全加器

2022-03-16 14:59 作者:不吃蔥的酸菜魚  | 我要投稿

????????大家好我是酸菜魚,這個系列著重講解數(shù)字IC或FPGA實習面試及秋招面試的高頻手撕代碼題 。

往期代碼題:

數(shù)字ic手撕代碼-導覽目錄 - 嗶哩嗶哩 (bilibili.com)

數(shù)字IC手撕代碼-分頻器(任意奇數(shù)分頻) - 嗶哩嗶哩 (bilibili.com)

數(shù)字IC手撕代碼-序列檢測(狀態(tài)機寫法) - 嗶哩嗶哩 (bilibili.com)

數(shù)字IC手撕代碼-分頻器( 任意小數(shù)分頻) - 嗶哩嗶哩 (bilibili.com)

......

完全內(nèi)容,請前往導覽目錄查看。

半加器:

????????所謂半加器,就是不考慮進位的加法器,只有兩個輸入和兩個輸出;輸入A和B,輸出和數(shù)sum和進位cout,半加器真值表如下:

半加器真值表

????????寫一個半加器其實就是把各個參數(shù)之間的關系用verilog描述出來。很容易可以得到:

從而有verilog代碼:

1bit 半加器

????????然而大多數(shù)公司的手撕代碼完半加器和全加器后,還會讓你手繪門電路,所以在這里我也提一下門電路畫法。

????????門電路其實很好畫,知道了信號之間的與非關系,就很好處理了,比如半加器的cout就是A和B的與,直接用一個兩輸入與門就能連接。而sum是A和B的異或,用一個異或門就可以得到,當然也不排除公司故意不讓你用異或門的情況。異或轉(zhuǎn)換成與門如下:

異或會用門電路畫了,那么半加器的門電路就很簡單了。

全加器:

????????全加器就是在半加器的基礎上引入一個進位輸入,總共三個輸入兩個輸出。全加器真值表如下:

1bit全加器真值表

????????這個不要背表達式,如果背表達式,正式手撕代碼的時候很容易忘記,然后寫錯(雖然全加器很簡單。)我們推導一下表達式。

????????這里的輸出一共有兩個,一個sum,一個進位cout。sum的值是A+B+cin然后去掉進位得到的,也就是說A、B、cin 中,如果輸入1的個數(shù)是奇數(shù),則sum為1,輸入1的個數(shù)為偶數(shù)(含零)則sum為0。根據(jù)這個奇偶判定,可以想到用異或操作,所以得到表達式:

????????cout的值也好分析,cout是加和出來的進位,也就是說,如果A、B、cin三個數(shù)中,有兩個及以上個1,則cout為1,這個容易得到表達式:

代碼:

????????全加器的門電路就不畫了,原理和半加器是一致的,信號有點多容易弄混,所以畫的時候細心一點,就沒什么問題。

數(shù)字IC手撕代碼-半加器、全加器的評論 (共 條)

分享到微博請遵守國家法律
曲周县| 宁波市| 黄平县| 康马县| 松阳县| 黎城县| 微山县| 墨玉县| 汕头市| 江城| 沭阳县| 报价| 通榆县| 襄城县| 万州区| 宁夏| 扶沟县| 喜德县| 乌什县| 安宁市| 峡江县| 马山县| 望谟县| 许昌县| 宣汉县| 邢台县| 团风县| 重庆市| 罗江县| 茶陵县| 民丰县| 乃东县| 郑州市| 安塞县| 高邑县| 阿克苏市| 蓬安县| 宜宾市| 横山县| 贵州省| 乐业县|